AWS S3 External
Guide to integrate your S3 data into external table in Athena or Redshift Spectrum
S3 External is a datasource connection, which creates an external table in Athena or Redshift Spectrum, automatically by inferring the schema of the data. The data is not loaded into the warehouse, instead data is read from the source location itself when queries are run on the data warehouse.
Datasource Concepts
Before setting up the datasource, learn about datasource concepts here
Step by Step Guide
STEP-1: Configure Connection
To learn about Connection, refer here
Log into Sprinkle application
Navigate to Datasources -> Connections Tab -> New Connection ->
Select S3 External
Provide all the mandatory details
Name: Name to identify this connection
Access Key: Account -> My security credentials -> Access keys -> Create new access key -> Download key file -> Show access key. To know more, click here
Secret key: Account -> My security credentials -> Access keys -> Create new access key -> Download key file -> Show secret key. To know more: click here
Region: Region should be where the storage bucket was created, for example ap-south-1
Bucket Name
Test Connection
Create
STEP-2: Configure datasource
To learn about datasource, refer here
Navigate to Datasources -> Datasources Tab -> Add ->
Select S3 External
Provide the name -> Create
Connection Tab:
From the drop-down, select the name of connection created in STEP-2
Update
STEP-3: Create Dataset
Datasets Tab: To learn about Dataset, refer here. Add Dataset for each folder that you want to replicate, providing following details
File Type: Select the File Format
JSON
CSV
Select Delimiter - Comma, Tab, Pipe, Dash, Other Character
Parquet
ORC
Compression Type (Required): Select from none, bzip2, gzip, snappy
Directory Path (Required) :Provide the full path like this: s3a://test-sprinkle-a/s3Ingest/s3Ingest13
Flatten Level (Required): Select One Level or Multi Level. In one level, flattening will not be applied on complex type. They will be stored as string. In multi level, flattening will be applied in complex level till they become simple type.
Destination Schema (Required) : Data warehouse schema where the table will be created
Destination Table name (Required) : It is the table name to be created on the warehouse. If not given, sprinkle will create like ds_<datasourcename>_<tablename>
Destination Create Table Clause: Provide additional clauses to warehouse-create table queries such as clustering, partitioning, and more, useful for optimizing DML statements. Learn more on how to use this field.
Create
STEP-4: Run and schedule Ingestion
In the Ingestion Jobs tab:
Trigger the Job, using Run button
To schedule, enable Auto-Run. Change the frequency if needed
Last updated