relational.write
Write into a SQL-compatible data store
Properties
Name | Type | Description | Required |
---|---|---|---|
connection (The connection to use for loading) | string | Logical connection name as defined in the connections.dy.yaml | yes |
schema (The table schema of the target table) | string | If not specified, no specific schema will be used when connecting to the database. | no |
table (The target table name) | string | Target table name | yes |
keys (Business keys to use in case of `load_strategy` is UPSERT or working with `opcode_field`) | array | no | |
mapping (Fields to write) | array | no | |
foreach (Split a column into multiple records with a JMESPath expression) | string | Use a JMESPath expression to split a column into multiple records. The expression should be in the format column: expression. Pattern: ^(?!:).*:.*(?<!:)$ | no |
opcode_field | string | Name of the field in the payload that holds the operation (c - create, d - delete, u - update) for this record in the DB | no |
load_strategy | string | type of target Default: "APPEND" Enum: "APPEND" , "REPLACE" , "UPSERT" , "TYPE2" | no |
active_record_indicator | string | Used for TYPE2 load_strategy. An SQL expression used to identify which rows are active | no |
inactive_record_mapping (Used for `TYPE2` load_strategy. The columns mapping to use to close out an active record) | array | A list of columns to use. Use any valid SQL expression for the source. If ‘target’ is omitted, will default to the name of the source column Default: | no |
Additional Properties: not allowed
No properties.
Not [required1]: No properties.
Example
id: load_snowflake
type: relational.write
properties:
connection: eu_datalake
table: employees
schema: dbo
load_strategy: APPEND
keys[]: Business keys to use in case of `load_strategy` is UPSERT or working with `opcode_field`
Items: name of column
No properties.
Example
- fname
- lname: last_name
mapping[]: Fields to write
Items: name of column
No properties.
Example
- fname
- lname: last_name
- address
- gender
inactive_record_mapping[]: Used for `TYPE2` load_strategy. The columns mapping to use to close out an active record
A list of columns to use. Use any valid SQL expression for the source. If ‘target’ is omitted, will default to the name of the source column
No properties.
Example
- source: CURRENT_DATE
target: deletedAt
- source: '''Y'''
target: is_active