The target-s3tables loader sends data into S3Tables after it was pulled from a source using an extractor
Getting Started
Prerequisites
If you haven't already, follow the initial steps of the Getting Started guide:
Installation and configuration
-
Add the target-s3tables loader to your
project using
:meltano add -
Configure the target-s3tables
settings using
:meltano config
meltano add target-s3tablesmeltano config target-s3tables set --interactiveNext steps
Follow the remaining steps of the Getting Started guide:
If you run into any issues, learn how to get help.
Capabilities
The current capabilities for
target-s3tables
may have been automatically set when originally added to the Hub. Please review the
capabilities when using this loader. If you find they are out of date, please
consider updating them by making a pull request to the YAML file that defines the
capabilities for this loader.
This plugin has the following capabilities:
- about
- schema-flattening
- stream-maps
- structured-logging
- validate-records
You can
override these capabilities or specify additional ones
in your meltano.yml by adding the capabilities key.
Settings
The
target-s3tables settings that are known to Meltano are documented below. To quickly
find the setting you're looking for, click on any setting name from the list:
account_idaws_access_key_idaws_secret_access_keyaws_session_tokenbatch_max_bytesbatch_size_rowscatalog_modecreate_tablesdebug_httpevolve_schemaflattening_max_key_lengthglue_uriglue_warehouselog_levelnamespaceregions3tables_urisanitize_namessigning_namesigning_regionsigv4_enabledsnapshot_propertiestable_bucket_arntable_bucket_nametable_name_mappingtable_name_prefixtable_propertieswrite_mode
You can also list these settings using
with the meltano configlist
subcommand:
meltano config target-s3tables list
You can
override these settings or specify additional ones
in your meltano.yml by adding the settings key.
Please consider adding any settings you have defined locally to this definition on MeltanoHub by making a pull request to the YAML file that defines the settings for this plugin.
Account ID (account_id)
-
Environment variable:
TARGET_S3TABLES_ACCOUNT_ID
AWS account id (used to build glue_warehouse if not provided).
Configure this setting directly using the following Meltano command:
meltano config target-s3tables set account_id [value]AWS Access Key ID (aws_access_key_id)
-
Environment variable:
TARGET_S3TABLES_AWS_ACCESS_KEY_ID
Optional AWS access key id override (otherwise use default AWS credential chain).
Configure this setting directly using the following Meltano command:
meltano config target-s3tables set aws_access_key_id [value]AWS Secret Access Key (aws_secret_access_key)
-
Environment variable:
TARGET_S3TABLES_AWS_SECRET_ACCESS_KEY
Optional AWS secret access key override (otherwise use default AWS credential chain).
Configure this setting directly using the following Meltano command:
meltano config target-s3tables set aws_secret_access_key [value]AWS Session Token (aws_session_token)
-
Environment variable:
TARGET_S3TABLES_AWS_SESSION_TOKEN
Optional AWS session token override.
Configure this setting directly using the following Meltano command:
meltano config target-s3tables set aws_session_token [value]Batch Max Bytes (batch_max_bytes)
-
Environment variable:
TARGET_S3TABLES_BATCH_MAX_BYTES
Optional approximate byte limit for an in-memory batch.
Configure this setting directly using the following Meltano command:
meltano config target-s3tables set batch_max_bytes [value]Batch Size Rows (batch_size_rows)
-
Environment variable:
TARGET_S3TABLES_BATCH_SIZE_ROWS -
Default Value:
5000
Max rows per Iceberg commit.
Configure this setting directly using the following Meltano command:
meltano config target-s3tables set batch_size_rows [value]Catalog Mode (catalog_mode)
-
Environment variable:
TARGET_S3TABLES_CATALOG_MODE -
Default Value:
glue_rest
Iceberg REST catalog mode to use (AWS Glue recommended).
Configure this setting directly using the following Meltano command:
meltano config target-s3tables set catalog_mode [value]Create Tables (create_tables)
-
Environment variable:
TARGET_S3TABLES_CREATE_TABLES -
Default Value:
true
Create Iceberg tables when missing.
Configure this setting directly using the following Meltano command:
meltano config target-s3tables set create_tables [value]Debug Http (debug_http)
-
Environment variable:
TARGET_S3TABLES_DEBUG_HTTP -
Default Value:
false
Enable debug logging for HTTP/SigV4 interactions.
Configure this setting directly using the following Meltano command:
meltano config target-s3tables set debug_http [value]Evolve Schema (evolve_schema)
-
Environment variable:
TARGET_S3TABLES_EVOLVE_SCHEMA -
Default Value:
true
Evolve Iceberg schema when stream schema changes.
Configure this setting directly using the following Meltano command:
meltano config target-s3tables set evolve_schema [value]Max Key Length (flattening_max_key_length)
-
Environment variable:
TARGET_S3TABLES_FLATTENING_MAX_KEY_LENGTH
The maximum length of a flattened key.
Configure this setting directly using the following Meltano command:
meltano config target-s3tables set flattening_max_key_length [value]Glue Uri (glue_uri)
-
Environment variable:
TARGET_S3TABLES_GLUE_URI
Glue Iceberg REST endpoint URI. Defaults to https://glue.
Configure this setting directly using the following Meltano command:
meltano config target-s3tables set glue_uri [value]Glue Warehouse (glue_warehouse)
-
Environment variable:
TARGET_S3TABLES_GLUE_WAREHOUSE
Glue warehouse string:
Configure this setting directly using the following Meltano command:
meltano config target-s3tables set glue_warehouse [value]Log Level (log_level)
-
Environment variable:
TARGET_S3TABLES_LOG_LEVEL
Optional log level override for this process (e.g. DEBUG, INFO).
Configure this setting directly using the following Meltano command:
meltano config target-s3tables set log_level [value]Namespace (namespace)
-
Environment variable:
TARGET_S3TABLES_NAMESPACE -
Default Value:
default
Iceberg namespace (database).
Configure this setting directly using the following Meltano command:
meltano config target-s3tables set namespace [value]Region (region)
-
Environment variable:
TARGET_S3TABLES_REGION
AWS region for the Iceberg REST endpoint (e.g. us-east-1).
Configure this setting directly using the following Meltano command:
meltano config target-s3tables set region [value]S3Tables Uri (s3tables_uri)
-
Environment variable:
TARGET_S3TABLES_S3TABLES_URI
S3 Tables Iceberg REST endpoint URI. Defaults to https://s3tables.
Configure this setting directly using the following Meltano command:
meltano config target-s3tables set s3tables_uri [value]Sanitize Names (sanitize_names)
-
Environment variable:
TARGET_S3TABLES_SANITIZE_NAMES -
Default Value:
true
Sanitize stream/table/column names to Iceberg/AWS-friendly identifiers.
Configure this setting directly using the following Meltano command:
meltano config target-s3tables set sanitize_names [value]Signing Name (signing_name)
-
Environment variable:
TARGET_S3TABLES_SIGNING_NAME
SigV4 signing name (defaults to glue or s3tables based on mode).
Configure this setting directly using the following Meltano command:
meltano config target-s3tables set signing_name [value]Signing Region (signing_region)
-
Environment variable:
TARGET_S3TABLES_SIGNING_REGION
SigV4 signing region (defaults to region).
Configure this setting directly using the following Meltano command:
meltano config target-s3tables set signing_region [value]Sigv4 Enabled (sigv4_enabled)
-
Environment variable:
TARGET_S3TABLES_SIGV4_ENABLED -
Default Value:
true
Enable AWS SigV4 request signing for the Iceberg REST catalog.
Configure this setting directly using the following Meltano command:
meltano config target-s3tables set sigv4_enabled [value]Snapshot Properties (snapshot_properties)
-
Environment variable:
TARGET_S3TABLES_SNAPSHOT_PROPERTIES -
Default Value:
{}
Snapshot properties passed to append/overwrite calls (when supported).
Configure this setting directly using the following Meltano command:
meltano config target-s3tables set snapshot_properties [value]Table Bucket Arn (table_bucket_arn)
-
Environment variable:
TARGET_S3TABLES_TABLE_BUCKET_ARN
Table bucket ARN: arn:aws:s3tables:
Configure this setting directly using the following Meltano command:
meltano config target-s3tables set table_bucket_arn [value]Table Bucket Name (table_bucket_name)
-
Environment variable:
TARGET_S3TABLES_TABLE_BUCKET_NAME
S3 Tables table bucket name (used to build glue_warehouse if not provided).
Configure this setting directly using the following Meltano command:
meltano config target-s3tables set table_bucket_name [value]Table Name Mapping (table_name_mapping)
-
Environment variable:
TARGET_S3TABLES_TABLE_NAME_MAPPING -
Default Value:
{}
Mapping of Singer stream name -> Iceberg table name.
Configure this setting directly using the following Meltano command:
meltano config target-s3tables set table_name_mapping [value]Table Name Prefix (table_name_prefix)
-
Environment variable:
TARGET_S3TABLES_TABLE_NAME_PREFIX
Prefix applied to all Iceberg table names.
Configure this setting directly using the following Meltano command:
meltano config target-s3tables set table_name_prefix [value]Table Properties (table_properties)
-
Environment variable:
TARGET_S3TABLES_TABLE_PROPERTIES -
Default Value:
{}
Iceberg table properties passed at create_table time.
Configure this setting directly using the following Meltano command:
meltano config target-s3tables set table_properties [value]Write Mode (write_mode)
-
Environment variable:
TARGET_S3TABLES_WRITE_MODE -
Default Value:
append
Write mode: append for incremental; overwrite to replace table contents.
Configure this setting directly using the following Meltano command:
meltano config target-s3tables set write_mode [value]Expand To Show SDK Settings
Add Record Metadata (add_record_metadata)
-
Environment variable:
TARGET_S3TABLES_ADD_RECORD_METADATA
Whether to add metadata fields to records.
Configure this setting directly using the following Meltano command:
meltano config target-s3tables set add_record_metadata [value]Faker Locale (faker_config.locale)
-
Environment variable:
TARGET_S3TABLES_FAKER_CONFIG_LOCALE
One or more LCID locale strings to produce localized output for: https://faker.readthedocs.io/en/master/#localization
Configure this setting directly using the following Meltano command:
meltano config target-s3tables set faker_config locale [value]Faker Seed (faker_config.seed)
-
Environment variable:
TARGET_S3TABLES_FAKER_CONFIG_SEED
Value to seed the Faker generator for deterministic output: https://faker.readthedocs.io/en/master/#seeding-the-generator
Configure this setting directly using the following Meltano command:
meltano config target-s3tables set faker_config seed [value]Enable Schema Flattening (flattening_enabled)
-
Environment variable:
TARGET_S3TABLES_FLATTENING_ENABLED
'True' to enable schema flattening and automatically expand nested properties.
Configure this setting directly using the following Meltano command:
meltano config target-s3tables set flattening_enabled [value]Max Flattening Depth (flattening_max_depth)
-
Environment variable:
TARGET_S3TABLES_FLATTENING_MAX_DEPTH
The max depth to flatten schemas.
Configure this setting directly using the following Meltano command:
meltano config target-s3tables set flattening_max_depth [value]Load Method (load_method)
-
Environment variable:
TARGET_S3TABLES_LOAD_METHOD -
Default Value:
append-only
The method to use when loading data into the destination. append-only will always write all input records whether that records already exists or not. upsert will update existing records and insert new records. overwrite will delete all existing records and insert all input records.
Configure this setting directly using the following Meltano command:
meltano config target-s3tables set load_method [value]User Stream Map Configuration (stream_map_config)
-
Environment variable:
TARGET_S3TABLES_STREAM_MAP_CONFIG
User-defined config values to be used within map expressions.
Configure this setting directly using the following Meltano command:
meltano config target-s3tables set stream_map_config [value]Stream Maps (stream_maps)
-
Environment variable:
TARGET_S3TABLES_STREAM_MAPS
Config object for stream maps capability. For more information check out Stream Maps.
Configure this setting directly using the following Meltano command:
meltano config target-s3tables set stream_maps [value]Validate Records (validate_records)
-
Environment variable:
TARGET_S3TABLES_VALIDATE_RECORDS -
Default Value:
true
Whether to validate the schema of the incoming streams.
Configure this setting directly using the following Meltano command:
meltano config target-s3tables set validate_records [value]Something missing?
This page is generated from a YAML file that you can contribute changes to.
Edit it on GitHub!Looking for help?
#plugins-general
channel.


