35
8/13/2019 2_Top 50 Informatica Interview Questions With Answers http://slidepdf.com/reader/full/2top-50-informatica-interview-questions-with-answers 1/35 Top 50 Informatica Interview Questions with Answers Welcome to the finest collection of Informatica Interview Questions with standard answers that you can count on. Read and understand all the questions and their answers  below and in the following pages to get a good grasp in Informatica. What are the differences between Connected and Unconnected Lookup? The differences are illustrated in the below table Connected Lookup Unconnected Lookup Connected lookup participates in dataflow and receives input directly from the pipeline nconnected lookup receives input values from the result of a !"#$ e%pression in another transformation Connected lookup can use both dynamic and static cache nconnected !ookup cache can &'T be dynamic Connected lookup can return more than one column value ( output port ) nconnected !ookup can return only one column value i.e. output port Connected lookup caches all lookup columns nconnected lookup caches only the lookup output ports in the lookup conditions and the return port *upports user+defined default values (i.e. value to return when lookup conditions are not satisfied) ,oes not support user defined default values  What is meant by active and passive transformation? -n active transformation is the one that performs any of the following actions$ ) Change the number of rows between transformation input and output. /%ample$ 0ilter transformation. 1) Change the transaction boundary by defining commit or rollback points.2 e%ample transaction control transformation. 3) Change the row type2 e%ample pdate strategy is active because it flags the rows for insert2 delete2 update or re4ect.

2_Top 50 Informatica Interview Questions With Answers

Embed Size (px)

Citation preview

Page 1: 2_Top 50 Informatica Interview Questions With Answers

8/13/2019 2_Top 50 Informatica Interview Questions With Answers

http://slidepdf.com/reader/full/2top-50-informatica-interview-questions-with-answers 1/35

Top 50 Informatica Interview Questions with Answers

Welcome to the finest collection of Informatica Interview Questions with standard

answers that you can count on. Read and understand all the questions and their answers below and in the following pages to get a good grasp in Informatica.

What are the differences between Connected and UnconnectedLookup?

The differences are illustrated in the below table

Connected Lookup Unconnected Lookup

Connected lookup participates indataflow and receives input directly

from the pipeline

nconnected lookup receives inputvalues from the result of a !"#$

e%pression in another transformation

Connected lookup can use both dynamicand static cache

nconnected !ookup cache can &'T bedynamic

Connected lookup can return more than

one column value ( output port )

nconnected !ookup can return only

one column value i.e. output port

Connected lookup caches all lookup

columns

nconnected lookup caches only the

lookup output ports in the lookup

conditions and the return port

*upports user+defined default values (i.e.value to return when lookup conditions

are not satisfied)

,oes not support user defined default

values

 

What is meant by active and passive transformation?

-n active transformation is the one that performs any of the following actions$

) Change the number of rows between transformation input and output. /%ample$ 0ilter

transformation.1) Change the transaction boundary by defining commit or rollback points.2 e%ample

transaction control transformation.

3) Change the row type2 e%ample pdate strategy is active because it flags the rows forinsert2 delete2 update or re4ect.

Page 2: 2_Top 50 Informatica Interview Questions With Answers

8/13/2019 2_Top 50 Informatica Interview Questions With Answers

http://slidepdf.com/reader/full/2top-50-informatica-interview-questions-with-answers 2/35

'n the other hand a passive transformation is the one which does not change the number

of rows that pass through it. /%ample$ /%pression transformation.

What is the difference between Router and Filter?

0ollowing differences can be noted2

Router Filter

Router transformation divides theincoming records into multiple groups

 based on some condition. *uch groups

can be mutually inclusive (,ifferent

groups may contain same record)

0ilter transformation restricts or blocks

the incoming record set based on one

given condition.

Router transformation itself does not block any record. If a certain record doesnot match any of the routing conditions2

the record is routed to default group

0ilter transformation does not have adefault group. If one record does notmatch filter condition2 the record is

 blocked

Router acts like C-*/.. W5/&

statement in *Q! ('r *witch().. Casestatement in C)

0ilter acts like W5/R/ condition is

*Q!.

 

What can we do to improve the performance of InformaticaAreator !ransformation?

-ggregator performance improves dramatically if records are sorted before passing to the

aggregator and 6sorted input6 option under aggregator properties is checked. The recordset should be sorted on those columns that are used in 7roup 8y operation.

It is often a good idea to sort the record set in database level (click here to see why9) e.g.

inside a source qualifier transformation2 unless there is a chance that already sorted

records from source qualifier can again become unsorted before reaching aggregator 

:ou may also read this article to know how to tune the performance of aggregator

transformation

What are the different lookup cache"s#?

Informatica !ookups can be cached or un+cached (&o cache). -nd Cached lookup can be

either static or dynamic. - static cache is one which does not modify the cache once it is

1

Page 3: 2_Top 50 Informatica Interview Questions With Answers

8/13/2019 2_Top 50 Informatica Interview Questions With Answers

http://slidepdf.com/reader/full/2top-50-informatica-interview-questions-with-answers 3/35

 built and it remains same during the session run. 'n the other hand2 - dnamic cache is

refreshed during the session run by inserting or updating the records in cache based on

the incoming source data. 8y default2 Informatica cache is static cache.

- lookup cache can also be divided as persistent or non!persistent based on whether

Informatica retains the cache even after the completion of session run or deletes it

$ow can we update a record in taret table without usin Updatestratey?

- target table can be updated without using ;pdate *trategy;. 0or this2 we need to define

the key in the target table in Informatica level and then we need to connect the key and

the field we want to update in the mapping Target. In the session level2 we should set thetarget property as 6pdate as pdate6 and check the 6pdate6 check+bo%.

!et;s assume we have a target table 6Customer6 with fields as 6Customer I,62 6Customer

 &ame6 and 6Customer -ddress6. *uppose we want to update 6Customer -ddress6without an pdate *trategy. Then we have to define 6Customer I,6 as primary key inInformatica level and we will have to connect Customer I, and Customer -ddress fields

in the mapping. If the session properties are set correctly as described above2 then the

mapping will only update the customer address field for all matching customer I,s.

Under what condition selectin %orted Input in areator may failthe session?

• If the input data is not sorted correctly2 the session will fail.

• -lso if the input data is properly sorted2 the session may fail if the sort order by

 ports and the group by ports of the aggregator are not in the same order.

Why is %orter an Active !ransformation?

This is because we can select the 6distinct6 option in the sorter property.

When the *orter transformation is configured to treat output rows as distinct2 it assigns all ports as part of the sort key. The Integration *ervice discards duplicate rows compared

during the sort operation. The number of Input Rows will vary as compared with the

'utput rows and hence it is an -ctive transformation.

Is lookup an active or passive transformation?

0rom Informatica <%2 !ookup transformation can be configured as as 6-ctive6

transformation.

0ind out 5ow to configure lookup as active transformation 

5owever2 in the older versions of Informatica2 lookup is a passive transformation

3

Page 4: 2_Top 50 Informatica Interview Questions With Answers

8/13/2019 2_Top 50 Informatica Interview Questions With Answers

http://slidepdf.com/reader/full/2top-50-informatica-interview-questions-with-answers 4/35

What is the difference between %tatic and &ynamic Lookup Cache?

We can configure a !ookup transformation to cache the underlying lookup table. In case

of static or read+only lookup cache the Integration *ervice caches the lookup table at the beginning of the session and does not update the lookup cache while it processes the

!ookup transformation.

In case of dynamic lookup cache the Integration *ervice dynamically inserts or updates

data in the lookup cache and passes the data to the target. The dynamic cache issynchroni=ed with the target.

In case you are wondering why do we need to make lookup cache dynamic2 read this

article on dynamic lookup

What is the difference between %!'( and A)'R! options inWorkflow *onitor?

When we issue the *T'# command on the e%ecuting session task2 the Integration *ervice

stops reading data from source. It continues processing2 writing and committing the datato targets. If the Integration *ervice cannot finish processing and committing data2 we can

issue the abort command.

In contrast -8'RT command has a timeout period of >? seconds. If the Integration

*ervice cannot finish processing and committing data within the timeout period2 it killsthe ,T@ process and terminates the session.

What are the new features of Informatica +,- in developer level?

0rom a developer;s perspective2 some of the new features in Informatica <.% are as

follows$

•  &ow !ookup can be configured as an active transformation + it can return

multiple rows on successful match

•  &ow you can write *Q! override on un+cached lookup also. #reviously you could

do it only on cached lookup

• :ou can control the si=e of your session log. In a real+time environment you can

control the session log file si=e or time

• ,atabase deadlock resilience feature + this will ensure that your session does not

immediately fail if it encounters any database deadlock2 it will now retry theoperation again. :ou can configure number of retry attempts.

A

Page 5: 2_Top 50 Informatica Interview Questions With Answers

8/13/2019 2_Top 50 Informatica Interview Questions With Answers

http://slidepdf.com/reader/full/2top-50-informatica-interview-questions-with-answers 5/35

$ow to &elete duplicate row usin Informatica

"cenario #$ %uplicate rows are present in relational data&ase

*uppose we have ,uplicate records in *ource *ystem and we want to load only the

unique records in the Target *ystem eliminating the duplicate rows. What will be theapproach9

-ssuming that the source system is a Relational %ata&ase2 to eliminate duplicate

records2 we can check the %istinct option of the "ource Qualifier of the source table and

load the target accordingly.

&eletin duplicate rows . selectin distinct rows for FLA! FIL/sources

In the previous page we saw how to choose distinct records from Relational sources.

 &e%t we asked the question2 how may we select the distinct records for 0lat 0ile sources9

5ere since the source system is a Flat File you will not be able to select the distinct

option in the source qualifier as it will be disabled due to flat file source table. 5ence thene%t approach may be we use a "orter Transformation and check the %istinct option.

When we select the distinct option all the columns will the selected as keys2 in ascendingorder by default.

B

Page 6: 2_Top 50 Informatica Interview Questions With Answers

8/13/2019 2_Top 50 Informatica Interview Questions With Answers

http://slidepdf.com/reader/full/2top-50-informatica-interview-questions-with-answers 6/35

&eletin &uplicate Record Usin Informatica Areator 

'ther ways to handle duplicate records in source batch run is to use an A''re'ator

Transformation and using the (roup ) checkbo% on the ports having duplicate

occurring data. 5ere you can have the fle%ibility to select the last or the first  of theduplicate column value records.

There is yet another option to ensure duplicate records are not inserted in the target. That

is through ,ynamic lookup cache. sing ,ynamic !ookup Cache of the target table andassociating the input ports with the lookup port and checking the Insert /lse pdateoption will help to eliminate the duplicate records in source and hence loading unique

records in the target.

0or more details check2 ,ynamic !ookup Cache

Loadin *ultiple !aret !ables )ased on Conditions

 Scenario

*uppose we have some serial numbers in a flat file source. We want to load the serialnumbers in two target files one containing the //& serial numbers and the other file

having the ',, ones.

 Answer 

-fter the *ource Qualifier place a Router Transformation. Create two (roups namely

*+*, and -%%2 with filter conditions as$

>

Page 7: 2_Top 50 Informatica Interview Questions With Answers

8/13/2019 2_Top 50 Informatica Interview Questions With Answers

http://slidepdf.com/reader/full/2top-50-informatica-interview-questions-with-answers 7/35

MOD(SERIAL_NO,2)=0 and MOD(SERIAL_NO,2)=1

... respectively. Then output the two groups into two flat file targets.

0ormali1er Related 2uestions

 Scenario 1

*uppose in our *ource Table we have data as given below$

*tudent &ame @aths !ife *cience #hysical *cience

*am ?? D? E?

Fohn DB ?? EB

Tom E? ?? EB

We want to load our Target Table as$

*tudent &ame *ub4ect &ame @arks

*am @aths ??

D

Page 8: 2_Top 50 Informatica Interview Questions With Answers

8/13/2019 2_Top 50 Informatica Interview Questions With Answers

http://slidepdf.com/reader/full/2top-50-informatica-interview-questions-with-answers 8/35

Page 9: 2_Top 50 Informatica Interview Questions With Answers

8/13/2019 2_Top 50 Informatica Interview Questions With Answers

http://slidepdf.com/reader/full/2top-50-informatica-interview-questions-with-answers 9/35

row in third target table2 fourth row again in first target table so on and so forth. ,escribe

your approach.

 Answer 

We can clearly understand that we need a Router transformation to route or filtersource data to the three target tables. &ow the question is what will be the filter

conditions. 0irst of all we need an */pression Transformation where we have all the

source table columns and along with that we have another iGo port say seqHnum2 which isgets sequence numbers for each source row from the port ,e/t+al of a "euence

(enerator start value 0 and increment & #. &ow the filter condition for the three

router groups will be$

• @',(*/QH&@23) connected to st target table

• @',(*/QH&@23)1 connected to 1nd target table

• @',(*/QH&@23)? connected to 3rd target table

Loadin *ultiple Flat Files usin one mappin

 Scenario

*uppose we have ten source flat files of same structure. 5ow can we load all the files in

target database in a single batch run using a single mapping.

 Answer 

<

Page 10: 2_Top 50 Informatica Interview Questions With Answers

8/13/2019 2_Top 50 Informatica Interview Questions With Answers

http://slidepdf.com/reader/full/2top-50-informatica-interview-questions-with-answers 10/35

-fter we create a mapping to load data in target database from flat files2 ne%t we move on

to the session property of the *ource Qualifier. To load a set of source files we need to

create a file say final.t%t containing the source falt file names2 ten files in our case and setthe "ource filetpe option as Indirect. &e%t point this flat file final.t%t fully qualified

through "ource file director and "ource filename.

Areator !ransformation Related 2uestions

 How can we implement Aggregation operation without using an Aggregator

Transformation in Informatica?

 Answer 

We will use the very basic concept of the */pression Transformation that at a time we

can access the previous row data as well as the currently processed data in an e%pression

transformation. What we need is simple *orter2 /%pression and 0ilter transformation toachieve aggregation at Informatica level.

0or detailed understanding visit -ggregation without -ggregator

 Scenario

*uppose in our *ource Table we have data as given below$

?

Page 11: 2_Top 50 Informatica Interview Questions With Answers

8/13/2019 2_Top 50 Informatica Interview Questions With Answers

http://slidepdf.com/reader/full/2top-50-informatica-interview-questions-with-answers 11/35

*tudent &ame *ub4ect &ame @arks

*am @aths ??

Tom @aths E?

*am #hysical *cience E?

Fohn @aths DB

*am !ife *cience D?

Fohn !ife *cience ??

Fohn #hysical *cience EB

Tom !ife *cience ??

Tom #hysical *cience EB

We want to load our Target Table as$

*tudent &ame @aths !ife *cience #hysical *cience

*am ?? D? E?

Fohn DB ?? EB

Tom E? ?? EB

,escribe your approach.

 Answer 

5ere our scenario is to convert many rows to one rows2 and the transformation which will

help us to achieve this is A''re'ator.

'ur @apping will look like this$

Page 12: 2_Top 50 Informatica Interview Questions With Answers

8/13/2019 2_Top 50 Informatica Interview Questions With Answers

http://slidepdf.com/reader/full/2top-50-informatica-interview-questions-with-answers 12/35

We will sort the source data based on *T,/&TH&-@/ ascending followed by*8F/CT ascending.

 &ow based on *T,/&TH&-@/ in (R-U1 )2 clause the following output sub4ectcolumns are populated as

• @-T5*$ @-J(@-R"*2 *8F/CT@aths)

• !I0/H*C$ @-J(@-R"*2 *8F/CT!ife *cience)

• #5:H*C$ @-J(@-R"*2 *8F/CT#hysical *cience)

1

Page 13: 2_Top 50 Informatica Interview Questions With Answers

8/13/2019 2_Top 50 Informatica Interview Questions With Answers

http://slidepdf.com/reader/full/2top-50-informatica-interview-questions-with-answers 13/35

Revisitin %ource 2ualifier !ransformation

What is a Source Qualifier? What are the tasks we can perform using a SQ and

why it is an ATI!" transformation?

Ans3 - "ource Qualifier is an -ctive and Connected Informatica transformation thatreads the rows from a relational database or flat file source.

We can configure the "Q to 4oin K8oth I,,*R  as well as -UT*R -I,L dataoriginating from the same source database.

• We can use a source filter to reduce the number of rows the Integration *ervice

queries.

• We can specify a number for sorted ports and the Integration *ervice adds an

'R,/R 8: clause to the default *Q! query.

• We can choose "elect %istinctoption for relational databases and the Integration

*ervice adds a */!/CT ,I*TI&CT clause to the default *Q! query.

• -lso we can write Custom6Used %efined "QL query which will override the

default query in the *Q by changing the default settings of the transformation

 properties.

-lso we have the option to write 1re as well as 1ost "QL statements to bee%ecuted before and after the *Q query in the source database.

*ince the transformation provides us with the property "elect %istinct2 when the

Integration *ervice adds a */!/CT ,I*TI&CT clause to the default *Q! query2 whichin turn affects the number of rows returned by the ,atabase to the Integration *ervice and

hence it is an -ctive transformation.

3

Page 14: 2_Top 50 Informatica Interview Questions With Answers

8/13/2019 2_Top 50 Informatica Interview Questions With Answers

http://slidepdf.com/reader/full/2top-50-informatica-interview-questions-with-answers 14/35

What happens to a mapping if we alter the datatypes #etween Source and its

corresponding Source Qualifier?

Ans3 The *ource Qualifier transformation displays the transformation datatypes. Thetransformation datatypes determine how the source database binds data when the

Integration *ervice reads it.

 &ow if we alter the datatypes in the *ource Qualifier transformation or the datatpes in

the source definition and "ource Qualifier transformation do not match7  the,esigner marks the mappin' as invalid when we save it.

 Suppose we ha$e used the Select %istinct and the &um#er 'f Sorted (orts

 property in the SQ and then we add ustom SQ) Query* "+plain what

will happen*

Ans3 Whenever we add Custom *Q! or *Q! override query it overrides the ser+

,efined Foin2 *ource 0ilter2 &umber of *orted #orts2 and *elect ,istinct settings in the*ource Qualifier transformation. 5ence only the user defined *Q! Query will be fired inthe database and all the other options will &e i'nored .

 %escri#e the situations where we will use the Source ,ilter- Select %istinct and

 &um#er 'f Sorted (orts properties of Source Qualifier

transformation*

Ans3 "ource Filter option is used basically to reduce the number of rows the Integration*ervice queries so as to improve performance.

"elect %istinct option is used when we want the Integration *ervice to select uniquevalues from a source2 filtering out unnecessary data earlier in the data flow2 which mightimprove performance.

,um&er -f "orted 1orts option is used when we want the source data to be in a sorted

fashion so as to use the same in some following transformations like -ggregator or

Foiner2 those when configured for sorted input will improve the performance.

What will happen if the S")"T list ')./&S in the ustom o$erride SQ)

Query and the '.T(.T ('0TS order in SQ transformation do not

match?

Ans3 @ismatch or Changing the order of the list of selected columns to that of theconnected transformation output ports may result is session failure3 

What happens if in the Source ,ilter property of SQ transformation we include

keyword WH"0" say- WH"0" .ST'/"0S*.ST'/"0I%

1333*

A

Page 15: 2_Top 50 Informatica Interview Questions With Answers

8/13/2019 2_Top 50 Informatica Interview Questions With Answers

http://slidepdf.com/reader/full/2top-50-informatica-interview-questions-with-answers 15/35

Page 16: 2_Top 50 Informatica Interview Questions With Answers

8/13/2019 2_Top 50 Informatica Interview Questions With Answers

http://slidepdf.com/reader/full/2top-50-informatica-interview-questions-with-answers 16/35

 Suppose we ha$e a Source Qualifier transformation that populates two targetta#les* How do you ensure T5T2 is loaded after T5T1?

Ans3 In the Workflow @anager2 we can Configure Constraint &ased load orderin' for a

session. The Integration *ervice orders the target load on a row+by+row basis. 0or every

row generated by an active source2 the Integration *ervice loads the correspondingtransformed row first to the primary key table2 then to the foreign key table.

>

Page 17: 2_Top 50 Informatica Interview Questions With Answers

8/13/2019 2_Top 50 Informatica Interview Questions With Answers

http://slidepdf.com/reader/full/2top-50-informatica-interview-questions-with-answers 17/35

5ence if we have one *ource Qualifier transformation that provides data for multiple

target tables having primary and foreign key relationships2 we will go for Constraint

 based load ordering.

Revisitin Filter !ransformation

Q#;3 What is a 0ilter Transformation and why it is an -ctive one9

Ans3 - Filter transformation is an Active and Connected transformation that can filter

rows in a mapping.

'nly the rows that meet the Filter Condition pass through the 0ilter transformation tothe ne%t transformation in the pipeline. TR/ and 0-!*/ are the implicit return values

from any filter condition we set. If the filter condition evaluates to &!!2 the row is

assumed to be 0-!*/.

The numeric equivalent of 0-!*/ is =ero (?) and any non+=ero value is the equivalent ofTR/.

-s an ACTI+* transformation2 the 0ilter transformation may change the number of rows

 passed through it. - filter condition returns TR/ or 0-!*/ for each row that passes

through the transformation2 depending on whether a row meets the specified condition.'nly rows that return TR/ pass through this transformation. ,iscarded rows do not

appear in the session log or re4ect files.

D

Page 18: 2_Top 50 Informatica Interview Questions With Answers

8/13/2019 2_Top 50 Informatica Interview Questions With Answers

http://slidepdf.com/reader/full/2top-50-informatica-interview-questions-with-answers 18/35

Q<03 What is the difference between *ource Qualifier transformations *ource 0ilter to

0ilter transformation9

Ans3 

*Q *ource 0ilter 0ilter Transformation

*ource Qualifier

transformation filtersrows when read from a

source.

0ilter transformation filters rowsfrom within a mapping

*ource Qualifiertransformation can only

filter rows from

Relational *ources.

0ilter transformation filters rowscoming from any type of source

system in the mapping level.

*ource Qualifier limitsthe row set e%tracted

from a source.

0ilter transformation limits the

row set sent to a target.

*ource Qualifier reduces

the number of rows used

throughout the mapping

and hence it provides better performance.

To ma%imi=e session performance2 include the 0ilter

transformation as close to the

sources in the mapping as

 possible to filter out unwanteddata early in the flow of data

from sources to targets.

The filter condition inthe *ource Qualifier

transformation only uses

standard *Q! as it runsin the database.

0ilter Transformation can definea condition using any statement

or transformation function that

returns either a TR/ or 0-!*/value.

Revisitin 3oiner !ransformation

Q<#3 What is a Foiner Transformation and why it is an -ctive one9

Ans3 - oiner is an Active and Connected transformation used to 4oin source data fromthe same source system or from two related heterogeneous sources residing in different

locations or file systems.

E

Page 19: 2_Top 50 Informatica Interview Questions With Answers

8/13/2019 2_Top 50 Informatica Interview Questions With Answers

http://slidepdf.com/reader/full/2top-50-informatica-interview-questions-with-answers 19/35

The Foiner transformation 4oins sources with at least one matching column. The Foiner

transformation uses a condition that matches one or more pairs of columns between the

two sources.

The two input pipelines include a master pipeline and a detail pipeline or a master and a

detail branch. The master pipeline ends at the Foiner transformation2 while the detail pipeline continues to the target.

In the Foiner transformation2 we must configure the transformation properties namelyFoin Condition2 Foin Type and *orted Input option to improve Integration *ervice

 performance.

The 4oin condition contains ports from both input sources that must match for the

Integration *ervice to 4oin two rows. ,epending on the type of 4oin selected2 theIntegration *ervice either adds the row to the result set or discards the row.

The Foiner transformation produces result sets based on the 4oin type2 condition2 andinput data sources. 5ence it is an -ctive transformation.

Q<<3 *tate the limitations where we cannot use Foiner in the mapping pipeline.

Ans3 The Foiner transformation accepts input from most transformations. 5owever2following are the limitations$

• Foiner transformation cannot be used when either of the input pipeline contains an

Update "trate' transformation.

• Foiner transformation cannot be used if we connect a "euence (enerator 

transformation directly before the Foiner transformation.

Q<=3 'ut of the two input pipelines of a 4oiner2 which one will you set as the master

 pipeline9

Ans3 ,uring a session run2 the Integration *ervice compares each row of the master

source against the detail source. The master and detail sources need to be configured for

optimal performance.

To improve performance for an Unsorted oiner transformation2 use the source with

fewer rows as the master source. The fewer unique rows in the master2 the fewer

iterations of the 4oin comparison occur2 which speeds the 4oin process.

When the Integration *ervice processes an unsorted Foiner transformation2 it reads all

master rows before it reads the detail rows. The Integration *ervice blocks the detail

source while it caches rows from the master source. 'nce the Integration *ervice readsand caches all master rows2 it unblocks the detail source and reads the detail rows.

<

Page 20: 2_Top 50 Informatica Interview Questions With Answers

8/13/2019 2_Top 50 Informatica Interview Questions With Answers

http://slidepdf.com/reader/full/2top-50-informatica-interview-questions-with-answers 20/35

To improve performance for a "orted oiner transformation2 use the source with fewer

duplicate ke values as the master source.

When the Integration *ervice processes a sorted Foiner transformation2 it blocks data based on the mapping configuration and it stores fewer rows in the cache2 increasing

 performance.

8locking logic is possible if master and detail input to the Foiner transformation originate

from different sources. 'therwise2 it does not use blocking logic. Instead2 it stores more

rows in the cache.

Q<>3 What are the different types of Foins available in Foiner Transformation9

Ans3 In *Q!2 a 4oin is a relational operator that combines data from multiple tables into a

single result set. The Foiner transformation is similar to an *Q! 4oin e%cept that data can

originate from different types of sources.

The Foiner transformation supports the following tpes of 4oins $

• ,ormal 

• ?aster -uter 

• %etail -uter 

• Full -uter 

,ote$ - normal or master outer 4oin performs faster than a full outer or detail outer 4oin.

1?

Page 21: 2_Top 50 Informatica Interview Questions With Answers

8/13/2019 2_Top 50 Informatica Interview Questions With Answers

http://slidepdf.com/reader/full/2top-50-informatica-interview-questions-with-answers 21/35

Q<53 ,efine the various Foin Types of Foiner Transformation.

Ans3 

• In a normal 4oin 2 the Integration *ervice discards all rows of data from the

master and detail source that do not match2 based on the 4oin condition.• - master outer 4oin keeps all rows of data from the detail source and the

matching rows from the master source. It discards the unmatched rows from the

master source.

• - detail outer 4oin keeps all rows of data from the master source and the

matching rows from the detail source. It discards the unmatched rows from the

detail source.

• - full outer 4oin keeps all rows of data from both the master and detail sources.

Q<:3 ,escribe the impact of number of 4oin conditions and 4oin order in a FoinerTransformation.

Ans3 We can define one or more conditions based on eualit between the specified

master and detail sources. 8oth ports in a condition must have the same datatpe.

If we need to use two ports in the 4oin condition with non+matching datatypes we mustconvert the datatypes so that they match. The ,esigner validates datatypes in a 4oin

condition.

Additional ports in the 4oin condition increases the time necessary to 4oin two sources.

The order of the ports in the 4oin condition can impact the performance of the Foiner

transformation. If we use multiple ports in the 4oin condition2 the Integration *ervicecompares the ports in the order we specified.

,-T*$ 'nly equality operator is available in 4oiner 4oin condition.

Q<@3 5ow does Foiner transformation treat &!! value matching.

Ans3 The Foiner transformation does not match null values.

0or e%ample2 if both /@#HI, and /@#HI,1 contain a row with a null value2 theIntegration *ervice does not consider them a match and does not 4oin the two rows.

To 4oin rows with null values2 replace null input with default values in the #orts tab of

the 4oiner2 and then 4oin on the default values.

,ote$ If a result set includes fields that do not contain data in either of the sources2 the

Foiner transformation populates the empty fields with null values. If we know that a fieldwill return a &!! and we do not want to insert &!!s in the target2 set a default value

on the #orts tab for the corresponding port.

1

Page 22: 2_Top 50 Informatica Interview Questions With Answers

8/13/2019 2_Top 50 Informatica Interview Questions With Answers

http://slidepdf.com/reader/full/2top-50-informatica-interview-questions-with-answers 22/35

Q<3 *uppose we configure *orter transformations in the master and detail pipelines with

the following sorted ports in order$ IT/@H&'2 IT/@H&-@/2 #RIC/.

When we configure the 4oin condition2 what are the guidelines we need to follow tomaintain the sort order9

Ans3 If we have sorted both the master and detail pipelines in order of the ports say

IT/@H&'2 IT/@H&-@/ and #RIC/ we must ensure that$

• se IT/@H&' in the 0irst Foin Condition.

• If we add a *econd Foin Condition2 we must use IT/@H&-@/.

• If we want to use #RIC/ as a Foin Condition apart from IT/@H&'2 we must also

use IT/@H&-@/ in the *econd Foin Condition.

• If we skip IT/@H&-@/ and 4oin on IT/@H&' and #RIC/2 we will lose the

input sort order and the Integration *ervice fails the session.

Q<;3 What are the transformations that cannot be placed between the sort origin and theFoiner transformation so that we do not lose the input sort order.

Ans3 The best option is to place the Foiner transformation directly after the sort origin to

maintain sorted data. 5owever do not place any of the following transformations betweenthe sort origin and the Foiner transformation$

• Custom

• Unsorted-ggregator

•  &ormali=er

• Rank

nion transformation• J@! #arser transformation

• J@! 7enerator transformation

• @applet Kif it contains any one of the above mentioned transformationsL

Q=03 *uppose we have the /@# table as our source. In the target we want to view thoseemployees whose salary is greater than or equal to the average salary for their

departments. ,escribe your mapping approach.

Ans3 'ur @apping will look like this$

ahref6http$GGpng.dwbiconcepts.comGimagesGtutorialGinfoHinterviewGinfoHinterview?.png

6

11

Page 23: 2_Top 50 Informatica Interview Questions With Answers

8/13/2019 2_Top 50 Informatica Interview Questions With Answers

http://slidepdf.com/reader/full/2top-50-informatica-interview-questions-with-answers 23/35

Page 24: 2_Top 50 Informatica Interview Questions With Answers

8/13/2019 2_Top 50 Informatica Interview Questions With Answers

http://slidepdf.com/reader/full/2top-50-informatica-interview-questions-with-answers 24/35

*o ne%t we need "orted oiner Transformation to 4oin the sorted aggregated data withthe original data2 based on %*1T,-. 5ere we will be taking the aggregated pipeline as

the @aster and original dataflow as ,etail #ipeline.

1A

Page 25: 2_Top 50 Informatica Interview Questions With Answers

8/13/2019 2_Top 50 Informatica Interview Questions With Answers

http://slidepdf.com/reader/full/2top-50-informatica-interview-questions-with-answers 25/35

-fter that we need a Filter Transformation to filter out the employees having salary lessthan average salary for their department.

0ilter Condition$ "ALBA+(D"AL 

1B

Page 26: 2_Top 50 Informatica Interview Questions With Answers

8/13/2019 2_Top 50 Informatica Interview Questions With Answers

http://slidepdf.com/reader/full/2top-50-informatica-interview-questions-with-answers 26/35

!astly we have the Target table instance.

Revisitin %e4uence 5enerator !ransformation

Q=#3 What is a *equence 7enerator Transformation9

Ans3 - "euence (enerator transformation is a 1assive and Connected transformationthat generates numeric values. It is used to create unique primary key values2 replace

missing primary keys2 or cycle through a sequential range of numbers. Thistransformation by default contains -,L2 Two -UT1UT ports namely CURR+AL 

and ,*ET+AL. We cannot edit or delete these ports neither we cannot add ports to thisunique transformation. We can create appro%imately two billion unique numeric values

with the widest range from to 1ADAE3>AD.

Q=<3 ,efine the #roperties available in *equence 7enerator transformation in brief.

Ans3 

*equence7enerator

#roperties

,escription

*tart alue *tart value of the generated sequence that we

want the Integration *ervice to use if we use

the Cycle option. If we select Cycle2 the

1>

Page 27: 2_Top 50 Informatica Interview Questions With Answers

8/13/2019 2_Top 50 Informatica Interview Questions With Answers

http://slidepdf.com/reader/full/2top-50-informatica-interview-questions-with-answers 27/35

Integration *ervice cycles back to this valuewhen it reaches the end value. ,efault is ?.

Increment

8y

,ifference between two consecutive values

from the &/JT-! port.,efault is .

/nd alue

@a%imum value generated by *eq7en. -fterreaching this value the session will fail if the

sequence generator is not configured to

cycle.,efault is 1ADAE3>AD.

Current

alue

Current value of the sequence. /nter the

value we want the Integration *ervice to use

as the first value in the sequence. ,efault is

.

Cycle

If selected2 when the Integration *ervice

reaches the configured end value for thesequence2 it wraps around and starts the cycle

again2 beginning with the configured *tart

alue.

 &umber of

Cached

alues

 &umber of sequential values the Integration*ervice caches at a time. ,efault value for a

standard *equence 7enerator is ?. ,efault

value for a reusable *equence 7enerator is2???.

Reset

Restarts the sequence at the current value

each time a session runs.This option isdisabled for reusable *equence 7enerator

transformations.

Q==3 *uppose we have a source table populating two target tables. We connect the

 &/JT-! port of the *equence 7enerator to the surrogate keys of both the target tables.

Will the *urrogate keys in both the target tables be same9 If not how can we flow the

same sequence values in both of them.

Ans3 When we connect the ,*ET+AL output port of the "euence (enerator directly

to the surrogate key columns of the target tables2 the "euence num&er will not &e the

same.

1D

Page 28: 2_Top 50 Informatica Interview Questions With Answers

8/13/2019 2_Top 50 Informatica Interview Questions With Answers

http://slidepdf.com/reader/full/2top-50-informatica-interview-questions-with-answers 28/35

- block of sequence numbers is sent to one target tables surrogate key column. The

second targets receives a block of sequence numbers from the *equence 7enerator

transformation only after the first target table receives the block of sequence numbers.

*uppose we have B rows coming from the source2 so the targets will have the sequence

values as T7T (21232A2B) and T7T1 (>2D2E2<2?). KTaken into consideration *tart alue?2 Current value and Increment by .

 &ow suppose the requirement is like that we need to have the same surrogate keys in boththe targets.

Then the easiest way to handle the situation is to put an */pression Transformation in

 between the *equence 7enerator and the Target tables. The *eq7en will pass unique

values to the e%pression transformation2 and then the rows are routed from the e%pressiontransformation to the targets.

Q=>3 *uppose we have ?? records coming from the source. &ow for a target column

 population we used a *equence generator.

*uppose the Current alue is ? and /nd alue of *equence generator is set to E?. What

will happen9

Ans3 *nd +alue is the ma%imum value the *equence 7enerator will generate. -fter it

reaches the /nd value the session fails with the following error message$

TTH??< *equence 7enerator Transformation$ 'verflow error.

1E

Page 29: 2_Top 50 Informatica Interview Questions With Answers

8/13/2019 2_Top 50 Informatica Interview Questions With Answers

http://slidepdf.com/reader/full/2top-50-informatica-interview-questions-with-answers 29/35

0ailing of session can be handled if the *equence 7enerator is configured to Ccle 

through the sequence2 i.e. whenever the Integration *ervice reaches the configured end

value for the sequence2 it wraps around and starts the cycle again2 beginning with theconfigured *tart alue.

Q=53 What are the changes we observe when we promote a non resuable *equence7enerator to a resuable one9 -nd what happens if we set the &umber of Cached alues

to ? for a reusable transformation9

Ans3 When we convert a non reusable sequence generator to resuable one we observe

that the ,um&er of Cached +alues is set to ??? by defaultM -nd the Reset property is

disabled.

When we try to set the ,um&er of Cached +alues property of a Reusable *equence7enerator to ? in the Transformation ,eveloper we encounter the following error

message$

The num&er of cached values must &e 'reater than .ero for reusa&le seuence

transformation3 

Revisitin Areator !ransformation

Q=:3 What is an -ggregator Transformation9

Ans3 -n aggregator is an -ctive2 Connected transformation which performs aggregate

calculations like A+(2 C-U,T2 FIR"T2 LA"T2 ?AE2 ?*%IA,2 ?I,2

1*RC*,TIL*2 "T%%*+2 "U? and +ARIA,C*.

Q=@3 5ow an /%pression Transformation differs from -ggregator Transformation9

Ans3 -n /%pression Transformation performs calculation on a row!&!row basis. -n

-ggregator Transformation performs calculations on 'roups.

Q=3 ,oes an Informatica Transformation support only -ggregate e%pressions9

Ans3 -part from aggregate e%pressions Informatica -ggregator also supports non+aggregate e%pressions and conditional clauses.

Q=;3 5ow does -ggregator Transformation handle &!! values9

Ans3 8y default2 the aggregator transformation treats null values as &!! in aggregate

functions. 8ut we can specify to treat null values in aggregate functions as &!! or =ero.

Q>03 What is Incremental -ggregation9

1<

Page 30: 2_Top 50 Informatica Interview Questions With Answers

8/13/2019 2_Top 50 Informatica Interview Questions With Answers

http://slidepdf.com/reader/full/2top-50-informatica-interview-questions-with-answers 30/35

Ans3 We can enable the session option2 Incremental -ggregation for a session that

includes an -ggregator Transformation. When the Integration *ervice performs

incremental aggregation2 it actually passes changed source data through the mapping anduses the historical cache data to perform aggregate calculations incrementally.

0or reference check Implementing Informatica Incremental -ggregation

Q>#3 What are the performance considerations when working with -ggregator

Transformation9

Ans3 

• 0ilter the unnecessary data before aggregating it. #lace a 0ilter transformation in

the mapping before the -ggregator transformation to reduce unnecessary

aggregation.

• Improve performance by connecting only the necessary inputGoutput ports to

subsequent transformations2 thereby reducing the si=e of the data cache.• se *orted input which reduces the amount of data cached and improves session

 performance.

Q><3 What differs when we choose *orted Input for -ggregator Transformation9

Ans3 Integration *ervice creates the inde% and data caches files in memory to process the

-ggregator transformation. If the Integration *ervice requires more space as allocated for

the inde% and data cache si=es in the transformation properties2 it stores overflow values

in cache files i.e. paging to disk. 'ne way to increase session performance is to increasethe inde% and data cache si=es in the transformation properties. 8ut when we check

*orted Input the Integration *ervice uses memory to process an -ggregatortransformation it does not use cache files.

Q>=3 nder what conditions selecting *orted Input in aggregator will still not boost

session performance9

Ans3 

• Incremental -ggregation2 session option is enabled.

• The aggregate e%pression contains nested aggregate functions.

• *ource data is data driven.

Q>>3 nder what condition selecting *orted Input in aggregator may fail the session9

Ans3 

• If the input data is not sorted correctly2 the session will fail.

• -lso if the input data is properly sorted2 the session may fail if the sort order by

 ports and the group by ports of the aggregator are not in the same order.

3?

Page 31: 2_Top 50 Informatica Interview Questions With Answers

8/13/2019 2_Top 50 Informatica Interview Questions With Answers

http://slidepdf.com/reader/full/2top-50-informatica-interview-questions-with-answers 31/35

Q>53 *uppose we do not group by on any ports of the aggregator what will be the output.

Ans3 If we do not group values2 the Integration *ervice will return onl the last row for

the input rows.

Q>:3 What is the e%pected value if the column in an aggregator transform is neither agroup by nor an aggregate e%pression9

Ans3 Integration *ervice produces one row for each group based on the group by ports.

The columns which are neither part of the key nor aggregate e%pression will return the

corresponding value of last record of the group received. 5owever2 if we specify particularly the 0IR*T function2 the Integration *ervice then returns the value of the

specified first row of the group. *o default is the LA"T function.

Q>@3 7ive one e%ample for each of Conditional -ggregation2 &on+-ggregate e%pression

and &ested -ggregation.

Ans3 

se conditional clauses in the aggregate e%pression to reduce the number of rows used in

the aggregation. The conditional clause can be any clause that evaluates to TR/ or

0-!*/.

SUM( SALARY, JOB = CLERK )

se non+aggregate e%pressions in group by ports to modify or replace groups.

IIF( PRODUCT = B!"n B#ad, B#ad, PRODUCT )

The e%pression can also include one aggregate function within another aggregate

function2 such as$

MA$( COUNT( PRODUCT ))

Revisitin Rank !ransformation

Q>3 What is a Rank Transform9

Ans3 Rank is an -ctive Connected Informatica transformation used to select a set of top

or bottom values of data.

Q>;3 5ow does a Rank Transform differ from -ggregator Transform functions @-J

and @I&9

Ans3 !ike the -ggregator transformation2 the Rank transformation lets us groupinformation. The Rank Transform allows us to select a group of top or bottom values2 not

 4ust one value as in case of -ggregator @-J2 @I& functions.

3

Page 32: 2_Top 50 Informatica Interview Questions With Answers

8/13/2019 2_Top 50 Informatica Interview Questions With Answers

http://slidepdf.com/reader/full/2top-50-informatica-interview-questions-with-answers 32/35

Q503 What is a R-&" port and R-&"I&,/J9

Ans3 Rank port is an inputGoutput port use to specify the column for which we want to

rank the source values. 8y default Informatica creates an output port R-&"I&,/J foreach Rank transformation. It stores the ranking position for each row in a group.

Q5#3 5ow can you get ranks based on different groups9

Ans3 Rank transformation lets us group information. We can configure one of its

inputGoutput ports as a group by port. 0or each unique value in the group port2 the

transformation creates a group of rows falling within the rank definition (top or bottom2and a particular number in each rank).

Q5<3 What happens if two rank values match9

Ans3 If two rank values match2 they receive the same value in the rank inde% and the

transformation skips the ne%t value.

Q5=3 What are the restrictions of Rank Transformation9

Ans3 

• We can connect ports from only one transformation to the Rank transformation.

• We can select the top or bottom rank.

• We need to select the &umber of records in each rank.

• We can designate only one Rank port in a Rank transformation.

Q5>3 5ow does a Rank Cache works9

Ans3 ,uring a session2 the Integration *ervice compares an input row with rows in the

data cache. If the input row out+ranks a cached row2 the Integration *ervice replaces the

cached row with the input row. If we configure the Rank transformation to rank based on

different groups2 the Integration *ervice ranks incrementally for each group it finds. TheIntegration *ervice creates an inde% cache to stores the group information and data cache

for the row data.

Q553 5ow does Rank transformation handle string values9

Ans3 Rank transformation can return the strings at the top or the bottom of a session sortorder. When the Integration *ervice runs in nicode mode2 it sorts character data in the

session using the selected sort order associated with the Code #age of I* which may be

0rench2 7erman2 etc. When the Integration *ervice runs in -*CII mode2 it ignores thissetting and uses a binary sort order to sort character data.

31

Page 33: 2_Top 50 Informatica Interview Questions With Answers

8/13/2019 2_Top 50 Informatica Interview Questions With Answers

http://slidepdf.com/reader/full/2top-50-informatica-interview-questions-with-answers 33/35

Revisitin %orter !ransformation

Q5:3 What is a *orter Transformation9

Ans3 *orter Transformation is an -ctive2 Connected Informatica transformation used to

sort data in ascending or descending order according to specified sort keys. The *ortertransformation contains only inputGoutput ports.

Q5@3 Why is *orter an -ctive Transformation9

Ans3 When the *orter transformation is configured to treat output rows as distinct2 it

assigns all ports as part of the sort key. The Integration *ervice discards duplicate rowscompared during the sort operation. The number of Input Rows will vary as compared

with the 'utput rows and hence it is an -ctive transformation.

Q53 5ow does *orter handle Case *ensitive sorting9

Ans3 The Case *ensitive property determines whether the Integration *ervice considerscase when sorting data. When we enable the Case *ensitive property2 the Integration

*ervice sorts uppercase characters higher than lowercase characters.

Q5;3 5ow does *orter handle &!! values9

Ans3 We can configure the way the *orter transformation treats null values. /nable the

 property &ull Treated !ow if we want to treat null values as lower than any other valuewhen it performs the sort operation. ,isable this option if we want the Integration *ervice

to treat null values as higher than any other value.

Q:03 5ow does a *orter Cache works9

Ans3 The Integration *ervice passes all incoming data into the *orter Cache before *ortertransformation performs the sort operation.

The Integration *ervice uses the *orter Cache *i=e property to determine the ma%imum

amount of memory it can allocate to perform the sort operation. If it cannot allocate

enough memory2 the Integration *ervice fails the session. 0or best performance2configure *orter cache si=e with a value less than or equal to the amount of available

 physical R-@ on the Integration *ervice machine.

If the amount of incoming data is greater than the amount of *orter cache si=e2 the

Integration *ervice temporarily stores data in the *orter transformation work directory.The Integration *ervice requires disk space of at least twice the amount of incoming data

when storing data in the work directory.

33

Page 34: 2_Top 50 Informatica Interview Questions With Answers

8/13/2019 2_Top 50 Informatica Interview Questions With Answers

http://slidepdf.com/reader/full/2top-50-informatica-interview-questions-with-answers 34/35

Revisitin Union !ransformation

Q:#3 What is a nion Transformation9

Ans3 The nion transformation is an -ctive2 Connected non+blocking multiple input

group transformation use to merge data from multiple pipelines or sources into one pipeline branch. *imilar to the &I'& -!! *Q! statement2 the nion transformation

does not remove duplicate rows.

Q:<3 What are the restrictions of nion Transformation9

Ans3 

• -ll input groups and the output group must have matching ports. The precision2

datatype2 and scale must be identical across all groups.

• We can create multiple input groups2 but only one default output group.

The nion transformation does not remove duplicate rows.• We cannot use a *equence 7enerator or pdate *trategy transformation upstream

from a nion transformation.

• The nion transformation does not generate transactions.

5eneral 4uestions

Q:=3 What is the difference between *tatic and ,ynamic !ookup Cache9

Ans3 We can configure a !ookup transformation to cache the corresponding lookup table.

In case of static or read+only lookup cache the Integration *ervice caches the lookup table

at the beginning of the session and does not update the lookup cache while it processesthe !ookup transformation.

In case of dynamic lookup cache the Integration *ervice dynamically inserts or updates

data in the lookup cache and passes the data to the target. The dynamic cache is

synchroni=ed with the target.

Q:>3 What is #ersistent !ookup Cache9

Ans3 !ookups are cached by default in Informatica. !ookup cache can be either non+

 persistent or persistent. The Integration *ervice saves or deletes lookup cache files after a

successful session run based on whether the !ookup cache is checked as persistent or not.

Q:53 What is the difference between Reusable transformation and @applet9

Ans3 -ny Informatica Transformation created in the in the Transformation ,eveloper ora non+reusable promoted to reusable transformation from the mapping designer which

can be used in multiple mappings is known as Reusable Transformation. When we add a

reusable transformation to a mapping2 we actually add an instance of the transformation.

3A

Page 35: 2_Top 50 Informatica Interview Questions With Answers

8/13/2019 2_Top 50 Informatica Interview Questions With Answers

http://slidepdf.com/reader/full/2top-50-informatica-interview-questions-with-answers 35/35