We have moved to www.dataGenX.net, Keep Learning with us.
Showing posts with label Link. Show all posts
Showing posts with label Link. Show all posts

Monday, May 25, 2015

Execution Steps in Transformer Stage - Explanation


 You can access Part1 Here -  Execution Steps in Transformer Stage
Certain constructs are inefficient if they are included in output column derivations, because they are evaluated once for every output column that uses them. The following examples describe these constructs:
The same part of an expression is used in multiple column derivations.
For example, if you want to use the same substring of an input column in multiple columns in output links, you might use the following test in a number of output columns derivations:
IF (DSLINK1.col1[1,3] = "001") THEN ...
In this case, the evaluation of the substring of DSLINK1.col1[1,3] is repeated for each column that uses it. The evaluation can be made more efficient by moving the substring calculation into a stage variable. The substring is then evaluated once for every input row. This example has thus stage variable definition for StageVar1:

Thursday, May 21, 2015

Execution Steps in Transformer Stage


I've been asked this questions so many times in interviews and by different practitioner also that What are the data processing steps when datastage is processing transformer, So here I tried to compiled. Have a look -


To write efficient Transformer stage derivations, it helps to understand what items get evaluated and when.

Monday, February 17, 2014

Datastage Coding Checklist


  1. Ensure that the null handling properties are taken care for all the nullable fields. Do not set the null field value to some value which may be present in the source.
  2. Ensure that all the character fields are trimmed before any processing. Normally extra spaces in the data may lead to some errors like lookup mismatch which are hard to detect.
  3. Always save the metadata (for source, target or lookup definitions) in the repository to ensure re usability and consistency.

Thursday, February 13, 2014

DataStage Parallel job: Retrieve sql codes on a failed upsert


When an enterprise database stage such as DB2 or Oracle is set to upsert it is possible to create a reject link to trap rows that fail any update or insert statements. By default this reject link holds just the columns written to the stage, they do not show any columns indicating why the row was rejected and often no warnings or error messages appear in the job log.


Tuesday, November 12, 2013

ETL Job Design Standards - 1




When using an off-the-shelf ETL tool, principles for software development do not change: we want our code to be reusable, robust, flexible, and manageable. To assist in the development, a set of best practices should be created for the implementation to follow. Failure to implement these practices usually result in problems further down the track, such as a higher cost of future development, increased time spent on administration tasks, and problems with reliability.
Although these standards are listed as taking place in ETL Physical Design, it is ideal that they be done before the prototype if possible. Once they are established once, they should be able to be re-used for future increments and only need to be reviewed. 

Listed below are some standard best practice categories that should be identified on a typical project. 

Wednesday, September 04, 2013

Buffering in DataStage



Buffering is a technique used in the Datastage jobs to ensure a constant and uninterrupted flow of data to and from stages in such a way that there is no potential dead lock or any fork join problems. It is been implemented in Datastage keeping in mind the fact that the data has to keep moving in the process with an optimized use of the memory in the server. As mentioned by IBM the ideal scenario is when the data flows through the stages without being written on the disk. As in the case of buffering in any system, the upstream operators should to wait for the downstream operators to consume their input before starting to create their records. This is the intention in Datastage too.

Friday, August 23, 2013

DataStage BASIC functions


These functions can be used in a job control routine, which is defined as part of a jobs properties and allows other jobs to be run and controlled from the first job. Some of the functions can also be used for getting status information on the current job; these are useful in active stage expressions and before- and after-stage subroutines. 


Specify the job you want to control
DSAttachJob

Friday, December 14, 2012

DataStage Naming Conventions



DataStage Naming Conventions follows the guidelines of ETL Naming Conventions.

Contents

  • 1 Job Name Prefixes
  • 2 Stage Names
  • 3 Link Names

Monday, October 15, 2012

Input/Output data buffering (on Link) in DataStage


To improve performance and resolve bottlenecks, you can specify how input and output data is buffered. Although the size and operation of the buffer are usually the same for all links on all stages, you can modify the settings for specific links.
By default, data is buffered so that no deadlocks occur. Be careful when changing data buffering settings because specifying inappropriate values might create a deadlock.
Any changes that you make to the properties on the Advanced tab are automatically reflected on the Advanced tab of the stage at the other end of the link.

Saturday, June 30, 2012

DataStage FAQ1


1. What are the ways to execute DataStage jobs?
A job can be run using a few different methods:
* from DataStage Director (menu Job -> Run now...)
* from command line using a dsjob command
* DataStage routine can run a job (DsRunJob command)
* by a job sequencer

2. How to invoke a DataStage shell command?
DataStage shell commands can be invoked from :
* DataStage administrator (projects tab -> Command)
* Telnet client connected to the DataStage server