Skip to main content
Parquet is a columnar storage format optimized for analytics, offering efficient compression and fast reads. This destination writes your Lakehouse tables to an Amazon S3 bucket as compressed Parquet datasets, ready to be consumed by Athena, Spark, pandas, or any Parquet-compatible tool.

1. Add your AWS S3 access

  1. In the Destinations tab, click on the “Add destination” button located on the top right of your screen. Then, select the Parquet (AWS S3) option from the list of connectors.
  2. Click Next and you’ll be prompted to add your access:

Required Configuration

  • Bucket name: The AWS S3 bucket name where you want to store the Parquet files.

AWS Authentication

Three authentication methods are supported:
  1. Access keys — provide an Access key ID and Secret access key created in the AWS IAM console.
  2. IAM role — provide an Assume IAM Role ARN (e.g. arn:aws:iam::123456789012:role/MyRole). Nekt assumes the role via STS with automatically refreshed credentials, so you don’t need to share access keys.
  3. None — leave all authentication fields empty to use the AWS account where your pipelines run (e.g. for Nekt-managed buckets, pattern: nekt-lakehouse-{company-name}).
To create AWS credentials for accessing your S3 bucket:
  1. Log in to your AWS IAM Console
  2. Navigate to Users and select your user (or create a new one)
  3. Go to the Security credentials tab
  4. Click Create access key
  5. Select Application running outside AWS or Other as the use case
  6. Copy the Access Key ID and Secret Access Key (you won’t be able to see the secret again)
Required IAM Permissions:Your AWS user/role needs the following S3 permissions:
s3:DeleteObject is required because each sync replaces the table folder contents.

File Configuration

  • Output folder path: Folder path where to store the output tables inside the S3 bucket. Leave empty if the tables should be stored in the bucket’s root folder.
    • Example: data/exports or reports/daily
  • Table folder name: A custom folder name for the output table. If empty, the name of the table being sent is used.
  • Compression: (Advanced, default: snappy) Compression codec used when writing the Parquet files (snappy or gzip).
  1. Click Next.

Output layout

Each table is written as a Parquet dataset:
Each sync replaces the table folder contents, so the destination always mirrors the current state of the table in Nekt. The _nekt_sync_at partition carries the UTC timestamp of the sync that wrote the data.

2. Select your data to send

  1. The next step is letting us know which data you want to export to S3. Select the layer and then the desired table.
    Tip: The table can be found more easily by typing its name.
  2. Click Next.

3. Configure your Parquet (AWS S3) data destination

  1. Describe your destination for easy identification within your organization. You can inform things like what data it exports, to which team it belongs, etc.
  2. To define your Trigger, consider how frequently you need to have the data updated in S3 (every day, once a week, only at specific times, etc.).
  3. Click Done.

4. Check your new destination

  1. Once completed, you’ll receive confirmation that your new destination is set up!
  2. You can view your new destination on the Destinations page. The pipeline will run according to your configured trigger schedule. You can monitor it on the Destinations page to see its execution and completion.
  3. If needed, manually trigger the pipeline by clicking on the refresh icon. Once executed, your Parquet files will be available in your S3 bucket at the path you specified.
You can query the exported datasets directly with Athena, Spark, DuckDB, or pandas — they all read the Hive-style _nekt_sync_at partitioning natively.
Make sure your S3 bucket has the appropriate permissions and policies configured to prevent unauthorized access to your data.
If you encounter any issues, reach out to us via Slack, and we’ll gladly assist you!