Partitioning Technique w. r. t Performance Tuning

Partitioning is the process of dividing an input data set into multiple segments, or partitions. Each processing node in your system then performs an operation on an individual partition of the data set rather than on the entire data set.

Data Stage basically allows 2 types of partitioning:

  • Key Based Partitioning
  • Keyless Partitioning

11How to tune the jobs using the partitioning Technique?

Key-based Technique 

Hash

Rows with the same key column (or multiple columns) go to the same partition. Hash is very often used and sometimes improves performance, however it is important to have in mind that hash partitioning does not guarantee load balance and misuse may lead to skew data and poor performance.

Modulus

Data is partitioned on one specified numeric field by calculating modulus against the number of partitions. Not used very often.

Range

An expensive refinement to hash partitioning. It is similar to hash but partition mapping is user-determined and partitions are ordered. Rows are distributed according to the values in one or more key fields, using a range map (the 'Write Range Map' stage needs to be used to create it). Range partitioning requires processing the data twice which makes it hard to find a reason for using it.

Keyless Techniques

  • Same
  • Entire
  • Round Robin
  • Random

Entire

-all rows from a dataset are distributed to each partition. Duplicated rows are stored and the data volume is significantly increased.

Same

- existing partitioning remains unchanged. No data is moved between nodes.

Round robin

-rows are alternated evenly across partitions. This partitioning method guarantees an exact load balance (the same number of rows processed) between nodes and is very fast.

Random

- rows are randomly distributed across partitions

All key-based stages, by default, are associated with Hash as a Key-based Technique.

Hash Technique

Hash Partitioning is one of the most popular and frequently used techniques in Data Stage. Under this part, we send data with the Same Key Colum to the same partition.

Example

Partitioning Technique in DataStage

11Same Key Column Values are Given to the Same Node.

11Hash partitioning Technique can be Selected into 2 cases

  1. If Key Column > 1
  2. If key column = 1, other than Integer

 Why  Modulus?

  • Modules are having good performance when compared to the hash.
  • In modules, it distributes the data by calculating MOC Value

MOD

Note: Modules is Having Good performance than Hash

Inclined to build a profession as Datastage Developer? Then here is the blog post on, explore Datastage Training

MOD is selected, when it has only 1 key column, and it is an integer.

Join 11 Dept no, E no

11We use Hash,  As key column > 1

That is dept no, E no (we have 2 key column values)

DataStage tutorials

because, we want the same distribution from joining to Aggregator, and key column value is also the same, so we use SAM 11 SAME is Key less

DataStage tutorials

We cant use SAME, here, as join has 2 key column values D no, loc, if we use SAME, We don’t Know that what data is getting from joining to Aggregator.

Modulus à because of only 1 key column (D NO) and Integer.

DataStage Tutorials

For an in-depth understanding of DataStage click on