Write into a SQL-compatible data store

Properties

NameTypeDescriptionRequired
connection
(The connection to use for loading)
stringLogical connection name as defined in the connections.yaml
yes
schema
(The table schema of the target table)
stringIf left blank, the default schema of this connection will be used as defined in the connections.yaml
yes
table
(The target table name)
stringTarget table name
yes
keys
(Business keys to use in case of `load_strategy` is UPSERT or working with `opcode_field`)
arrayno
mapping
(Fields to write)
arrayno
foreach
(Split a column into multiple records with a JMESPath expression)
stringUse a JMESPath expression to split a column into multiple records. The expression should be in the format column: expression.
Pattern: ^(?!:).*:.*(?<!:)$
no
opcode_fieldstringName of the field in the payload that holds the operation (c - create, d - delete, u - update) for this record in the DB
no
load_strategystringtype of target
Default: "APPEND"
Enum: "APPEND", "REPLACE", "UPSERT", "TYPE2"
no
active_record_indicatorstringUsed 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)
arrayA 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