The target-cratedb loader sends data into CrateDB 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-cratedb loader to your
project using
:meltano add -
Configure the target-cratedb
settings using
:meltano config
meltano add target-cratedbmeltano config target-cratedb 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-cratedb
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
- activate-version
- hard-delete
- schema-flattening
- stream-maps
- structured-logging
- target-schema
- validate-records
You can
override these capabilities or specify additional ones
in your meltano.yml by adding the capabilities key.
Settings
The
target-cratedb 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:
activate_versionbatch_size_rowsdialect+driverflattening_max_key_lengthhostinterpret_content_encodingpasswordportprocess_activate_version_messagessanitize_null_text_characterssqlalchemy_urlssh_tunnel.enablessh_tunnel.hostssh_tunnel.portssh_tunnel.private_keyssh_tunnel.private_key_passwordssh_tunnel.usernameuser
You can also list these settings using
with the meltano configlist
subcommand:
meltano config target-cratedb 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.
Activate Version (activate_version)
-
Environment variable:
TARGET_CRATEDB_ACTIVATE_VERSION -
Default Value:
true
If set to false, the tap will ignore activate version messages. If set to true, add_record_metadata must be set to true as well.
Configure this setting directly using the following Meltano command:
meltano config target-cratedb set activate_version [value]Batch Size Rows (batch_size_rows)
-
Environment variable:
TARGET_CRATEDB_BATCH_SIZE_ROWS
Maximum number of rows in each batch.
Configure this setting directly using the following Meltano command:
meltano config target-cratedb set batch_size_rows [value]Dialect+Driver (dialect+driver)
-
Environment variable:
TARGET_CRATEDB_DIALECT+DRIVER -
Default Value:
postgresql+psycopg
DEPRECATED. Dialect+driver see https://docs.sqlalchemy.org/en/20/core/engines.html. Generally just leave this alone.
Configure this setting directly using the following Meltano command:
meltano config target-cratedb set dialect+driver [value]Max Key Length (flattening_max_key_length)
-
Environment variable:
TARGET_CRATEDB_FLATTENING_MAX_KEY_LENGTH
The maximum length of a flattened key.
Configure this setting directly using the following Meltano command:
meltano config target-cratedb set flattening_max_key_length [value]Host (host)
-
Environment variable:
TARGET_CRATEDB_HOST
Hostname for postgres instance. Note if sqlalchemy_url is set this will be ignored.
Configure this setting directly using the following Meltano command:
meltano config target-cratedb set host [value]Interpret Content Encoding (interpret_content_encoding)
-
Environment variable:
TARGET_CRATEDB_INTERPRET_CONTENT_ENCODING -
Default Value:
false
If set to true, the target will interpret the content encoding of the schema to determine how to store the data. Using this option may result in a more efficient storage of the data but may also result in an error if the data is not encoded as expected.
Configure this setting directly using the following Meltano command:
meltano config target-cratedb set interpret_content_encoding [value]Password (password)
-
Environment variable:
TARGET_CRATEDB_PASSWORD
Password used to authenticate. Note if sqlalchemy_url is set this will be ignored.
Configure this setting directly using the following Meltano command:
meltano config target-cratedb set password [value]Port (port)
-
Environment variable:
TARGET_CRATEDB_PORT -
Default Value:
5432
The port on which postgres is awaiting connection. Note if sqlalchemy_url is set this will be ignored.
Configure this setting directly using the following Meltano command:
meltano config target-cratedb set port [value]Process `ACTIVATE_VERSION` messages (process_activate_version_messages)
-
Environment variable:
TARGET_CRATEDB_PROCESS_ACTIVATE_VERSION_MESSAGES -
Default Value:
true
Whether to process ACTIVATE_VERSION messages.
Configure this setting directly using the following Meltano command:
meltano config target-cratedb set process_activate_version_messages [value]Sanitize Null Text Characters (sanitize_null_text_characters)
-
Environment variable:
TARGET_CRATEDB_SANITIZE_NULL_TEXT_CHARACTERS -
Default Value:
false
If set to true, the target will sanitize null characters in char/text/varchar fields, as they are not supported by Postgres. See postgres documentation for more information about chr(0) not being supported.
Configure this setting directly using the following Meltano command:
meltano config target-cratedb set sanitize_null_text_characters [value]SQLAlchemy URL (sqlalchemy_url)
-
Environment variable:
TARGET_CRATEDB_SQLALCHEMY_URL
SQLAlchemy connection string. This will override using host, user, password, port, dialect, and all ssl settings. It is strongly recommended the driver is compatible with psycopg3. Note that you must escape password special characters properly. See https://docs.sqlalchemy.org/en/20/core/engines.html#escaping-special-characters-such-as-signs-in-passwords
Configure this setting directly using the following Meltano command:
meltano config target-cratedb set sqlalchemy_url [value]SSH Tunnel Enable (ssh_tunnel.enable)
-
Environment variable:
TARGET_CRATEDB_SSH_TUNNEL_ENABLE -
Default Value:
false
Enable an ssh tunnel (also known as bastion host), see the other ssh_tunnel.* properties for more details
Configure this setting directly using the following Meltano command:
meltano config target-cratedb set ssh_tunnel enable [value]SSH Tunnel Host (ssh_tunnel.host)
-
Environment variable:
TARGET_CRATEDB_SSH_TUNNEL_HOST
Host of the bastion host, this is the host we'll connect to via ssh
Configure this setting directly using the following Meltano command:
meltano config target-cratedb set ssh_tunnel host [value]SSH Tunnel Port (ssh_tunnel.port)
-
Environment variable:
TARGET_CRATEDB_SSH_TUNNEL_PORT -
Default Value:
22
Port to connect to bastion host
Configure this setting directly using the following Meltano command:
meltano config target-cratedb set ssh_tunnel port [value]SSH Tunnel Private Key (ssh_tunnel.private_key)
-
Environment variable:
TARGET_CRATEDB_SSH_TUNNEL_PRIVATE_KEY
Private Key for authentication to the bastion host
Configure this setting directly using the following Meltano command:
meltano config target-cratedb set ssh_tunnel private_key [value]SSH Tunnel Private Key Password (ssh_tunnel.private_key_password)
-
Environment variable:
TARGET_CRATEDB_SSH_TUNNEL_PRIVATE_KEY_PASSWORD
Private Key Password, leave None if no password is set
Configure this setting directly using the following Meltano command:
meltano config target-cratedb set ssh_tunnel private_key_password [value]SSH Tunnel Username (ssh_tunnel.username)
-
Environment variable:
TARGET_CRATEDB_SSH_TUNNEL_USERNAME
Username to connect to bastion host
Configure this setting directly using the following Meltano command:
meltano config target-cratedb set ssh_tunnel username [value]User (user)
-
Environment variable:
TARGET_CRATEDB_USER
User name used to authenticate. Note if sqlalchemy_url is set this will be ignored.
Configure this setting directly using the following Meltano command:
meltano config target-cratedb set user [value]Expand To Show SDK Settings
Add Record Metadata (add_record_metadata)
-
Environment variable:
TARGET_CRATEDB_ADD_RECORD_METADATA -
Default Value:
true
Note that this must be enabled for activate_version to work! This adds _sdc_extracted_at, _sdc_batched_at, and more to every table. See https://sdk.meltano.com/en/latest/implementation/record_metadata.html for more information.
Configure this setting directly using the following Meltano command:
meltano config target-cratedb set add_record_metadata [value]Default Target Schema (default_target_schema)
-
Environment variable:
TARGET_CRATEDB_DEFAULT_TARGET_SCHEMA -
Default Value:
melty
Postgres schema to send data to, example: tap-clickup
Configure this setting directly using the following Meltano command:
meltano config target-cratedb set default_target_schema [value]Faker Locale (faker_config.locale)
-
Environment variable:
TARGET_CRATEDB_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-cratedb set faker_config locale [value]Faker Seed (faker_config.seed)
-
Environment variable:
TARGET_CRATEDB_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-cratedb set faker_config seed [value]Enable Schema Flattening (flattening_enabled)
-
Environment variable:
TARGET_CRATEDB_FLATTENING_ENABLED
'True' to enable schema flattening and automatically expand nested properties.
Configure this setting directly using the following Meltano command:
meltano config target-cratedb set flattening_enabled [value]Max Flattening Depth (flattening_max_depth)
-
Environment variable:
TARGET_CRATEDB_FLATTENING_MAX_DEPTH
The max depth to flatten schemas.
Configure this setting directly using the following Meltano command:
meltano config target-cratedb set flattening_max_depth [value]Hard Delete (hard_delete)
-
Environment variable:
TARGET_CRATEDB_HARD_DELETE -
Default Value:
false
When activate version is sent from a tap this specifies if we should delete the records that don't match, or mark them with a date in the _sdc_deleted_at column. This config option is ignored if activate_version is set to false.
Configure this setting directly using the following Meltano command:
meltano config target-cratedb set hard_delete [value]Load Method (load_method)
-
Environment variable:
TARGET_CRATEDB_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-cratedb set load_method [value]User Stream Map Configuration (stream_map_config)
-
Environment variable:
TARGET_CRATEDB_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-cratedb set stream_map_config [value]Stream Maps (stream_maps)
-
Environment variable:
TARGET_CRATEDB_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-cratedb set stream_maps [value]Validate Records (validate_records)
-
Environment variable:
TARGET_CRATEDB_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-cratedb 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.

