Академический Документы
Профессиональный Документы
Культура Документы
A. There are two ways to lookup the target table to verify a row exists
or not :
1. Use connect dynamic cache lookup and then check the values of
NewLookuprow Output port to decide whether the incoming record
already exists in the table / cache or not.
2. Use Unconnected lookup and call it from an expression
transformation and check the Lookup condition port value (Null/ Not
Null) to decide whether the incoming record already exists in the table
or not.
When the PowerCenter Server runs a session, the DTM performs the
following tasks:
1. Fetches session and mapping metadata from the repository.
2. Creates and expands session variables.
3. Creates the session log file.
4. Validates session code pages if data code page validation is
enabled. Checks query
conversions if data code page validation is disabled.
5. Verifies connection object permissions.
6. Runs pre-session shell commands.
7. Runs pre-session stored procedures and SQL.
8. Creates and runs mappings, reader, writer, and transformation
threads to extract, transform, and load data.
9. Runs post-session stored procedures and SQL.
10. Runs post-session shell commands.
11. Sends post-session email.
• The DTM allocates process memory for the session and divide it
into buffers. This is also known as buffer memory. It creates the
main thread, which is called the master thread. The master thread
creates and manages all other threads.
• If we partition a session, the DTM creates a set of threads for
each partition to allow concurrent processing.. When Informatica
server writes messages to the session log it includes thread type
and thread ID.
Pre and Post Session Thread - One Thread each to Perform Pre and
Post Session Operations.
Reader Thread - One Thread for Each Partition for Each Source
Pipeline.
Writer Thread - One Thread for Each Partition if target exist in the
source pipeline write to the target.
Perform Calculation.
Q. Where should you place the flat file to import the flat file
definition to the designer?
A. Place it in local folder
Q. What is a mapplet?
A. A mapplet should have a mapplet input transformation which
receives input values, and an output transformation which passes the
final modified data to back to the mapping. Set of transformations
where the logic can be reusable when the mapplet is displayed within
the mapping only input & output ports are displayed so that the
internal logic is hidden from end-user point of view.
Q. What is a transformation?
A. It is a repository object that generates, modifies or passes data.
2. Do not forget to check the option on the aggregator that tells the
aggregator that the input is sorted on the same keys as group by. The
key order is also very important.
Q. Is aggregate cache in aggregator
transformation?
A. The aggregator stores data in the aggregate cache
until it completes aggregate calculations. When u 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.
Q: Explain what are the tools you have used in Power Center
and/or Power Mart?
A: Designer, Server Manager, and Repository Manager.
Q: What is a Mapping?
A: Mapping Represent the data flow between source and target
Q: What is Transformation?
A: Transformation is a repository object that generates, modifies, or
passes data. Transformation performs specific function. They are two
types of transformations:
1. Active
Rows, which are affected during the transformation or can
change the no of rows that pass through it. Eg: Aggregator,
Filter, Joiner, Normalizer, Rank, Router, Source qualifier, Update
Strategy, ERP Source Qualifier, Advance External Procedure.
2. Passive
Does not change the number of rows that pass through it. Eg:
Expression, External Procedure, Input, Lookup, Stored Procedure,
Output, Sequence Generator, XML Source Qualifier.
Q: If you have a FULL file that you have to match and load into
a corresponding table, how will you go about it? Will you use
Joiner transformation?
A: Use Joiner and join the file and Source Qualifier.
Q: If you have 2 files to join, which file will you use as the
master file?
A: Use the file with lesser nos. of records as master file.
Q: What did you do in the stored procedure? Why did you use
stored proc instead of using expression?
A:
Q: How did you handle reject data? What file does Informatica
create for bad data?
A: Informatica saves the rejected data in a .bad file. Informatica adds a
row identifier for each record rejected indicating whether the row was
rejected because of Writer or Target. Additionally for every column
there is an indicator for each column specifying whether the data was
rejected due to overflow, null, truncation, etc.
Used to :
Get related value
Perform a calculation
Update slowly changing dimension tables.
Diff between connected and unconnected lookups. Which is
better?
Connected :
Received input values directly from the pipeline
Can use Dynamic or static cache.
Cache includes all lookup columns used in the mapping
Can return multiple columns from the same row
If there is no match , can return default values
Default values can be specified.
Un connected :
Receive input values from the result of a LKP expression in another
transformation.
Only static cache can be used.
Cache includes all lookup/output ports in the lookup condition and
lookup or return port.
Can return only one column from each row.
If there is no match it returns null.
Default values cannot be specified.
Incremental aggregation?
In the Session property tag there is an option for performing
incremental aggregation. When the Informatica server performs
incremental aggregation , it passes new source data through the
mapping and uses historical cache (index and data cache) data to
perform new aggregation calculations incrementally.
What are the three areas where the rows can be flagged for
particular treatment?
In mapping, In Session treat Source Rows and In Session Target
Options.
2. Sources
Set a filter transformation after each SQ and see the records are
not through.
If the time taken is same then there is a problem.
You can also identify the Source problem by
Read Test Session – where we copy the mapping with sources, SQ
and remove all transformations
and connect to file target. If the performance is same then there
is a Source bottleneck.
Using database query – Copy the read query directly from the log.
Execute the query against the
source database with a query tool. If the time it takes to execute
the query and the time to fetch
the first row are significantly different, then the query can be
modified using optimizer hints.
Solutions:
Optimize Queries using hints.
Use indexes wherever possible.
3. Mapping
If both Source and target are OK then problem could be in
mapping.
Add a filter transformation before target and if the time is the
same then there is a problem.
(OR) Look for the performance monitor in the Sessions property
sheet and view the counters.
Solutions:
If High error rows and rows in lookup cache indicate a mapping
bottleneck.
Optimize Single Pass Reading:
Optimize Lookup transformation :
1. Caching the lookup table:
When caching is enabled the informatica server caches
the lookup table and queries the
cache during the session. When this option is not enabled
the server queries the lookup
table on a row-by row basis.
Static, Dynamic, Shared, Un-shared and Persistent cache
2. Optimizing the lookup condition
Whenever multiple conditions are placed, the condition
with equality sign should take
precedence.
3. Indexing the lookup table
The cached lookup table should be indexed on order by
columns. The session log contains
the ORDER BY statement
The un-cached lookup since the server issues a SELECT
statement for each row passing
into lookup transformation, it is better to index the lookup
table on the columns in the
condition
4. Sessions
If you do not have a source, target, or mapping bottleneck, you
may have a session bottleneck.
You can identify a session bottleneck by using the performance
details. The informatica server
creates performance details when you enable Collect
Performance Data on the General Tab of
the session properties.
Performance details display information about each Source
Qualifier, target definitions, and
individual transformation. All transformations have some basic
counters that indicate the
Number of input rows, output rows, and error rows.
Any value other than zero in the readfromdisk and writetodisk
counters for Aggregate, Joiner,
or Rank transformations indicate a session bottleneck.
Low bufferInput_efficiency and BufferOutput_efficiency
counter also indicate a session
bottleneck.
Small cache size, low buffer memory, and small commit intervals
can cause session bottlenecks.
5. System (Networks)