Skip to main content
Version: 3.0.0

Oracle Write Component

A component that writes data to a Oracle table

Examples

component:
write:
connection: my-oracle-connection
input:
flow: my-flow
name: my-input-component
oracle:
table:
name: my_table
schema: my_schema

OracleWriteComponent

info

OracleWriteComponent is defined beneath the following ancestor nodes in the YAML structure:

Below are the properties for the OracleWriteComponent. Each property links to the specific details section further down in this page.

PropertyDefaultTypeRequiredDescription
connectionstringYesThe name of the connection to use for writing data.
inputInputComponentYesInput component name.
normalizeboolean
NoA boolean flag indicating if the output column names should be normalized to a standard naming convention when writing.
preserve_caseboolean
NoA boolean flag indicating if the case of the column names should be preserved when writing.
uppercaseboolean
NoA boolean flag indicating if the column names should be transformed to uppercase when writing.
strategyfull:
  mode: drop_and_recreate
Any of:
  string
  FullWriteStrategy
  IncrementalWriteStrategyWithSchemaChange
  PartitionedWriteStrategyWithSchemaChange
NoResource for write strategy.
pre_sqlAny of:
  string
  array[string]
NoSQL statements to execute before the main write operation. Can be a single SQL statement as a string or multiple statements as a list of strings.
post_sqlAny of:
  string
  array[string]
NoSQL statements to execute after the main write operation. Can be a single SQL statement as a string or multiple statements as a list of strings.
oracleSingleTableWithSchemaYes

Property Details

Component

A component is a fundamental building block of a data flow. Types of components that are supported include: read, transform, task, test, and more.

PropertyDefaultTypeRequiredDescription
componentOne of:
  ReadComponent
  TransformComponent
  TaskComponent
  SingularTestComponent
  CustomPythonReadComponent
  WriteComponent
  CompoundComponent
  AliasedTableComponent
  ExternalTableComponent
YesConfiguration options for the component.

WriteComponent

PropertyDefaultTypeRequiredDescription
descriptionstring
NoA brief description of what the model does.
metadataResourceMetadata
NoMeta information of a resource. In most cases it doesn't affect the system behavior but may be helpful to analyze project resources.
namestringYesThe name of the model
flow_namestring
NoThe name of the flow that the component belongs to.
skipboolean
NoA boolean flag indicating whether to skip processing for the component or not.
writeOne of:
  BigQueryWriteComponent
  SnowflakeWriteComponent
  S3WriteComponent
  SFTPWriteComponent
  GcsWriteComponent
  AbfsWriteComponent
  MySQLWriteComponent
  OracleWriteComponent
Yes

FullWriteStrategy

Container for specifying the full write strategy used in write components.

PropertyDefaultTypeRequiredDescription
fullFullWriteStrategyOptionsYesOptions to use when fully writing data to a Write component.

FullWriteStrategyOptions

Resource options for full writes, including mode selection.

PropertyDefaultTypeRequiredDescription
modeFullWriteModeEnumYesSpecifies the mode to use when fully writing data: 'drop_and_recreate' to drop the output table and recreate it.

FullWriteModeEnum

No properties defined.

IncrementalWriteStrategyWithSchemaChange

Incremental write strategy that defines how new data is merged with existing data, along with policy for handling schema changes.

PropertyDefaultTypeRequiredDescription
incrementalAny of:
  string
  MergeStrategy
YesOptions to use when incrementally writing data to a Write component.
incremental_columnstringYesName of the column to use for tracking incremental updates to the data.
on_schema_changestring ("ignore", "fail", "append_new_columns", "sync_all_columns")
NoPolicy to apply when schema changes are detected. Defaults to 'fail' if not provided.

InputComponent

Specification for input components, including how partitioning behaviors should be handled. This additional metadata is required when a component is used as an input to other components in a flow.

PropertyDefaultTypeRequiredDescription
flowstringYesName of the parent flow that the input component belongs to.
namestringYesThe input component name.
aliasstring
NoThe alias to use for the input component.
partition_specAny of:
  string ("full_reduction", "map")
  RepartitionSpec
NoThe type of partitioning to apply to the component's input data before processing the component's logic. Input partitioning is applied before the component's logic is executed.
wherestring
NoAn optional filter condition to apply to the input component's data.
partition_bindingAny of:
  string
  PartitionBinding
NoAn optional partition binding specification to apply to the component on a per-output-partition basis against other inputs' partitions.

MergeStrategy

A strategy that involves merging new data with existing data by updating existing records that match the unique key.

PropertyDefaultTypeRequiredDescription
mergeKeyOptions
NoOptions for merge strategy.

KeyOptions

Column options needed for merge and SCD Type 2 strategies, such as unique key and deletion column name.

PropertyDefaultTypeRequiredDescription
unique_keystringYesColumn or comma-separated set of columns used as a unique identifier for records, aiding in the merge process.
deletion_columnstring
NoColumn name used in the upstream source for soft-deleting records. Used when replicating data from a source that supports soft-deletion. If provided, the merge strategy will be able to detect deletions and mark them as deleted in the destination. If not provided, the merge strategy will not be able to detect deletions.
merge_update_columnsAny of:
  string
  array[string]
NoList of columns to include when updating values in merge. These columns are mutually exclusive with respect to the columns in merge_exclude_columns.
merge_exclude_columnsAny of:
  string
  array[string]
NoList of columns to exclude when updating values in merge. These columns are mutually exclusive with respect to the columns in merge_update_columns.
incremental_predicatesAny of:
  string
  array[string]
NoList of conditions to filter incremental data.

PartitionBinding

PropertyDefaultTypeRequiredDescription
logical_operatorlogical_operatorstring ("AND", "OR")NoThe logical operator to use to combine the partition binding predicates provided
predicatespredicatesarray[string]NoThe list of partition binding predicates to apply to the input component's data

PartitionedWriteStrategyWithSchemaChange

Container for specifying the partitioned write strategy that supports different behaviors when schema changes.

PropertyDefaultTypeRequiredDescription
partitionedPartitionedWriteStrategyOptionsYesOptions to use when writing data in partitions to a Write component.
on_schema_changestring ("ignore", "fail", "append_new_columns", "sync_all_columns")
NoPolicy to apply when schema changes are detected. Defaults to 'fail' if not provided.

PartitionedWriteStrategyOptions

Resource options for incremental writes, including mode selection and criteria for detecting deletions and unique records.

PropertyDefaultTypeRequiredDescription
modePartitionedWriteModeEnumYesSpecifies the mode to use when writing data in partitions: 'append' to append new or modified partitions, 'insert_overwrite' to insert new partitions and replace/overwrite modified partitions, and 'sync' to encompass both 'insert_overwrite' functionality and to delete partitions when deleted at the source.
partition_colstring
NoColumn name used for partitioning, uses the internal Ascend partition identifier by default.

PartitionedWriteModeEnum

No properties defined.

RepartitionSpec

Specification for repartitioning operations on input component's data

PropertyDefaultTypeRequiredDescription
repartitionRepartitionOptions
NoOptions for repartitioning the input component's data.

RepartitionOptions

Options for repartitioning the input component's data.

PropertyDefaultTypeRequiredDescription
partition_bystringYesThe column to partition by.
granularitystringYesThe granularity to use for the partitioning.

SingleTableWithSchema

Options for reading from a single table in a specific schema.

PropertyDefaultTypeRequiredDescription
tableTableWithSchemaOptionsYesTable (in specified schema) to read data from.

TableWithSchemaOptions

Options for reading from a specific table in a schema.

PropertyDefaultTypeRequiredDescription
namestringYesName of the table to be read.
schemastring
NoSchema of the table, if applicable.