Abinitio Technical Interview Questions

1/11/2010 No Comment

Ab Initio Technical Interview Question and Answers Collection.

Explain the significance and the importance of EME in Ab Initio?
EME  is used for version control. It is as a repository in Ab Initio, used for check-in and check-out of graphs thereby maintaining graph version and preventing conflicts.

What do you mean by skew and what is skew measurement?
The skew of a data partition is the amount by which its size deviates from the average partition size, it is therefore expressed as a percentage of the largest partition. Skew is used to measure the relative imbalance in parallel loading. When there is uneven load balancing, it causes the skew.

Explain how would you add default rules in transformer?
You can use the following process to add default rules in transformer in Ab initio.
- Double click on the transform parameter in the parameter tab page in component properties.
- Open the Edit menu in Transform editor
- Select "Add Default Rules" from the drop-down list box.
- It shows Match Names and Wildcard options. You need to select either of them.

Explain the difference between file and table in Ab Initio
In Ab Initio, a table maintains data in a relational format or structure. File means non relation structure ie it maintains data.

What does the .abinitiorc file do and what does it contain? 
The .abinitiorc file contains all configuration related variables such as AB_DATA_DIR, AB_WORK_DIR, etc. Typically, it contains Ab Initio home path, different login information like id, encrypted passwords, login method for hosts where the graph connects in time of execution. The file can be found in the location "$AB_HOME/Config".

How do you create a computer program that  will compute the monthly interest charge on a credit card account? To achieve this, we should use the aggregate component and after that we can proceed to do the required manipulations.

What is .profile in Ab Initio and what is its significance?
The .profile is a file which gets automatically executed when a particular user logging in.
The .profile file can be modified to include any commands that you want to execute whenever you log-in. there may be even commands that you can put in your .profile file that overrides settings made in /etc/profile.

There are other commands that you can set the following in your profile.

- Environment settings,  path variables, aliases,  name and size of your history file, primary and secondary command prompts..

Explain what is data mapping and data modelling in Ab initio? 
Data mapping deals with the transformation of the extracted data at the field level i.e. the transformation of the source field to target field is specified by the mapping defined on the target field. The data mapping is generally specified during the cleansing of the data to be loaded.

For Instance:
source;
string(35) name = "Rahul Dravid";
target;
string("01") nam=NULL("");/*(maximum length is string(35))*/

In this case, we can have a mapping like:
Straight move.Trim the leading or trailing spaces.

The above mapping specifies the transformation of the field nam.

Explain the process of  execution of graph from start to end stages? Tell me and how to run graph in non-Abinitio system? There are different ways to achieve this, you can run components according to phase how you defined by creating ksh, you can also run sh scripts.

Explain in brief the main difference between partitioning by key and 
partitioning by round robin? 
Partitioning by Key:
In this, we have to specify the key based on which the partition will occur. Since it is key based, it results in very well balanced data. As such, it is useful for key dependent parallelism.

Partitioning by Round Robin:
In this, the records are partitioned in sequential way, distributing data evenly in blocksize chunks across the output partition. It is not key based and results in well balanced data especially with blocksize of 1.As such, it is useful for record independent parallelism

Explain how would you do performance tune a built graph ? 

  • The space utilization by the Sort component at each phase should be optimum.
  • Instead of filter by expression, we can use partition by expression component.
  • We use lookup instead of Join, Merge Component.
  • To know the data volume for each flow, we can select driving port for a join component.
  •  In memory join can be used for join based on the data volume.
What are delta table and master table in Ab Initio?
Master table is the whole history table whereas the Delta table is daily record file.

How do you find the number of arguments defined in a particular graph.

$? - the exit status of the last executed command.
$# - No of positional parameters

Explain the method of working with parameterized graphs? 

The most important and one of the main purpose of the parameterized graphs is that, if we need to run the same graph for n number of times for different files, we set up the graph parameters like $INPUT_FILE, $OUTPUT_FILE, etc and we supply the values for these in the Edit>Parameters. These graph parameters are substituted during the run-time. hence this allows us to set different types of parameters like positional, keyword, local etc.

The main significance is that instead of maintaining different versions of the same graph, we can maintain one version for different files.

What is the main difference between API and UTILITY mode? 
Both API and UTILITY are the two possible interfaces to connect to the databases to perform certain user specific tasks.

When you load the data into a table in Utility mode, all the constraints that are defined are disabled and then data is loaded which in turn leads to faster access.

When  data is loaded using API Mode, constraints will be enabled, and as such the access will be slow.

Though, API Mode has more flexibility but often considered as a slower process as compared to UTILITY mode.
  • 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