Public datasets
Polars Nanook hosts three public Parquet datasets for testing queries at different data sizes, in a Requester Pays S3 bucket.
- PDS-H, derived from the TPC-H benchmark, 10 GB to 1 TB, for joins, aggregations and filters. The queries are in the Polars benchmark repository.
- PDS-DS, derived from the TPC-DS decision support benchmark, 1 GB to 300 GB.
- NYC Taxi, the yellow taxi NYC trip records of 2023 and 2024, one file per month.
How do I read a public dataset in a Polars Nanook query?
Scan any dataset from your Polars code and execute the query remotely. This template scans one table with the Requester Pays option and runs a query on it:
import polars as pl
import polars_nanook as pn
ctx: pn.ComputeContext | pn.ClusterContext
data = pl.scan_parquet(
"s3://polars-cloud-samples-us-east-2-prd/pdsh/sf10/lineitem.parquet",
storage_options={"request_payer": "true", "aws_region": "us-east-2"}
)
df = data.select(pl.len()).remote(ctx).collect()
Replace the path with any path listed below. aws_region names the bucket's region, so the scan
also works where another AWS region is configured, such as AWS_REGION on EKS.
Note
This bucket uses
AWS Requester Pays,
so you pay only for the requests and the data you download from the bucket. You do not pay for
storage. The workers need AWS credentials allowed to read
polars-cloud-samples-us-east-2-prd. If they don't have them, copy the data to your own bucket.
Where is each dataset and how large is it?
All datasets are hosted in AWS region us-east-2. Run compute in us-east-2 for the lowest
latency.
PDS-H (TPC-H derived)
| Scale Factor | Size | URL Pattern | Format |
|---|---|---|---|
| SF10 | ~10GB | s3://polars-cloud-samples-us-east-2-prd/pdsh/sf10/<TABLE>.parquet |
Single files |
| SF100 | ~100GB | s3://polars-cloud-samples-us-east-2-prd/pdsh/sf100/<TABLE>/*.parquet |
Partitioned |
| SF1000 | ~1TB | s3://polars-cloud-samples-us-east-2-prd/pdsh/sf1000/<TABLE>/*.parquet |
Partitioned |
Example:
data = pl.scan_parquet(
"s3://polars-cloud-samples-us-east-2-prd/pdsh/sf100/lineitem/*.parquet",
storage_options={"request_payer": "true", "aws_region": "us-east-2"}
)
PDS-DS (TPC-DS derived)
| Scale Factor | Size | URL Pattern |
|---|---|---|
| SF1 | ~1GB | s3://polars-cloud-samples-us-east-2-prd/pdsds/sf1/<TABLE>.parquet |
| SF10 | ~10GB | s3://polars-cloud-samples-us-east-2-prd/pdsds/sf10/<TABLE>.parquet |
| SF100 | ~100GB | s3://polars-cloud-samples-us-east-2-prd/pdsds/sf100/<TABLE>.parquet |
| SF300 | ~300GB | s3://polars-cloud-samples-us-east-2-prd/pdsds/sf300/<TABLE>.parquet |
Example:
data = pl.scan_parquet(
"s3://polars-cloud-samples-us-east-2-prd/pdsds/sf10/store_sales.parquet",
storage_options={"request_payer": "true", "aws_region": "us-east-2"}
)
NYC Taxi
| Year | URL Pattern |
|---|---|
| 2023 | s3://polars-cloud-samples-us-east-2-prd/taxi/2023/yellow_tripdata_2023-<MM>.parquet |
| 2024 | s3://polars-cloud-samples-us-east-2-prd/taxi/2024/yellow_tripdata_2024-<MM>.parquet |
Example:
data = pl.scan_parquet(
"s3://polars-cloud-samples-us-east-2-prd/taxi/2024/"
"yellow_tripdata_2024-01.parquet",
storage_options={"request_payer": "true", "aws_region": "us-east-2"}
)