Friday, 30 April 2021

Frequently asked Abinitio Interview Questions 2021

1) What is Replicate? 

    Hint - Replicate arbitrarily combines all the input record it received in a single flow and     writes a copy of data to each of its output flow, Supports component parallelism.

 2) What is Broadcast?

   Hint - Broadcast arbitrarily combines all the input record it received in a single flow and writes a copy of the data to each flow partition, to increase data parallelism. 

 3) Difference between Broadcast and Replicate? 

 4) Command to checkin the Object in Repository? 

   Hint- air project import

 5) Command to Checkout an object from Repository? 

 Hint - air project export

 6) Scenario - Finding max Transaction date and 5 Transactions Amount? 

 example - 

 Input -cust_id transcation_dt transcation_amount

 output - max transcation dt and 5 transcation amount. 

 7) What is SCD1 and SCD2. 

 8 ) Scenario - 
 Input - 
ZEBRA 
ELEPHANT 

 Output- Z 
ZE
ZEB 
ZEBR
ZEBRA
EL
ELE
ELEP
ELEPH
ELEPHA
ELEPHAN 
ELEPHANT 

Hint - i/p file -> Normalize ->Output file out::length(in)= begin out :: string_lengthe(in.id); end; out::Normalize(in,index)= begin out.id :: string_substring(1,index); end

Monday, 26 April 2021

IBM Ab initio Interview questions 2021-


1) What is SCD TYPE1,TYPE 2  ?

2) How to Implement SCD TYPE2 In Abinitio?

3) What is Dependency Analysis? How to Implement Dependency Analysis?

4) Checkin and Checkout Backend command?

5) Difference between two objects of Repository?

6) How to migrate the code from one environment to another?

7) Tag creation, save file creation Command?

8) Graph Lineage?

9) Dataset in Abinitio?

10) 2-stage routing?

11) Scenario on Inner, Left, Right, Full Outer join Example?

12) Representation of $, based on PDL knowledge

13) Which command could be used to check in an object whose MIME type is not defined in the EME?

14) Output_select() of rollup component refers to which of the below clauses?




Sunday, 18 April 2021

Mindtree Ab initio Interview Questions 2021 -


1) Difference between AB_WORK_DIR and AB_DATA_DIR?

AB_WORK_DIR - > Default value - /var/abinitio

Specifies the storage directory for temporary files written by co>operating system when running a job. Because this directory contains a recovery file, it is crucial that its file system never filled up.

AB_DATA_DIR ->  Default value - /~ab_work_dir/data

Temporary data files written during job execution by components that lack a specific ,writable path in their layouts(including for dynamic layout)

2) Difference between .abinitiorc and abinitiorc which will take precedence if we will define parameters both in abinitiorc and .abinitiorc?

abinitiorc -  global configuration file (/etc/abinitio/abinitiorc)

A configuration variable set in this file will take precedence over any other variable set for that configuration variable, which means that variables set in this file are both global and cannot be overwritten.

.abinitiorc - $HOME/.abinitiorc

3) city distance scenario 

4) count(*) and count(1) difference in SQL ? why we are using it?

Count(*) - Count total rows in the table , including the null value.

Count(1) - Count using the first column: primary key. Count (1) is using the index to count rows and it is faster than the count(*).

The result of count(*) and count(1)  are identical.

5) Separate header, trailer, and body record from a multifile without any indicator in input DML?

6) now() and now1() difference? - 

now() gives the time at the point of time.

 now1() gives a consistent point of time for the duration of the graph execution from the point of the first call.

7) What is skew?

8) Create a Generic graph to read 50 tables from a file and process it.

9) Question from example > cookbook> gendiff  > generic_difference_pdl.mp

10) 2nd highest Salary in Abinitio? - scan - rank function set to 2.

11) 2nd Highest Salary in SQL?

1st Query -  select max(salary) from table_nm where salary < (select max(salary) from table_nm)

2nd Query - SELECT salary 
FROM (
  SELECT salary, ROW_NUMBER() OVER (ORDER BY salary DESC) AS row_num
  FROM employees
) AS subquery
WHERE row_num = 2;

In this query, we are selecting the salary column from a subquery that first sorts the employees table by salary in descending order and assigns a row number to each row using the ROW_NUMBER() function. Then, in the outer query, we select the salary from the subquery where the row number is 2, which corresponds to the second-highest salary.

Note that this query assumes that there are at least two employees in the table with different salaries. If there is only one employee in the table, the query will return no results. If there are multiple employees with the same highest salary, the query will return the next highest unique salary.

3rd Query - SELECT salary
FROM (
  SELECT salary, DENSE_RANK() OVER (ORDER BY salary DESC) AS rank
  FROM employees
) AS subquery
WHERE rank = 2;

how to create dml dynamically in Ab-initio

 $[ begin let int i = 0; let string(int) complete_list = "emp_nm,billable,age,designation,location"; let string(int) file_content ...