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
How to tune the jobs using partitioning Technique ?
Key based Technique
- rows with 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.
- data is partitioned on one specified numeric field by calculating modulus against number of partitions. Not used very often.
- 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.
-all rows from a dataset are distributed to each partition. Duplicated rows are stored and the data volume is significantly increased.
- existing partitioning remains unchanged. No data is moved between nodes.
-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.
- rows are randomly distributed across partitions
All key based stages, by default are associated with Hash as Key based Technique.
Hash Partitioning is one of the most popular and frequently used technique in Data Stage. Under this part we send data with Same Key Colum to the same partition.
Same Key Column Values are Given to Same Node.
Hash partitioning Technique can be Selected in to 2 cases
- If Key Column > 1
- If key column = 1, other than Integer
Why Modulus ?
- Modules is having good performance when compared to hash.
- In modules, it distributes the data by calculating MOC Value
Note: Modules is Having Good performance than Hash
Learn DataStage by Tekslate - Fastest growing sector in the industry.
Explore Online DataStage Training and course is aligned with industry needs & developed by industry veterans.
Tekslate will turn you into DataStage Expert.
MOD is selected , when it has only 1 key column, and it is an integer.
Join Dept no, E no
We use Hash, As key column > 1
That is dept no, E no (we have 2 key column values)
because, we want the same distribution from join to Aggregator, and key column value is also same, so we use SAM
SAME is Key less
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 join to Aggregator.
Modulus à because only 1 key column (D NO) and Integer.
For indepth understanding of DataStage click on