In advanced mode, when you load data to some types of partitioned targets that you create at runtime, you can configure the partition key fields. For some target types, you can use partitions to optimize loading data to the target.
You can configure partition key fields and the partitioning method on the
Partitions
tab. The
Partitions
tab is displayed for targets in advanced mode.
Partition key fields
When you load data to certain types of partitioned targets that you create at runtime, you can configure the fields to be used as partition keys. You might need to configure partition key fields when you write data to complex file targets.
For example, you can create a mapping that loads data to an Amazon S3 V2 target that you create at runtime. The target is a partitioned Hive table that is backed by Avro data files. You want to write the data files in directories that are partitioned based on the columns YEAR, MONTH, and DAY. Configure the fields YEAR, MONTH, and DAY as partition keys.
Configure the fields to be used as partition keys in the Partition Fields area on the
Partitions
tab. You can add, delete, and change the order of the partition key fields.
For more information about configuring partition key fields for different target types, see the help for the appropriate connector.
Partitioning methods
If a
mapping
task loads large data sets, the task can take a long time to load data. When you use multiple partitions, the
mapping
task divides data into partitions and loads the data in each partition concurrently, which can optimize performance. Not all target types support partitioning.
If a target in advanced mode supports partitioning, you can select the partitioning method in the Parallel Processing area on the
Partitions
tab. The partitioning methods that you can select vary based on the target type. For more information about partitioning different types of targets, see the help for the appropriate connector.
You can select one of the following partitioning methods based on the target type:
None
The
mapping
task loads all data in a single partition. This is the default option.
Fixed
The
mapping
task distributes rows of data based on the number of partitions that you specify. You can specify up to 64 partitions.
Consider the number of records to be passed to the target to determine an appropriate number of target partitions. For a small number of records, partitioning might not be advantageous.
Pass through
The
mapping
task processes data without redistributing rows among partitions. All rows in a single partition stay in the partition. Choose pass-through partitioning when you want to create additional partitions to improve performance, but do not want to change the distribution of data across partitions.
Dynamic
The
mapping
task determines the optimal number of partitions to create at runtime.