You are on page 1of 17

What is a source qualifier?

Source qualifier represents the data that the informatica server reads from the source.
What is a surrogate key?

Surrogate is an artificial key it is used as a substitution for natural primary key in order to provide

data consistency.
difference between Mapplet and reusable transformation

What is difference between Mapplet and reusable transformation?

Mapplet contains more than one transformation and is a transformation logic that can be reused

in multiple mappings.

Reusable transformation is a single transformation that can be called from other transormations in

the mapping.
DTM session

What is DTM session?

DTM - Stands for Data Transformation Manager. This is a unix process /windows service which

runs on Informatica server and does the actual processing of the ETL code.
Mapplet

What is a Mapplet?

A Mapplet is are usable metadata object created with business logic using "set of transformation"

A Mapplet is created by using Mapplet designer tool

There are two types of mapplets

1. Active Mapplet: A Mapplet which is created with atleast one active transformation is known as

Active mapplet

2. Passive Mapplet: A Mapplet which is created with only passive transformation is known as

Passive Mapplet
LIMITATIONS

The following objects or transformations can't be used in the mapplet

1. pre or post stored procedure transformation


2. XML source qualifier transformation

3. Normalizer transformation

4. Mapplet (Nested mapplet)

Update strategy

What is Update strategy and what are the options for update strategy?

Update Strategy is a transformation which flags row for update/insert/deletes. Technically

update/insert/deletes can also be achieved without using this transformation by configuring it in

the session.

Options : DD_INSERT (1) DD_UPDATE (2) DD_DELETE(3)


Subject area

What is Subject area?

Subject Area is generally a set of data organized to reflect a specific are of business such as finance

or sales.

Bitmap indexes

What are bitmap indexes and how and why are they used?

Bitmap indexes are used to enhance the join performance in STAT design. Don’t go by the myth of

cardinality(Bitmaps are used on for lower cardinality.). It is a major component to enhance the

joins between facts and dimension. It becomes more important if you are using Oracle propriety

star_transformation_enabled=TRUE parameter in init.ora file.

What is the difference between truncate and delete statements?

Truncate is a type of DDL. No commit is needed. It resets the HWM and cleans up all the storage

segments. No rollback is possible because of implicit commit. Delete can be rolled back, does not

clean up the data segments so the HWM stays intact. Less efficient.

What kind of Update strategies are normally used (Type 1, 2 & 3) & what are the

differences?

Type 1 – DD_UPDATE,
Type 2 – DD_UPDATE/DD_INSERT

Type 3 – DD_INSERT.
What is bulk bind? How does it improve performance?

Bulk bind is used enhance the performance of PL/SQL fetch engine. It binds a variable so that the

fetches are in bulk instead of streams of one row at a time.

What are the different ways to filter rows using Informatica transformations?

Source Qualifier (if using a homogeneous database or if the tables are in the same instance),Joiner,

Filter, Router.

What is target load order?

You specify in Informatica which target instance gets loaded first or in order.

What are the different transformations where you can use a SQL override?

Source Qualifier(If Relational)/Lookup (If Relational)

Difference between a Bulk and Normal mode

What is the difference between a Bulk and Normal load and where exactly is it

defined?

Bulk load is used to load records in bulk to enhance performance. It bypasses all the database level

logging. It can only be used when no index is defined on the table. It is a file level operation. The

records are directly written at the data files. Normal load is a regular insert we know about. With

logging, with indexes, slower and can be rolled back. In Informatica it is defined at the session

level.
Data driven sessions

What are data driven sessions?

Data driven sessions are those session which uses Update Strategy transformation or session are

used to flag the rows for insert/update/delete.


What are worklets and what is their use?

Sessions can be bundled up together logically by subject area so that it can go in the workflow as
one logical piece.
What is change data capture?

Change Data Capture is a mechanism of capturing changed data since the last load. Striva in

mainframes. It involves reading database log files. Subscriber/Prescriber views. Triggers/Date fields

in oracle.

What exactly is tracing level?

Tracing level is defined as amount of information which will go in Informatica log files.

How do you validate all the mappings in the repository at once?

In repository manager. Select all the then validate.

How can you join two or more tables without using the source qualifier override SQL

or a Joiner transformation?

Using a view also you can use lookup(which is nothing but a outer join).

How many repositories can be created in Informatica?

N(Depends on your licensing agreement with Informatica)

How can you improve performance in an Aggregator transformation?

By checking sorted input and passing a sorted data through it.

How does the Informatica know that the input is sorted?

Check the sorted port in Source Qualifier.

How many worklets can be defined within a workflow?

N.

If you join two or more tables and then pull out about two columns from each table

into the source qualifier and then just pull out one column from the source qualifier

into an Expression transformation and then do a ‘generate SQL’ in the source qualifier

how many columns will show up in the generated SQL.

One

In a Type 1 mapping with one source and one target table what is the minimum
number of update strategy transformations to be used?

One

For joining three heterogeneous tables how many joiner transformations are required?

Thumb rule for and SQL joins and Informatica joiners. If you want to join n tables minimum

number of joins you need is n-1.

While importing the relational source definition from database, what

are the Meta data of source you import?

Source name, Database location, Column names, Data types, and Key constraints

How many ways you can update a relational source definition and what are

they?

1. Edit the definition

2. Reimport the definition

Where should you place the flat file to import the flat file definition

to the designer?

Place it in local folder

To provide support for Main frames source data, which files r used as a

source definitions?

COBOL files

Which transformation do you need while using the Cobol sources as source

definitions?

Normalizer transformation which is used to normalize the data.

Since Cobol sources often consist of De-normalized data.

How can you create or import flat file definition in to the warehouse

designer?

You cannot create or import flat file definition into warehouse designer directly.
Instead you must analyze the file in source analyzer, then drag it into the warehouse designer.

When you drag the flat file source definition into warehouse designer work space, the
warehouse designer creates a relational target definition not a file definition.

If you want to load to a file, configure the session to write to a flat file.

When the Informatica server runs the session, it creates and loads the flat file

What is a Transformation?

It is a repository object that generates, modifies or passes data.

What are the designer tools for creating transformations?

Mapping designer, Transformation developer, Mapplet designer


What are the active and passive transformations?

An active transformation can change the number of rows that pass through it. A passive

transformation does not change the number of rows that pass through it.
Connected and Unconnected transformations

What are the Connected and unconnected transformations?

Connected Transformation

Connected transformation is connected to other transformations in the mapping. All active and

passive transformations can be defined as connected transformation. A connected transformation

can receive multiple inputs ports and can provide multiple output ports

Unconnected Transformation

An unconnected transformation is not connected to other transformations in the mapping. An

unconnected transformation can receive multiple input ports but provides single output port. The

following transformations can be defined as unconnected

Stored Procedure Transformation

Lookup Transformation
In how many ways can you create ports?

1.Drag the port from another transformation


2.Click the add button on the ports tab.

Reusable transformation

What are the Reusable transformations?

A Reusable transformation is a reusable metadata object crated with business logic using "Single

transformation"

There are two different ways to create reusable transformations

1. converting a non-reusable transformation into a reusable transformation

2. using transformation developer tool

LIMITATION:

Source Qualifier transformation can't be used as reusable transformation


What are the methods for creating reusable transformations?

Two methods

1.Design it in the transformation developer.

2.Promote a standard transformation from the mapping designer. After you add a

Transformation to the mapping, you can promote it to the status of reusable Transformation.

Once you promote a standard transformation to reusable status,you can demote it to a Standard

transformation at any time. If you change the properties of a reusable transformation in

mapping, you can revert it to the original reusable transformation properties by clicking the revert

button.

What are the unsupported repository objects for a mapplet?

COBOL source definition

Joiner transformations

Normalizer transformations

Non reusable sequence generator transformations.

Pre or post session stored procedures


Target definitions

Power mart 3.5 style Look Up functions

XML source definitions

IBM MQ source defintions


Mapping parameters and Mapping variables

What are the Mapping parameters and Mapping variables?

Mapping parameter represents a constant value that you can define before running a session. A

mapping parameter retains the same value throughout the entire session. when u use the mapping

parameter, U declare and use the parameter in a mapping or Mapplet. Then define the value of

parameter in a parameter file for the session.

Unlike a mapping parameter,a mapping variable represents a value that can change throughout

the session.The informatica server saves the value of mapping variable to the repository at the end

of session run and uses that value next time you run the session.
Can you use the mapping parameters or variables created in one mapping into

another mapping?

No. We can use mapping parameters or variables in any transformation of the same mapping or

mapplet in which you have created mapping parameters or variables.

Can you use the mapping parameters or variables created in one mapping into any

other reusable transformation?

Yes. Because reusable tranformation is not contained with any mapplet or mapping.

How can U improve session performance in aggregator transformation?

Use sorted input.

Aggregate cache in Aggregator transformation

What is aggregate cache in aggregator transformation?

The aggregator stores data in the aggregate cache until it completes aggregate calculations.When

you run a session that uses an aggregator transformation,the informatica server creates index and
data caches in memory to process the transformation.If the informatica server requires more

space,it stores overflow values in cache files.

Difference between joiner transformation and source qualifier

transformation

What are the difference between joiner transformation and source qualifier

transformation?

You can join heterogeneous data sources in joiner transformation which we can not achieve in

source qualifier transformation. You need matching keys to join two relational sources in source

qualifier transformation whereas you doesn't need matching keys to join two sources.Two

relational sources should come from same data source in source qualifier whereas you can join

relational sources which are coming from different sources in joiner transformation .

In which conditions we cannot use joiner transformation (Limitations of joiner

transformation)
Both pipelines begin with the same original data source.

Both input pipelines originate from the same Source Qualifier transformation.

Both input pipelines originate from the same Normalizer transformation.

Both input pipelines originate from the same Joiner transformation.

Either input pipelines contains an Update Strategy transformation.

Either input pipelines contains a connected or unconnected Sequence

Generator transformation.

What are the settings that you use to configure the joiner transformation?

Master and detail source, Type of join and Condition of the join

What are the join types in joiner transformation?

Normal (Default), Master outer, Detail outer, full outer


Master Outer :All rows from Detail and only matching rows from Master

Detail outer :All rows from Master and only matching rows from Detail.

Full outer join: keeps all rows of data from both the master and detail sources

What are the joiner caches?

When a Joiner transformation occurs in a session, the Informatica Server reads all the records

from the master source and builds index and data caches based on the master rows.After building

the caches, the Joiner transformation reads records from the detail source and perform joins.

Look up transformation

What is the Look up transformation?

Use lookup transformation in your mapping to lookup data in a relational table, view, synonym.

Flat file Informatica server queries the look up table based on the lookup ports in the

transformation.It compares the lookup transformation port values to lookup table column values

based on the look up condition.

Why use the lookup transformation ?

Get a related value. For example, if your source table includes employee ID, but you want to

include the employee name in your target table to make your summary data Easier to read.

Perform a calculation. Many normalized tables include values used in a Calculation, such as gross

sales per invoice or sales tax, but not the calculated value (such as net sales).

Update slowly changing dimension tables. You can use a Lookup transformation to Determine

whether records already exist in the target.

What are the types of lookup?

Connected and unconnected

Differences between Connected and Unconnected lookup


Differences between connected and unconnected lookup?

Connected Lookup Unconnected Lookup

Receives input values directly from the

pipeline.

Receives input values from the result of a

:LKP expression in another transformation.

You can use a dynamic or static cache. You can use a static cache.

Cache includes all lookup columns used in

the mapping (that is, lookup source columns

included in the lookup condition and lookup

source columns linked as output ports to

other transformations).

Cache includes all lookup/output ports in

the lookup condition and the lookup/return

port.

Can return multiple columns from the same

row or insert into the dynamic lookup

cache.

Designate one return port (R). Returns one

column from each row.

If there is no match for the lookup

condition, the PowerCenter Server returns

the default value for all output ports. If you

configure dynamic caching, the

PowerCenter Server inserts rows into the


cache or leaves it unchanged.

If there is no match for the lookup

condition, the PowerCenter Server returns

NULL.

If there is a match for the lookup condition,

the PowerCenter Server returns the result of

the lookup condition for all lookup/output

ports. If you configure dynamic caching, the

PowerCenter Server either updates the row

the in the cache or leaves the row

unchanged.

If there is a match for the lookup condition,

the PowerCenter Server returns the result of

the lookup condition into the return port.

Pass multiple output values to another

transformation. Link lookup/output ports to

another transformation.

Pass one output value to another

transformation. The lookup/output/return

port passes the value to the transformation

calling :LKP expression.

Supports user-defined default values. Does not support user-defined default

values.

http://prashanthobiee.blogspot.in/2012/12/differences-between-connected-and.html

Lookup cache
What is meant by Lookup caches?

The informatica server builds a cache in memory when it processes the first row of a data in a

cached look up transformation.It allocates memory for the cache based on the amount u

configure in the transformation or session properties.The informatica server stores condition

values in the index cache and output values in the data cache.

Types of lookup cache

What are the types of lookup caches?

Persistent cache: you can save the lookup cache files and reuse them the next time the

informatica server processes a lookup transformation configured to use the cache.

Recache from database: If the persistent cache is not synchronized with the lookup table, you

can configure the lookup transformation to rebuild the lookup cache.

Static cache: you can configure a static or read-only cache for only lookup table. By default

informatica server creates a static cache. It caches the lookup table and lookup values in the cache

for each row that comes into the transformation. when the lookup condition is true,the informatica

server does not update the cache while it processes the lookup transformation.

Dynamic cache: If you want to cache the target table and insert new rows into cache and the

target,you can create a look up transformation to use dynamic cache.The informatica server

dynamically inserts data to the target table.

Shared cache: you can share the lookup cache between multiple transactions you can share

unnamed cache between transformations in the same mapping.

uncached, static cache and dynamic cache

Difference between uncached, static cache and dynamic cache

Uncached Static Cache the cache. the cache.


Dynamic Cache
You cannot insert or update You can insert or update
You cannot insert or update
rows in the cache as you pass transformations. row type. This indicates that

rows to the target. When the condition is true, the row is in the cache and

You cannot use a flat file the PowerCenter Server target table. You can pass

lookup. returns a value from the updated rows to the target

You can use a relational or a lookup table or cache. When table. When the condition is
the condition is not not
flat file lookup.
true, the PowerCenter Server true, the PowerCenter Server
You can use a relational
returns the default value for either inserts rows into the
lookup only.
connected transformations cache or leaves the cache
When the condition is true,
and NULL for unconnected unchanged, depending on
the PowerCenter Server the
transformations.
returns a value from the row type. This indicates that
When the condition is true,
lookup table or cache. When the row is not in the cache or
the condition is not the PowerCenter Server
target table. You can pass
true, the PowerCenter Server either updates rows in the
inserted rows to the target
returns the default value for cache or leaves the cache
table
connected transformations unchanged, depending on
the
and NULL for unconnected

http://prashanthobiee.blogspot.in/2012/12/uncached-static-cache-and-dynamic-cache.html

How the informatica server sorts the string values in Rank transformation?

When the informatica server runs in the ASCII data movement mode it sorts session data using

Binary sort order.If U configure the session use a binary sort order, the informatica server

calculates the binary value of each string and returns the specified Number of rows with the

highest binary values for the string.

What are the rank caches?

During the session ,the informatica server compares an in out row with rows in the data cache. If
the input row out-ranks a stored row, the informatica server replaces the stored row with the

input row. The informatica server stores group information in an index cache and row data in a

data cache.

Rank index in Rank transformation

What is the Rank index in Rank transformation?

The Designer automatically creates a RANKINDEX port for each Rank transformation. The

Informatica Server uses the Rank Index port to store the ranking position for each record in a

group. For example, if you create a Rank transformation that ranks the top 5 salespersons for each

quarter, the rank index numbers the salespeople from 1 to 5:

Router transformation

What is the Router transformation?

A Router transformation is an Active and Connected transformation. It similar to a filter

transformation as it is also used to filter the data. Router transformation is used to can create

multiple filter conditions on the same input data but filter condition can have only oe filter on input

data. A Router transformation can also capture the rejected records.


Check the above example I have filtered the data based on department number. The input source is

filtered and transferred to 3 different output tables. The first output(Dept_10) consists the data for

department number 10. The second output(Dept_20) consists the data for department number 20

and the third output(Dept_except_10and20) consists the rejected records.

From above image you can see that we can create multiple filters on the same input data. To

implement this using filter you need to have three sources and three filter transformations. If you
need to test the same input data based on multiple conditions, use a Router transformation in a

mapping instead of creating multiple Filter transformations to perform the same task.

What are the types of groups in Router transformation?

Input group, Output group

The designer copies property information from the input ports of the input group to create a set of

output ports for each output group.


Two types of output groups

User defined groups

Default group

you can not modify or delete default groups.

Can you look up a flat file using Informatica?

Yes.

While running a session what default files are created?

Default files are. Log files and Bad files. (For other files like err, target files you have let the

Informatica know.

Describe the use of Materialized views and how are they different from a normal view.

Normal View is not a physical object. It is created at runtime by the select statement. Materialized

View is a physical object with real data. It has several use. For more details look into Oracle

documentation. It is a major performance booster when you need summary,aggregated or

complex joins to be calculated. It pre-calculates it and is ready for use when you need them and it

is really fast. Be careful to choose the mechanism you want to refresh it.

You might also like