Based on partitioning style, InfoSphere DataStage can group partitioners into categories based on key locality. This makes it possible to determine if the inputs and outputs of an operator are appropriately partitioned, even if the operator is not associated with a particular partitioning method.
Unlike using APT_Operator::setPartitionMethod to stipulate a specific partitioning method for an operator, specifying partitioning style does not prevent you from inserting your own custom partitioner in a data flow, and does not prevent an operator user from inserting a partitioner in a data flow. A warning is issued when an operator user inserts an unnecessary or inappropriate partitioner, but the partitioner is not removed.
void setInputPartitioningStyle
(APT_PartitioningStyle::partitioningStyle, int inputDS)
APT_PartitioningStyle::partitioningStyle
getPartitioningStyle(int inputDS)
void setOutputPartitioningStyle
(APT_PartitioningStyle::partitioningStyle, int outputDS)
These functions allow you to:void setInputPartitioningKeys(APT_PropertyList keys, int inputDS);
APT_PropertyList APT_Operator::getPartitioningKeys(int input)
The syntax for APT_PropertyList is: { key = {value=fieldname}, key = {value=fieldname}, ...}
For example:{ key={value=lastname}, key={value=balance} }
virtual APT_PartitioningStyle::partitioningStyle getPartitioningStyle() const=0;
This function must be overridden by partitioners to define the partitioning
style which they fit into.APT_String APT_Operator::getPartitioningName(int input)
By default, InfoSphere DataStage performs partitioner
insertion.To disable partitioner insertion, add the global option -nopartinsertion to your osh command line, or specify the environment variable APT_NO_PART_INSERTION.