Showing posts with label Ab Initio Interview-Questions. Show all posts
Showing posts with label Ab Initio Interview-Questions. Show all posts

Ab Initio Interview Question and Answers Collection

12/16/2010 No Comment

Collection of Ab Initio Interview Question and Answers.

Ab Initio Interview Basics, Question and Answers

11/24/2010 No Comment

Ab Initio Basics and Fundamentals Interview Question and Answers.

What is a destructor ?
Answer : In OOPS, a destructor is a method which is automatically invoked when the object is destroyed and is used to deallocate memory and do other cleanup for a class object

What is a Web service?
Answer : A Web service is a method of communication between two devices over the World Wide Web.It uses a standardized XML messaging system and integrates Web-based applications using the XML, SOAP, WSDL and UDDI open standards.

What kind of services operating system provides?
Answer : An Operating System provides a lot of services to both the users and to the application programs.
  • It provides users, services to execute the programs in a convenient manner.
  • It provides I/O operations, Error Detection, Resource Allocation, Protection, File System manipulation, Communication.
  • It provides programs, an environment to execute.
What is an algorithm?
Answer : In mathematics and computer science, an algorithm is a step-by-step procedure/process or set of rules to be
followed in calculations or other problem-solving operations, especially by a computer.

What is a constant?
Answer : In programming, a constant is a value that never changes. For example, the number of pencils in a dozen is always 12.

What is XML-RPC?
Answer : XML-RPC is a is a simple, portable way to make remote procedure call. It uses XML to encode its calls and HTTP as a transport mechanism

What does ASCII stand for? 
Answer : ASCII stand for American Standard Code for Information Interchange. It is the most widely used format used for text files.

What does ALGOL stand for?
Answer : ALGOL stands for ALGOrithmic Language. Its a family of imperative computer programming languages developed in 1950s. It was the standard method for algorithm description.

What does SQL stand for?
Answer : SQL stands for Structured Query Language and is used for managing data held in a relational database management system.

What is a variable?
Answer : In computer programming, a variable is a storage location enabling the programmer to write flexible programs.

What are the four basic types of data?
Answer : Primitive data types
Composite types
Abstract data types
Utility data types

What for a conditional loop is best suited?
Answer : In cases where it represents a loop that evaluates its body while a specified condition holds true.

What is an incremental loop?
Answer : An incremental loop allows programs to repeat a statement or series of statements, over and over, as long as a certain test condition is true.

What are Relational operators used for?
Answer : Relational operators perform element-by-element comparisons between two arrays/ two operands and determine the validity of a relationship.

What Relational Operators Do you know?
Answer : Some of the relational operators are <, >, <=, >=, ==, and ~=.

What does grep() stand for? 
Answer : In unix,Grep is a command-line utility for searching plain-text data sets for lines matching a regular expression. Grep searches files specified as arguments.
Eg $ grep India countrylist.txt

What does CGI stands for?
Answer : Common Gateway Interface (CGI) is a standard method used to generate dynamic content on web pages and web applications.

What does CORBA stand for?
Answer : CORBA stands for Common Object Request Broker Architecture. It is designed to facilitate the communication and collaboration of systems that are deployed on diverse platform, different operating systems, programming languages, and computing hardware.

What does Cobol stands for?
Answer : Acronym for common business oriented language. It is one of the oldest and earliest high-level programming languages used for business applications.

What does HTML stands for?
Answer : HTML stands for HyperText Markup Language. It is a standard markup language used for creating web pages which can be displayed in a web browser

What does Fortran stand for?
FOTRAN stands for Formula Translation. Its a general-purpose, programming language used for scientific calculation.

What is DOS?
Answer : DOS stands for Disk Operating System which was the first used operating System for personal computers. It was first introduced by Microsoft in August 1981

What does RPG stands for?
Answer : RPG stands for Report program generator. Its is a IBM proprietary language high-level programming language and is used for business applications.

What does BASIC stand for?
Answer : BASIC stands for Beginner's All-Purpose Symbolic Instruction Code.

What is LISP?
Answer : LISP family of computer programming languages and has been one of the leading language for software research and advanced development projects. Lisp pioneered many ideas in computer science, including tree data structures, automatic storage management.

  • Check all Ab Initio Interview Question and Answers Here

Ab Initio Data Warehousing Interview Questions and Answers

9/06/2010 1 Comment

Ab Initio Data Interview Questions and Answers.

Explain how do you find whether a SQL query is using the indices you applied?
Answer : We can extract the Explain plan which can be reviewed to check the execution plan of the query. This would tell us if the expected indexes are used or not.

How does MAXCORE works in Ab Initio?
Answer : Maxcore is a value (it will be in Kb).Whenever a component is executed in Ab Initio, it will take that much memory that we have specified for execution in MAXCORE.

Explain how do you create repository in Ab Initio for a stand alone system?
Answer : When you are trying to install the Ab -Initio on stand alone machine (LOCAL NT) , it is not necessary to create the repository , While installing the software, it automatically creates for the user which can be found under AbInitio directory

Explain how can you convert 4-way MFS to 8-way MFS in Ab Initio?
Answer : In oredr to convert 4-way MFS to 8-way MFS partition, we need to change the layout in the partitioning component. For this, there will be separate parameters for each and every type of partitioning
For instance. AI_MFS_HOME, AI_MFS_MEDIUM_HOME, AI_MFS_WIDE_HOME etc.

The most appropriate parameter is need to be selected in the component layout to be used for this type of partitioning.

Explain what is the difference between a clustered and non-clustered index and why do you use a clustered index? What do you mean by an outer join?
Answer : A clustered index is a special type of index that reorders the way records in the table are physically stored. Therefore a table can have only one clustered index. It is generally faster to read from a clustered index if you want to get back all the columns.

A non-clustered index is a special type of index in which the logical order of the index does not match the physical stored order of the rows on disk. The leaf node of a nonclustered index does not consist of the data pages. With a non clustered index there is a second list that has pointers to the physical rows.

An outer join is used when one wants to select all the records from a port - whether it has satisfied the join criteria or not.

Explain about Partition by load balance in Ab initio
Answer : Partition with Load Balance is meant for distributing data records to its output flow partitions by writing more records to the flow partitions that consume records faster.

It reads records in arbitrary order from the flows connected to its in port and distributes those records among the flows connected to its out port by sending more records to the flows that consume records faster
Partition with Load Balance writes data records until each flow's output buffer fills up.
  • Check all Ab Initio Interview Question and Answers Here

Ab Initio Questions and Answers

4/13/2010 No Comment

Ab Initio Question and Answers on Best Practices.

Best Practices and Guidelines to be followed in projects.

What are the best practices to be followed in Ab Initio when doing Check-In and Check-Out?
Answer : The best practices for Ab Initiio Check-In and Check-Out are cited below.
  • Before you proceed with  “Checking In” any graphs, please ensure that it has been deployed successfully.
  • The Abinitio Sand Box for all authorized users of the software should be created only by the ETL/Ab Initio Administrator.
  • In order to obtain the latest version of the graph “Check Out” from EME Data store.
  • Before “Checking In” you have to inform the ETL/Ab Initio Administrator about it.
  • Before you run a graph “Check Out” from EME Data store to your individual sand box. There may be cases when the graph is not present in the EME Data store “Check In” and then go ahead and run it.
  • Before you create graphs on the server, please ensure that the User-ID, Password in the EME Settings as well as the Run Settings are the same to avoid any conflicts.
  • Before you modify a graph please make sure that it is locked to avoid any sharing conflicts. When you lock a graph you prevent other users modifying it simultaneously. It is advisable that individual graphs are handled by separate users.
  • Before you proceed on to modify any table in the target database inform the concerned DBA and get the approval.
  • It is advisable not to create any table in the target database. There may be cases where it may be required, ask the DBA to handle it.
  • Anything related to database and problems should be reported to the concerned DBA immediately without fail.
  • It is advisable not change any of the environment variables. As these environment variables are global to all graphs they should not be modified. Only the ETL Admin has rights to set or modify the environment variables according to requirements.
What are some of the best practices for Ab Initiio project implementation?
Answer : The best practices for Ab Initiio project implementation are cited below.
  • When  you run a graph, you may encounter different errors. As such, make sure that you maintain error logs for every error you come across during the running of as graph. A consolidated, detailed error sheet should be maintained containing error related and resolution information of all users which can be used for reference when facing similar errors later on. 
  • Make sure that you are using the relevant dbc file in all your graphs.
  • Before you run a graph check whether the test parameters defined are valid or not.
  • When you encounter a database error, contact the DBA immediately.
  • Ensure that you always validate a graph before executing it and make sure that it validates successfully. Deploy the graph only after successful validation.
  • The script ab_project_setup.ksh should be executed on regular basis. Contact ETL Administrator to get more details.
  • After you implement the desired modifications save and unlock the graph.
Describe the DML & XFR Usage best practices
Answer : The best practices for  DML & XFR Usage are cited below.
  • Ensure that you do not embed the DML if it belongs to a landed file or if it is to be reused in another graph. You need to create DML files and specify as path.
  • Make sure that you do not embed the XFR if it is going to be re-used in another graph. Create XFR files and specify as path.
What are the best Documentation practices followed in Ab Initio?
Answer : The best practices for Documentation are cited below.
  • Ensure that you maintain documents regarding all the change and modifications performed on existing graphs or scripts in your project, so that it can be referenced later on.
  • When you are testing any graph follow the testing rules as per the testing template provided. Ensure that you maintain documents for all testing activities performed.
  • Make sure that you maintain ETL design documents for all graphs that has been created or modified. The documents should be modified accordingly if any changes are performed on the existing graphs.
Explain what are the best practices to be followed for efficient usage of components in Ab Initio.
Answer : The best practices for efficient usage of components are cited below.
  • Try to reduce the size of the file, if the source file contains more data elements than what you need for down stream processing. Add a Reformat as your first component to eliminate any data elements that are not needed for down stream processing.
  • Apply any Rollup’s early in the flow as possible. This will reduce the number of records you will need to process early in the flow.
  • Ensure that you apply any filter criteria as early in the flow as possible. This will reduce the number of records you will need to process early in the flow.
  • Try to separate out the functionality between components. If there is a need to perform a reformat and filter on some data, use a reformat component and a filter component. Do not perform Reformat and filter in the same component. 
  • Check all Ab Initio Interview Question and Answers Here

Ab Initio Interview Questions and Answers

4/11/2010 No Comment

Ab Initio Interview Questions and Answers.

These question are asked in top companies of India.

In your project did you ever encounter an error called "depth not equal"?
Answer : When there are two components that are linked together  and if their layout doesn't match, this problem can occur during the compilation of the graph. As a solution to this problem, we should use a partitioning component in between if there was change in layout.

Explain what is the function that you would use to transfer a string into a decimal?

Answer : If we encounter this, no specific function is required if the size of the string and decimal is same. We can just use decimal cast with the size in the transform function and that will be sufficient. For instance, if the source field is defined as string(8) and the destination as decimal(8) then (say the field name is field1).out.field :: (decimal(8)) in.field

Again if the destination field size is lesser than the input then use of string_substring function can be used likie the following.
say destination field is decimal(5).
out.field :: (decimal(5))string_lrtrim(string_substring(in.field,1,5)) /* string_lrtrim used to trim leading and trailing spaces */

In relational database, the relationship between the two tables is represented by using Primary key and foreign key relationship.Whereas the primary key table is the parent table and foreign key table is the child table.The main requirement for both the tables is that, there should be a matching column.

Explain what do you mean by Cartesian joins?

Answer : This join returns the Cartesian product of the sets of records from the two or more joined tables.  It joins two tables without a join key. Key should be {}. A Cartesian join of (A,B) and (1,2,3) is (A,1) (A,2) (A,3) (B,1) (B,2) (B,3).

SQL:
SELECT T1.cust_id, T2.product_id, T2.product_name FROM order T1, product T2

Explain what is the purpose of having stored procedures in a database? 
Why do you use 'with recompile' option?
Answer : The most important purpose of Stored Procedure is that it reduces the network traffic and all SQL statement executing in cursor so speed expected is much faster.

When the tables referenced by the stored procedure undergoes a lot of changes and modification like deletion or addition of data, the recompile option is used. Due to constant and heavy modification activity the execution plan becomes outdated and as such the stored procedure performance goes down. Hence, when we create the stored procedure with recompile option, the SQL server wont cache a plan for this stored procedure and it will be recompiled every time it is executed.

Explain how can you force the database optimizer to use a particular index?

Answer : To achieve this, use hints /*+ */, these acts as directives to the optimizer
select /*+ index(a index_name) full(b) */ *from table1 a, table2 bwhere b.col1 = a.col1 and b.col2= 'sid'and b.col3 = 1;

When you use multiple DML statements to perform a single unit of work, which one is more preferable to use - implicit or explicit transactions?

Answer : Because implicit is using for internal processing and explicit is using for user open data required.

Can you please describe the elements you would review to ensure multiple scheduled "batch" jobs do not "collide" with each other.

Answer : Because every job depend upon another job for example if you first job result is successful then another job will execute otherwise your job doesn't work.

Explain the process and steps involved in performing de-fragmentation of a data table.

Answer : Consider a scenario. The table contains mission critical data.
We can achieve this by several ways

  • We can move the table in the same or other tablespace and rebuild all the indexes on the table alter table move this activity reclaims the de-fragmented space in the table analyze table table_name compute statistics to capture the updated statistics.
  • Reorg could be done by taking a dump of the table, truncate the table and import the dump back into the table.
Explain about the “Grant/Revoke” DDL facility and how it is implemented.
Answer : Technically speaking, this is a part of D.B.A responsibilities.
GRANT means permissions
For instance GRANT CREATE TABLE ,CREATE VIEW AND MANY MORE .
REVOKE means cancel the grant (permissions).So,Grant or Revoke both commands depend upon D.B.A


What do you mean by a cursor? Explain how do you update fields on the row just fetched?
Answer : The Oracle Database engine uses certain work areas for internal processing in order to the execute SQL statement, this is called cursor.Cursors can be classified into two types - Implicit cursor and Explicit cursor. Implicit cursor is using for internal processing whereas Explicit cursor is defined by the program for any query that returns more than one row of data.
  • Check all Ab Initio Interview Question and Answers Here

Ab Initio Interview Questions Answers

1/31/2010 No Comment

Ab Initio Interview Questions asked in top companies. 

Explain what is the relation between GDE, EME  and Co-operating system in ABI?
Answer : EME is an enterprise metadata environment GDE as graphical development environment Co-operating system can be said as  Ab Initio Server.

The relation between Co-operating system, EME and GDE is as cited below.
Co operating system is the Ab Initio Server.This Co-operating is installed on particular Operation System platform which is called Native OS. EME is just as repository in Informatica , it hold the metadata information, transformations, database configuration files, source and target information. GDE is end user environment where we can develop the graphs. Designer uses the GDE and designs the graphs and save to the EME or Sandbox at the user side where EME is at the server side.

Explain the different kinds of layouts that Ab Initio supports?
Answer : There are serial and parallel layouts supported by Ab Initio. A graph can have both at the same time. The parallel one depends on the degree of data parallelism. If the multi-file system is 4-way parallel then a component in a graph can run 4 way parallel if the layout is defined such as it's same as the degree of parallelism.

Explain the process of adding default rules in transformer?
Answer : You need to do the following steps. Double click on the transform parameter of parameter tab page of component properties, which will open transform editor for the user. While in the transform editor, click on the Edit menu and select Add Default Rules from the drop-down menu. It will show up two options 
Match Names and Wildcard. 

Explain the process of running a graph infinitely in Ab Inito?

Answer : In order to run a graph infinitely in Ab Initio, the end script in the graph should be calling the .ksh file of the graph. Hence, if the name of the graph is abc.mp then in the end script of the graph, there should be a call to abc.ksh. In this way we can make the graph will run infinitely.

Explain in detail with an example what is the difference between look-up file and look-up?
Answer : Look-up file represents one or more serial files(Flat files). The amount of data is small enough to be held within the memory. This allows transform functions to retrieve records much more quickly than it could retrieve from Disk.

A look-up is a component of the Ab Initio graph where we can store data and retrieve it by using a key parameter.A look-up file is the physical file in the disk where the data for the look-up is stored.

Explain what is the function of look-up?

Answer : Look-up is a specific data-set which is keyed. It can be used to mapping values as per the data present in a particular file (serial/multi file). The data-set can be static as well as dynamic. Sometimes, hash-joins can be replaced by using reformat and look-up if one of the input to the join contains less number of records with slim record length. AbInitio has defined some built-in functions to retrieve values using the key for the look-up

What do you mean by a local look-up in Ab Initio?
Answer : If your look-up file is a multi-file and partitioned/sorted on a particular key, then local look-up function can be used ahead of look-up function call. This is local to a particular partition depending on the key.
Look-up File consists of data records which can be held in the main memory. This will make the transform function to retrieve the records much much faster than retrieving from the disk. It also allows the transform component to process the data records of multiple files in a faster way.

  • Check all Ab Initio Interview Question and Answers Here

Abinitio Interview Questions

1/21/2010 No Comment

Abinitio Interview Questions asked in various companies.

Professionals are invited to share Answers.

  1. Explain how will you take input data from an excelsheet into Ab Initio?
  2. Explain about rollback plan in Ab Initio
  3. What is ABI fancing ? 
  4. How do you create web service in Ab Initio?
  5. Which one is do you think is faster for processing  delimited dmls or fixed length dmls. Explain why? 
  6. What are the ABI continuous flow components? 
  7. Does ABI support Oracle Merge statement?
  8. Explain in brief about the Ab Initio ETL tool Architecture
  9. What are the 6 main data processing products in Ab Initio?
  10. How will you strip out header and footer rows in a data file?
  11. Explain about the Grant and Revoke statements? Also describe DDL facility and its implementation.
  12. Is backward compatibility allowed in Ab Initio? If Yes, then explain how?
  13. How will you do Record by Record Comparison in ABI?
  14. How will you integrate Ab Initio With Hadoop/Big Data
  15. What is an a outer join? Explain about left and right outer join? What are Cartesian joins?  
  16. What is an index? Explain in brief about clustered index and non-clustered index. How will you force the optimizer to use a particular index? 
  17. How can you reverse-engineer a graph?
  18. How do you read from and write to the same file in a graph?
  19. What is Replicate and Broadcast?
  20. What is Included Rulesets in Ab Initio?
  21. How will find old recovery files on Abinitio?
  22. What is a Surrogate Key? How will you create one in ABI?
  23. Explain Multi Update Table in Ab Initio
  24. What is buffered copy?
  25. Explain Checkpointed Sort in brief.
  • Check all Ab Initio Interview Question and Answers Here

Abinitio Interview Questions asked in top Companies

1/16/2010 No Comment

Abinitio Frequently Asked Interview Questions in top companies.

  1. How can you return multiple records from lookup in ABI?
  2. How does the parameter MAXCORE do in Ab initio?
  3. Explain the difference between XFR Expression and DML Expression? 
  4. Explain in brief about your work with ABI packages?
  5. What things you would keep in mind when you load data into a table?
  6. Explain how would you run the graph without GDE?
  7. What Dedup Sort and Checkpoint Sort in ABI? 
  8. What are the different versions and the latest releases of  Ab Initio?
  9. Describe in brief about is Adhoc File System? Tell us a scenario where you implemented it.
  10. When writing wrappers, what are the different commands that you take help of?
  11. What do the hidden files in a ABI sandbox represent and what does start.ksh represent?
  12. Explain in detail about testing abintio manually and through automation tools? 
  13. Explain the main difference between sandbox and EME. How can you perform check-in and checkout through sandbox.
  14. Explain the different ways you can debug Ab Initio graph
    Explain about the various partition and de-partition components you have used in your project?
  15. What is shell variable $mpjret used for? Where it is used in Ab Initio? 
  16. What is the difference between lookup and join?
  17. What is .abinitiorc file in Ab Initio?
  18. How will you find difference between two dates in Ab initio?
  19. What is a compressed data file, what are its advantages and disadvantages?
  20. What is a to Surrogate Key. How do you create a surrogate key using Ab Initio? 
  • Check all Ab Initio Interview Question and Answers Here

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

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
http://serverhost[:serverport]/abinitio

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
Convert.ToDecimal(stringValue);

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

Ab Initio Frequently Asked Questions and Answers

1/02/2010 No Comment

Ab Initio Interview Questions with Answers. 

This page contains Frequently Asked questions on Ab Initio. 

What is ramp limit in ABI?
Answer : When we want to set the reject threshold parameter in component then limit and ramp parameter become available. The two together ie ramp and limit calculate the component tolerance for reject event.Both provides the threshold value of bad records.

limit +(ramp * no. of the records processed)

Explain the difference between dbc and cfg configuration files? 
Answer : Both are database configuration files. cfg is the configuration file for configuring the Database table whereas dbc is the Database configuration file.

What are the compilation errors you came across while executing your graphs?
Answer : If you have not specified DML for any of the component, that will be a compilation error.

What is depth_error ?
Answer : We get depth_error in Ab Initio when two components connected together but does't match their layout.

What is the difference between conventional loading and direct loading ? 
Answer : Utility Mode can be either Direct or Conventional.
In conventional loading, before the data is loaded, all the Table constraints will be checked against the data.
Direct Loading is for faster loading. Here all the constraints will be disabled and data will be loaded directly. Later the data will be checked against the table constraints and the bad data won't be indexed.

Explain the different types of partitions and scenarios in Ab initio.
Answer : The different kind of partitions are broadcast, pbyexpression, pbyroundrobin, pbykey, pwithloadbalance.

How can you see resource usage?
Answer : To check for resource usage. In GDE goto options View > Tracking Details - you will see each component's CPU and memory usage, etc.

What does dependency analysis mean in Ab Initio?
Answer : In Ab Initio, dependency analysis is usually done to find the movement of data, the origin and the destination ie from where it started and where it is flowing.Which graph modified it and what it was modified to. It  is the process by which the EME examines a project on a whole and traces how data is transformed and transferred, field by field, from component to component, within and between different graphs and across projects. It is also something needed to be check if any component is dependent on other and then need to be divided phase by phase.

Consider a scenario during  graph execution, you lost the network connection, do you need  to start the process all over again or will it start from where it stopped?
Answer : It will resume from the point where it stopped.

Can you tell me what does unused port in join component do?

Answer : We need to join the data after appling the join conditions, unused records are send to the unused port and used records send to the output port.

What is a sandbox in Ab Initio? 

Answer : Sandox is a special directory structure which will hold all the files corresponding to the project. In sandbox we store the graph related files, as such it works as a local work area. Its created in local desktop machine. Sandbox also works as a intermediate stage between the GDE and EME.

How did you do version control in Ab Initio? Which tools did you normally use?
Answer : We use EME for version control as well as PVCS. I cases , we may store the graph with out version control.

How do you troubleshoot performance issues in graph?
Answer : To troubleshoot performance, or to increase the performance of the graph use phase & cp, sort components.

Have you worked in production support? What were the different kinds of problems that you encountered while working in a support project?
Answer : Yes, I have worked in a very active production support environment. There are different issue related to visibility of data, system crashes and the like. The most important aspect is to attend the problem on time and constant monitoring.

Explain how can you count the number of records in a multifile system without the use of GDE?

Answer : We can achieve it by the following
M_cat file|wc –l
M_wc dmlof thefile file

What does Scan and Rollup component do and give a scenario where you used them?
Answer : Rollup component give summarize groups of data records & performs aggregate functions like scan generate cumulative totals.

Why you create a stored procedure with the 'with recompile' option?
Answer : The recompile option is very useful when the tables referenced by the stored procedure undergoes a lot of modification, deletion or addition of data. It is because of this heavy modification activity, the execute plan becomes outdated and hence the stored procedure performance goes down. If we create the stored procedure with recompile option, the sql server wont cache a plan for this stored proc and it will be recompiled every time it is run. Hence, you can make it "with recompile" to assure good performance.

Name the different dimension tables that you used and some columns from the fact table?
Answer : Customer, Policy, Claim, Loss and Coverage
Fields from fact table: Loss_mitigation, Cwa_cwp_count, Loss_count, Total_amount

Explain the difference between REDEFINE FORMAT and REFORMAT components?
Answer : REDEFINE FORMAT simply changes the record format on the data as it flows through, thus it leaves the data unchanged. REDEFINE FORMAT copies data records from its input to its output without changing the values in the data records.

The component REFORMAT can actually change the bytes in the data. REFORMAT can change the record format of data records by dropping fields, or by using DML expressions to add up fields, combine the fields, or transform the data within the records.

REDEFINE FORMAT can be used to change or rename fields in a record format without changing the values in the records. Thus, Redefine Format is similar to the DML built-in function reinterpret_as. Typically, REDEFINE FORMAT has different DML on its input and output ports, and hence it enables the unmodified data to be interpreted in a different format.
  • Check all Ab Initio Interview Question and Answers Here
 

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