Skip to main content

Fivetran Component

Component that integrates with Fivetran to extract and sync data from various sources.

This Component connects to a Fivetran Landing Zone application and synchronizes objects (tables, schemas, etc.) from a Fivetran connection to the configured destination. It can function as either:

  • A derived Component of a Fivetran Application Component (for multi-object connectors)
  • A top-level Component (for single-object connectors)

FivetranComponent

info

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

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

PropertyDefaultTypeRequiredDescription
skipboolean
NoBoolean flag indicating whether to skip processing for the Component or not.
retry_strategyNoRetry strategy configuration options for the Component if any exceptions are encountered.
descriptionstring
NoBrief description of what the model does.
metadataNoMeta 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
NoName of the Flow that the Component belongs to.
data_maintenanceNoThe data maintenance configuration options for the Component.
testsNoDefines tests to run on this Component's data.
fivetranYesConfiguration options for the Fivetran data synchronization component.

Property Details

Component

A Component is a fundamental building block of a data Flow. Supported Component types include: Read, Transform, Task, Test, and more.

PropertyDefaultTypeRequiredDescription
componentOne of:
  CustomPythonReadComponent
  ApplicationComponent
  AliasedTableComponent
  ExternalTableComponent
  FivetranComponent
YesComponent configuration options.

FivetranOptions

PropertyDefaultTypeRequiredDescription
dependenciesarray[None]
NoList of dependencies that must complete before this Component runs.
landing_zone_idstringYesUnique identifier of the Fivetran Landing Zone application that manages the data destination and synchronization configuration.
connection_idstringYesFivetran connection identifier that specifies the source data location for extraction.
parent_component_idstring
NoIdentifier of the parent Fivetran component. - If None: This connector operates as a top-level component containing only one object. The 'object' field must also be None, or an error will be raised. - If specified: This component operates as a sub-component representing a single object within the Fivetran connector. This field is automatically generated by the compiler and should not be manually modified.
objectstring
NoFully qualified name of the object or table that Fivetran syncs to the destination. - If None: This Fivetran connector contains only a single object - If specified: Must be one of the objects in the Fivetran connector, or an error will be raised This field is automatically generated by the compiler and should not be manually modified. Example: mongo_schema.test_table

ComponentTestOptions

Options for component tests, including data quality tests and schema checks.

PropertyDefaultTypeRequiredDescription
columnsobject with property values of type array[One of: (Any of: (not_null, NotNullTest), Any of: (not_empty, NotEmptyTest), Any of: (unique, UniqueTest), CombinationUniqueTest, InRangeTest, DateInRangeTest, InSetTest, SubstringMatchTest, CountDistinctEqualTest, CountGreaterThanOrEqualTest, CountGreaterThanTest, CountLessThanOrEqualTest, CountLessThanTest, CountEqualTest, GreaterThanTest, LessThanTest, GreaterThanOrEqualTest, LessThanOrEqualTest, MeanInRangeTest, StddevInRangeTest, ColumnTestSql, ColumnTestPython)]
NoList of column-level data quality tests for a Component.
componentarray[One of: (Any of: (not_null, NotNullTest), Any of: (not_empty, NotEmptyTest), Any of: (unique, UniqueTest), CombinationUniqueTest, InRangeTest, DateInRangeTest, InSetTest, SubstringMatchTest, CountDistinctEqualTest, CountGreaterThanOrEqualTest, CountGreaterThanTest, CountLessThanOrEqualTest, CountLessThanTest, CountEqualTest, GreaterThanTest, LessThanTest, GreaterThanOrEqualTest, LessThanOrEqualTest, MeanInRangeTest, StddevInRangeTest, ColumnTestSql, ColumnTestPython)]
NoList of Component-level tests.
schemaNoList of schema checks for a Component.

ColumnTestPython

Test to validate data using a Python function for a single column.

PropertyDefaultTypeRequiredDescription
severityerrorstring ("error", "warn")NoThe severity level for issues raised by the test. Default is 'error'. Use 'error' for critical issues that should interrupt flow processing. Use 'warn' for warnings/minor issues that should not interrupt flow processing.
namestringYes
pythonYesConfiguration options for the Python column test.

ColumnTestPythonOptions

PropertyDefaultTypeRequiredDescription
entrypointstringYesEntry point for the Python Transform function.
sourcestringYesSource file for the Python Transform function.
paramsobject with property values of type None
NoParameters for the Python test function.
is_asset_testboolean
No

ColumnTestSql

Test to validate data using an SQL query for a single column.

PropertyDefaultTypeRequiredDescription
severityerrorstring ("error", "warn")NoThe severity level for issues raised by the test. Default is 'error'. Use 'error' for critical issues that should interrupt flow processing. Use 'warn' for warnings/minor issues that should not interrupt flow processing.
namestringYes
sqlstring
NoSQL query that tests data for conditions.

CombinationUniqueTest

Test to check if a value is unique.

PropertyDefaultTypeRequiredDescription
severityerrorstring ("error", "warn")NoThe severity level for issues raised by the test. Default is 'error'. Use 'error' for critical issues that should interrupt flow processing. Use 'warn' for warnings/minor issues that should not interrupt flow processing.
combination_uniqueYesTest to check if a value is unique.

CombinationUniqueTestOptions

Configuration options for the unique test.

PropertyDefaultTypeRequiredDescription
columnsarray[string]YesCombination of columns to check for uniqueness.

ComponentSchemaTest

Test to validate that component columns match expected types.

PropertyDefaultTypeRequiredDescription
severityerrorstring ("error", "warn")NoThe severity level for issues raised by the test. Default is 'error'. Use 'error' for critical issues that should interrupt flow processing. Use 'warn' for warnings/minor issues that should not interrupt flow processing.
matchexactstring ("exact", "ignore_missing")NoThe type of schema matching to perform. 'exact' requires all columns to be present, 'ignore_missing' allows for missing columns.
columnsobject with property values of type string
NoMapping of column names to their expected types.

CountDistinctEqualTest

Test to check if the number of distinct values is equal to a certain number.

PropertyDefaultTypeRequiredDescription
severityerrorstring ("error", "warn")NoThe severity level for issues raised by the test. Default is 'error'. Use 'error' for critical issues that should interrupt flow processing. Use 'warn' for warnings/minor issues that should not interrupt flow processing.
count_distinct_equalYes

CountDistinctEqualTestOptions

Configuration options for the count_distinct_equal test.

PropertyDefaultTypeRequiredDescription
countintegerYesNumber of distinct values to expect.
group_by_columnsarray[string]
NoColumns to group by.

CountEqualTest

Test to check if the number of rows is equal to a certain number.

PropertyDefaultTypeRequiredDescription
severityerrorstring ("error", "warn")NoThe severity level for issues raised by the test. Default is 'error'. Use 'error' for critical issues that should interrupt flow processing. Use 'warn' for warnings/minor issues that should not interrupt flow processing.
count_equalYesConfiguration options for the the count_equal test.

CountEqualTestOptions

Configuration options for the count_equal test.

PropertyDefaultTypeRequiredDescription
countintegerYesNumber of rows to expect.

CountGreaterThanOrEqualTest

Test to check if the number of rows is greater than or equal to a certain number.

PropertyDefaultTypeRequiredDescription
severityerrorstring ("error", "warn")NoThe severity level for issues raised by the test. Default is 'error'. Use 'error' for critical issues that should interrupt flow processing. Use 'warn' for warnings/minor issues that should not interrupt flow processing.
count_greater_than_or_equalYes

CountGreaterThanOrEqualTestOptions

Configuration options for the count_greater_than_or_equal test.

PropertyDefaultTypeRequiredDescription
countintegerYesValue to compare against.
group_by_columnsarray[string]
NoColumns to group by.

CountGreaterThanTest

Test to check if the number of rows is greater than a certain number.

PropertyDefaultTypeRequiredDescription
severityerrorstring ("error", "warn")NoThe severity level for issues raised by the test. Default is 'error'. Use 'error' for critical issues that should interrupt flow processing. Use 'warn' for warnings/minor issues that should not interrupt flow processing.
count_greater_thanYes

CountGreaterThanTestOptions

Configuration options for the count_greater_than test.

PropertyDefaultTypeRequiredDescription
countintegerYesValue to compare against.
group_by_columnsarray[string]
NoColumns to group by.

CountLessThanOrEqualTest

Test to check if the number of rows is greater than or equal to a certain number.

PropertyDefaultTypeRequiredDescription
severityerrorstring ("error", "warn")NoThe severity level for issues raised by the test. Default is 'error'. Use 'error' for critical issues that should interrupt flow processing. Use 'warn' for warnings/minor issues that should not interrupt flow processing.
count_less_than_or_equalYes

CountLessThanOrEqualTestOptions

Configuration options for the count_less_than_or_equal test.

PropertyDefaultTypeRequiredDescription
countintegerYesValue to compare against.
group_by_columnsarray[string]
NoColumns to group by.

CountLessThanTest

Test to check if the number of rows is less than a certain number.

PropertyDefaultTypeRequiredDescription
severityerrorstring ("error", "warn")NoThe severity level for issues raised by the test. Default is 'error'. Use 'error' for critical issues that should interrupt flow processing. Use 'warn' for warnings/minor issues that should not interrupt flow processing.
count_less_thanYes

CountLessThanTestOptions

Configuration options for the count_less_than test.

PropertyDefaultTypeRequiredDescription
countintegerYesValue to compare against.
group_by_columnsarray[string]
NoColumns to group by.

DataMaintenance

Data maintenance configuration options for Components.

PropertyDefaultTypeRequiredDescription
enabledboolean
NoBoolean flag indicating whether data maintenance is enabled for the Component.

DateInRangeTest

Test to check if a date is within a certain range.

PropertyDefaultTypeRequiredDescription
severityerrorstring ("error", "warn")NoThe severity level for issues raised by the test. Default is 'error'. Use 'error' for critical issues that should interrupt flow processing. Use 'warn' for warnings/minor issues that should not interrupt flow processing.
date_in_rangeYes

DateInRangeTestOptions

Configuration options for the date_in_range test.

PropertyDefaultTypeRequiredDescription
minstringYesMinimum value to expect.
maxstringYesMaximum value to expect.

GreaterThanOrEqualTest

Test to check if a value is greater than or equal to a certain number.

PropertyDefaultTypeRequiredDescription
severityerrorstring ("error", "warn")NoThe severity level for issues raised by the test. Default is 'error'. Use 'error' for critical issues that should interrupt flow processing. Use 'warn' for warnings/minor issues that should not interrupt flow processing.
greater_than_or_equalYes

GreaterThanOrEqualTestOptions

Configuration options for the greater_than_or_equal test.

PropertyDefaultTypeRequiredDescription
valueAny of:
  integer
  number
  string
YesValue to compare against.

GreaterThanTest

Test to check if a value is greater than a certain number.

PropertyDefaultTypeRequiredDescription
severityerrorstring ("error", "warn")NoThe severity level for issues raised by the test. Default is 'error'. Use 'error' for critical issues that should interrupt flow processing. Use 'warn' for warnings/minor issues that should not interrupt flow processing.
greater_thanYes

GreaterThanTestOptions

Configuration options for the greater_than test.

PropertyDefaultTypeRequiredDescription
valueAny of:
  integer
  number
  string
YesValue to compare against.

InRangeTest

Test to check if a value is within a certain range.

PropertyDefaultTypeRequiredDescription
severityerrorstring ("error", "warn")NoThe severity level for issues raised by the test. Default is 'error'. Use 'error' for critical issues that should interrupt flow processing. Use 'warn' for warnings/minor issues that should not interrupt flow processing.
in_rangeYes

InRangeTestOptions

Configuration options for the in_range test.

PropertyDefaultTypeRequiredDescription
minAny of:
  integer
  number
  string
YesMinimum value to expect.
maxAny of:
  integer
  number
  string
YesMaximum value to expect.

InSetTest

Test to check if a value is in a set of values.

PropertyDefaultTypeRequiredDescription
severityerrorstring ("error", "warn")NoThe severity level for issues raised by the test. Default is 'error'. Use 'error' for critical issues that should interrupt flow processing. Use 'warn' for warnings/minor issues that should not interrupt flow processing.
in_setYes

InSetTestOptions

Configuration options for the in_set test.

PropertyDefaultTypeRequiredDescription
valuesarray[Any of: (integer, number, string)]YesSet of values to expect.

LessThanOrEqualTest

Test to check if a value is less than or equal to a certain number.

PropertyDefaultTypeRequiredDescription
severityerrorstring ("error", "warn")NoThe severity level for issues raised by the test. Default is 'error'. Use 'error' for critical issues that should interrupt flow processing. Use 'warn' for warnings/minor issues that should not interrupt flow processing.
less_than_or_equalYes

LessThanOrEqualTestOptions

Configuration options for the less_than_or_equal test.

PropertyDefaultTypeRequiredDescription
valueAny of:
  integer
  number
  string
YesValue to compare against.

LessThanTest

Test to check if a value is less than a certain number.

PropertyDefaultTypeRequiredDescription
severityerrorstring ("error", "warn")NoThe severity level for issues raised by the test. Default is 'error'. Use 'error' for critical issues that should interrupt flow processing. Use 'warn' for warnings/minor issues that should not interrupt flow processing.
less_thanYes

LessThanTestOptions

Configuration options for the less_than test.

PropertyDefaultTypeRequiredDescription
valueAny of:
  integer
  number
  string
YesValue to compare against.

MeanInRangeTest

Test to check if a value is within a certain mean range.

PropertyDefaultTypeRequiredDescription
severityerrorstring ("error", "warn")NoThe severity level for issues raised by the test. Default is 'error'. Use 'error' for critical issues that should interrupt flow processing. Use 'warn' for warnings/minor issues that should not interrupt flow processing.
mean_in_rangeYes

MeanInRangeTestOptions

Configuration options for the mean_in_range test.

PropertyDefaultTypeRequiredDescription
minAny of:
  integer
  number
  string
YesMinimum value to expect.
maxAny of:
  integer
  number
  string
YesMaximum value to expect.

NotEmptyTest

Test to check if a value is not empty.

PropertyDefaultTypeRequiredDescription
severityerrorstring ("error", "warn")NoThe severity level for issues raised by the test. Default is 'error'. Use 'error' for critical issues that should interrupt flow processing. Use 'warn' for warnings/minor issues that should not interrupt flow processing.
not_emptyNoTest to check if a value is not empty.

NotNullTest

Test to check if a value is not null.

PropertyDefaultTypeRequiredDescription
severityerrorstring ("error", "warn")NoThe severity level for issues raised by the test. Default is 'error'. Use 'error' for critical issues that should interrupt flow processing. Use 'warn' for warnings/minor issues that should not interrupt flow processing.
not_nullNoTest to check if a value is not null.

StddevInRangeTest

Test to check if a value is within a certain standard deviation range.

PropertyDefaultTypeRequiredDescription
severityerrorstring ("error", "warn")NoThe severity level for issues raised by the test. Default is 'error'. Use 'error' for critical issues that should interrupt flow processing. Use 'warn' for warnings/minor issues that should not interrupt flow processing.
stddev_in_rangeYes

StddevInRangeTestOptions

Configuration options for the stddev_in_range test.

PropertyDefaultTypeRequiredDescription
minAny of:
  integer
  number
  string
YesMinimum value to expect.
maxAny of:
  integer
  number
  string
YesMaximum value to expect.

SubstringMatchTest

Test to check if a value contains a substring.

PropertyDefaultTypeRequiredDescription
severityerrorstring ("error", "warn")NoThe severity level for issues raised by the test. Default is 'error'. Use 'error' for critical issues that should interrupt flow processing. Use 'warn' for warnings/minor issues that should not interrupt flow processing.
substring_matchYes

SubstringMatchTestOptions

Configuration options for the substring_match test.

PropertyDefaultTypeRequiredDescription
substringstringYesSubstring to search for.

UniqueTest

Test to check if a value is unique.

PropertyDefaultTypeRequiredDescription
severityerrorstring ("error", "warn")NoThe severity level for issues raised by the test. Default is 'error'. Use 'error' for critical issues that should interrupt flow processing. Use 'warn' for warnings/minor issues that should not interrupt flow processing.
uniqueNoTest to check if a value is unique.

NoTestOptions

Configuration options for tests that have no test body definition (not_null, unique, etc.).

No properties defined.

ResourceMetadata

Meta information of a resource. In most cases, it doesn't affect the system behavior but may be helpful to analyze Project resources.

PropertyDefaultTypeRequiredDescription
sourceNoThe origin or source information for the resource.
source_event_uuidstring
NoEvent UUID associated with creation of this resource.

ResourceLocation

The origin or source information for the resource.

PropertyDefaultTypeRequiredDescription
pathstringYesPath within repository files where the resource is defined.
first_line_numberinteger
NoFirst line number within path file where the resource is defined.

RetryStrategy

Retry strategy configuration for Component operations. This configuration leverages the tenacity library to implement robust retry mechanisms. The configuration options directly map to tenacity's retry parameters. Details on the tenacity library can be found here: https://tenacity.readthedocs.io/en/latest/api.html#retry-main-api Current implementation includes: - stop_after_attempt: Maximum number of retry attempts - stop_after_delay: Give up on retries one attempt before you would exceed the delay. Will need to supply at least one of the two parameters. Additional retry parameters will be added as needed to support more complex use cases.

PropertyDefaultTypeRequiredDescription
stop_after_attemptinteger
NoNumber of retry attempts before giving up. If set to None, it will not stop after any number of attempts.
stop_after_delayinteger
NoMaximum time (in seconds) to spend on retries before giving up. If set to None, it will not stop after any time delay.

InputComponent

Specification for input Components defining how partitioning behaviors should be handled. This metadata is required when a Component serves as an input to other Components within a Flow.

PropertyDefaultTypeRequiredDescription
flowstringYesName of the parent Flow that the input Component belongs to.
namestringYesName of the input Component.
aliasstring
NoAlias to use for the input Component.
partition_specAny of:
  string ("full_reduction", "map")
NoType 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
NoOptional filter condition to apply to the input Component's data.
partition_bindingAny of:
  string
NoOptional partition binding specification to apply to the Component on a per-output-partition basis against other inputs' partitions.

PartitionBinding

PropertyDefaultTypeRequiredDescription
logical_operatorlogical_operatorstring ("AND", "OR")NoTLogical operator to use to combine the partition binding predicates provided
predicatespredicatesarray[string]NoList of partition binding predicates to apply to the input Component's data

RepartitionSpec

Specification for repartitioning operations on input Component's data

PropertyDefaultTypeRequiredDescription
repartitionNoOptions for repartitioning the input Component's data.

RepartitionOptions

Options for repartitioning the input Component's data.

PropertyDefaultTypeRequiredDescription
partition_bystringYesColumn to partition by.
granularitystringYesGranularity to use for the partitioning.