Abinitio Frequently Asked Interview Questions

1/06/2010 No Comment

Abinitio Interview Questions asked in various companies like IBM, Wipro, Infosys.

How can you count the number of records in a flat file in Ab initio?
You can use the aggregate function "count". Also, you can use Rollup component to count the number of record in the flat file. You have to use {} as key in the key specifier. This will make all the fields as one record and count the total number of records.

How do you connect EME to Abinitio Server?
There are serveral ways of connecting EME to Abinitio Server.
1.By setting AB_AIR_ROOT
2.By using GDE by which you can connect to EME datastore.
3.Login to EME web interface

Did you ever encounter an error called 'depth not equal' in Ab Initio?
'Depth not equal' occurs during the compilation of the graph, it can arise when two components are linked together but their layout doesn’t match. A solution to this problem would be to use a partitioning component in between if there was change in layout.

What is a local lookup in Ab Initio?
This function is quite similar to a m_lookup. The difference however is that this function returns NULL when there is no record having the value that has been mentioned in the arguments of the function

Explain the difference between look-up file and look-up

A lookup file is the physical file where the data for the lookup is stored.
A lookup is a component of abinitio graph where we can store data and retrieve it by using a key parameter.

What is the difference between a Scan component and a RollUp component?
Rollup is for group by and Scan is for successive total. Hence, when we need to produce summary then we use scan. Rollup is used to aggregate the data.

Explain how do we handle if DML changing dynamicaly?
There are different many ways to handle the DMLs which changes dynamically over a time-frame and within a single file.One of the most suitable methods is to use a conditional DML or to call the vector functionality while calling the DMLs.

What is m_dump command?

m_dump command prints the data in a formatted way. Its is mostly used to get DMLs in UNIX.
m_dump <file.dat>
m_dump is used to view data as in graphs
m_dump [-dml] [-file]
Explain in detail how can you improve the performance of a graph?
I am listing some of the ways how the performance of the graph can be improved.
  • By using a limited number of components in a particular phase.
  • By minimizing the number of sort components.
  • Try minimizing sorted join component and if possible replace them by in-memory join/hash join 
  • Try to use optimum value of max core values for sort and join components.
  • Try using only required fields in the sort, reformat, join components 
  • Use phasing/flow buffers in case of merge, sorted joins.
  • Minimize the use of regular expression functions like re_index in the transfer functions 
  • Try to avoid re-partitioning of data unnecessarily.
  • If the two inputs are huge then use sorted join, otherwise use hash join with proper driving port
  • For large data-set don't use broadcast as partition-er.
How many components are there in your most complicated graph?
The answer is quite tricky. In a well designed modular and parametric design, most of the graphs will have 3/4 components, which will be doing a particular task and will then call another sets of graphs to do the next task and so on and so forth. In this way, total numbers of distinct graphs will come down drastically, thereby support and maintenance will be much more simple.

Write the function which you would use to transfer a string into a decimal?
out.decimal_field :: ( decimal( size_of_decimal ) ) string_field;
The statement converts the string to decimal and populates it to the decimal field in output

What is AB_LOCAL expression where do you use it in ab-initio?
AB_LOCAL expression is a parameter of itable component of Ab Initio. AB_LOCAL() is replaced by the contents of AB_LOCAL expression . There are two forms of AB_LOCAL() construct available, one with no arguments and one with single argument as a table name(driving table)

What is mean by Co > Operating system and why it is special for Ab-initio ?

Co > Operating System converts the Ab Initio specific code into the format, which the UNIX/Windows environment can understand and feeds it to their native operating system, which is used for carrying out the different tasks.

How can you run a graph infinitely?
In  order to run a graph infinitely, the end script in the graph should call the .ksh file of the graph

What is the syntax of m_dump command?
m_dump is the command used in Ab Initio to view the data residing in multifile from unix prompt.The general syntax of m_dump command is as follows
1. m_dump a.dml a.dat: 
The above command will print the data as it appears from GDE when we view data in formatted text.
2. m_dump a.dml a.dat >b.dat: 
The output will be re-directed in b.dat and b.dat will act as a serial file.b.dat can be referred to whenever it is required.

How do you truncate a table in Ab Initio?

There are different ways to achieve it.
1. Easiest way is to use Truncate Table command.
2. Run Sql or update table can be used to achieve the same thing.
3. Run Program
  • Check all Ab Initio Interview Question and Answers Here
Related Posts

No comments :


Aired | The content is copyrighted and may not be reproduced on other websites. | Copyright © 2009-2016 | All Rights Reserved 2016

Contact Us | About Us | Privacy Policy and Disclaimer