Thursday, 8 July 2021

Barclays Abinitio Developer Interview Question -

1) SCD  type 2 implementation, full load, daily delta load explanation?

2) What are the components that we are using in SCD type 2 implementation?

3) Types of parallelism?

4) Performance improvement technique?

5) Which component breaks pipeline parallelism?

6) Does sort within-group component breaks pipeline parallelism?

7) What all are the components you have worked on?

8) scenario - max of the transaction? if the data volume is high what should be the optimized approach?
i/p- partition by round-robin - Rollup ( 2 stage routing)

9) Count the number of records from a file in Abinitio? 
I/P - Rollup -O/P
Rollup - 
key - null 
transformation - use count function

10) What all are the script you have worked on?

11) m_db command, air command to check-in, checkout and compare with eme version copy?

12) Migration of code from one env to another environment?

13) Type of lookup file - Lookup and lookup_local?

14) In which scenario we should use lookup and Join?

14) (Unix) Remove empty lines from a flat file? 

15) Delete duplicate from a file without using Dedup sorted component?

Using Rollup key change or  Rollup in the expanded mode we can avoid duplicate(first and last function)

Using rollup in expanded mode -
 
I/P -
Transaction 
1500
1500
2000
2000
2000
4000
4000

Rollup key - Transaction
Transformation - out.Transaction :: first(in.Transaction);
or 
 out.Transaction :: last(in.Transaction);

Using Rollup Key change function
out::rollup(in)=
begin
out.*::in.*;
end;

out::key_change(in1,in2)=
begin
out::in2.Transaction !=in1.Transaction;
end;

15)Read multiple files and write multiple files?

16) (Unix) 30 days older files in a directory find command?

17) (Unix) Command to find the transaction not in 1500 and 2000 in a file?
grep -v '1500/|2000' input_file.dat

18) (Unix) Command to find the transaction greater than 2600?
awk '$1 > 2600' input_file.dat


No comments:

Post a Comment

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 ...