Last updated:|... min read
S3 Parquet
OLake Go supports writing in parquet format directly to S3. Before proceeding with the S3 Parquet destination, we recommend reviewing the Getting Started and Installation sections.
Prerequisitesβ
- Before setting up the destination, make sure you have successfully set up the
source. - AWS S3: Review the minimum required IAM Permissions for S3 Parquet Writer.
- GCS: Review GCP IAM Permission for role-based access, and create HMAC keys for your service account to use as S3 credentials. See Creation of HMAC Keys below.
Configurationβ
- OLake UI
- OLake CLI
- Before setting up the destination, make sure you have successfully set up the source.

| Key | Description | Data Type | Probable Values |
|---|---|---|---|
| S3 Bucket | The name of the Amazon/Google S3 bucket (without s3:// or gs://) where your output files will be stored. Ensure that the bucket exists and that you have proper access. | string | A valid S3 bucket name (e.g. "olake-s3-test") |
| S3 Region | The AWS/MinIO/GCS region where the specified S3 bucket is hosted. | string | AWS/GCS region codes such as "ap-south-1", "us-west-2", etc. |
| S3 Access Key | The AWS/MinIO/GCS HMAC access key used for authenticating S3 requests. | string | A valid AWS/GCS HMAC access key |
| S3 Secret Key | The AWS/MinIO/GCS HMAC secret key used for S3 authentication. This key should be kept secure. | string | A valid AWS/GCS HMAC secret key |
| S3 Path | The specific path (or prefix) within the S3 bucket where data files will be written. This is typically a folder path that starts with a / (e.g. "/data"). | string | A valid path string |
| S3 Endpoint | (Optional) Custom S3-compatible endpoint. Required when using GCS HMAC keys or MinIO S3. | string | "https://storage.googleapis.com", "https://<MinIO-Storage-Endpoint>:9000" |
| Max File Size (MB) | (Optional) Rolls a partition into a new parquet file once the current file reaches this size in MB. Fractional values are allowed. Defaults to 512 when unset. | number | A positive number (integers e.g. 512, 128 or fractional e.g. 0.1 for 100KB) |
destination.json
{
"type": "PARQUET",
"writer": {
"s3_bucket": "<BUCKET_NAME>",
"s3_region": "ap-south-1",
"s3_access_key": "XXX",
"s3_secret_key": "XXX",
"s3_path": "/data",
"s3_endpoint": "http://<S3_ENDPOINT>:9000"
}
}
| Key | Description | Data Type | Probable Values |
|---|---|---|---|
| type | Specifies the output file format for writing data. Currently, only the "PARQUET" format is supported. | string | "PARQUET" |
| s3_bucket | The name of the Amazon S3/GCS bucket (without s3:// or gs://) where your output files will be stored. Ensure that the bucket exists and that you have proper access. | string | A valid S3 bucket name (e.g. "olake-s3-test") |
| s3_region | The AWS/GCS region where the specified S3 bucket is hosted. | string | AWS/GCS region codes such as "us-west-2", "ap-south-1", etc. |
| s3_access_key | The AWS/GCS HMAC access key used for authenticating S3 requests. | string | A valid AWS/GCS HMAC access key |
| s3_secret_key | The AWS/GCS HMAC secret key used for S3 authentication. This key should be kept secure. | string | A valid AWS/GCS HMAC secret key |
| s3_endpoint | (Optional) The custom endpoint for S3-compatible services. Required for GCS using HMAC keys. | string | "https://storage.googleapis.com" |
| s3_path | (Optional) The specific path (or prefix) within the S3 bucket where data files will be written. This is typically a folder path that starts with a / (e.g. "/data"). | string | A valid path string |
| max_file_size_mb | (Optional) Rolls a partition into a new parquet file once the current file reaches this size in MB. Fractional values are allowed. Defaults to 512 when unset. | number | A positive number (integers e.g. 512, 128 or fractional e.g. 0.1 for 100KB) |
info
- The generated
.parquetfiles use SNAPPY compression (Read more). Note that SNAPPY is no longer supported by S3 Select when performing queries. - OLake Go creates a test folder named
olake_writer_testcontaining a single text file (.txt) with the content:This is used to verify that you have the necessary permissions to write to S3.S3 write test