Sunday, June 29, 2008

Important Faqs

DATA STAGE

Question : How do you rename all of the jobs to support your new File-naming conventions?

Answer : Create a Excel spreadsheet with new and old names. Export the whole project as a dsx. Write a Perl program, which can do a simple rename of the strings looking up the Excel file. Then import the new dsx file probably into a new project for testing. Recompile all jobs. Be cautious that the name of the jobs has also been changed in your job control jobs or Sequencer jobs. So you have to make the necessary changes to these Sequencers.

Question : Does the selection of 'Clear the table and Insert rows' in the ODBC stage send a Truncate statement to the DB or does it do some kind of Delete logic.

Answer : There is no TRUNCATE on ODBC stages. It is Clear table blah blah and that is a delete from statement. On an OCI stage such as Oracle, you do have both Clear and Truncate options. They are radically different in permissions (Truncate requires you to have alter table permissions where Delete doesn't).

Question : Tell me one situation from your last project, where you had faced problem and How did u solve it?

Answer : A. The jobs in which data is read directly from OCI stages are running extremely slow. I had to stage the data before sending to the transformer to make the jobs run faster.
B. The job aborts in the middle of loading some 500,000 rows. Have an option either cleaning/deleting the loaded data and then run the fixed job or run the job again from the row the job has aborted. To make sure the load is proper we opted the former.

Question : The above might rise another question: Why do we have to load the dimensional tables first, then fact tables:

Answer : As we load the dimensional tables the keys (primary) are generated and these keys (primary) are Foreign keys in Fact tables.

Question : How will you determine the sequence of jobs to load into data warehouse?

Answer : First we execute the jobs that load the data into Dimension tables, then Fact tables, then load the Aggregator tables (if any)

Question : What are the command line functions that import and export the DS jobs?

Answer : A. dsimport.exe- imports the DataStage components.
B. dsexport.exe- exports the DataStage components.

Question : What is the utility you use to schedule the jobs on a UNIX server other than using Ascential Director?

Answer : Use crontab utility along with dsexecute() function along with proper parameters passed.

Question : How would call an external Java function which are not supported by DataStage?

Answer : Starting from DS 6.0 we have the ability to call external Java functions using a Java package from Ascential. In this case we can even use the command line to invoke the Java function and write the return values from the Java program (if any) and use that files as a source in DataStage job.




43

Did you Parameterize t...

Always parameterized the job. Either the values are coming from Job Properties or from a ‘Parameter Manager’ – a third part tool. There is no way you will hard–code some parameters in your jobs. The o...

44

Have you ever involved in updating the DS versions like DS 5.X, if so tell us some the steps you have taken in doing so?

Yes. The following are some of the steps; I have taken in doing so:
1) Definitely take a back up of the whole project(s) by exporting the project as a .dsx file
2) See that you are using the sam...

45

What is Hash file stage and what is it used for?

Used for Look-ups. It is like a reference table. It is also used in-place of ODBC, OCI tables for better performance.

46

What are Static Hash files and Dynamic Hash files?

As the names itself suggest what they mean. In general we use Type-30 dynamic Hash files. The Data file has a default size of 2Gb and the overflow file is used if the data exceeds the 2GB size.

59

What are OConv () and Iconv () functions and where are they used?

IConv() - Converts a string to an internal storage format
OConv() - Converts an expression to an output format.

60

What are Routines and where/how are they written and have you written any routines before?

Routines are stored in the Routines branch of the DataStage Repository, where you can create, view or edit. The following are different types of routines:
1) Transform functions
&nb...

61

If worked with DS6.0 and latest versions what are Link-Partitioner and Link-Collector used for?

Link Partitioner - Used for partitioning the data.
Link Collector - Used for collecting the partitioned data.

62

How did you handle reject data?

Typically a Reject-link is defined and the rejected data is loaded back into data warehouse. So Reject link has to be defined every Output link you wish to collect rejected data. Rejected data is typi...

63

What are other Performance tunings you have done in your last project to increase the performance of slowly running jobs?

  1. Staged the data coming from ODBC/OCI/DB2UDB stages or any database on the server using Hash/Sequential files for optimum performance also for data recovery in case job aborts.
  2. Tune...

64

How did you handle an 'Aborted' sequencer?

In almost all cases we have to delete the data inserted by this from DB manually and fix the job and then run the job again.


65

What are Sequencers?

Sequencers are job control programs that execute other jobs with preset Job parameters.


66

How did u connect with DB2 in your last project?

Most of the times the data was sent to us in the form of flat files. The data is dumped and sent to us. In some cases were we need to connect to DB2 for look-ups as an instance then we used ODBC drive...

67

Read the String functions in DS

Functions like [] -> sub-string function and ':' -> concatenation operator

Syntax: string [ [ start, ] length ]
string [ delimiter, instance, repeats ]

68

What will you in a situation where somebody wants to send you a file and use that file as an input or reference and then run job.

A. Under Windows: Use the 'WaitForFileActivity' under the Sequencers and then run the job. May be you can schedule the sequencer around the time the file is expected to arrive.
B. Under U...

69

How would call an external Java function which are not supported by DataStage?

Starting from DS 6.0 we have the ability to call external Java functions using a Java package from Ascential. In this case we can even use the command line to invoke the Java function and write the re...

70

What is the utility you use to schedule the jobs on a UNIX server other than using Ascential Director?

Use crontab utility along with dsexecute() function along with proper parameters passed.

DWH's are typically read only, batch updated on a schedule

ODS's are maintained in more real time, trickle fed constantly

No comments:

Search 4 DataStage