Professional Documents
Culture Documents
Informatica IQ
Informatica IQ
contains the character encoded in the other code page, it also contains
additional characters not contained in the other code page.
Subset - A code page is a subset of another code page when all characters
in the code page are encoded in the other code page.
What is Code Page used for?
Code Page is used to identify characters that might be in different
languages. If you are importing Japanese data into mapping, u must select
the Japanese code page of source data.
Q. What is Router transformation?
A. It is different from filter transformation in that we can specify multiple
conditions and route the data to multiple targets depending on the
condition.
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.
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 Integration service
writes messages to the session log it includes thread type and
thread ID.
Following are the types of threads that DTM creates:
Master Thread - Main thread of the DTM process. Creates and
manages all other threads.
Mapping Thread - One Thread to Each Session. Fetches Session and
Mapping Information.
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.
Transformation Thread - One or More Transformation Thread For
Each Partition.
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 Integration
service creates index and data caches in memory to
process the transformation. If the Integration service
requires more space, it stores overflow values in cache
files.
Q. What r the difference between joiner
transformation and source qualifier transformation?
A. You can join heterogeneous data sources in joiner
transformation which we cannot achieve in source qualifier
transformation.
You need matching keys to join two relational sources in
source qualifier transformation. Whereas u doesnt need
matching keys to join two sources.
Two relational sources should come from same data source
in sourcequalifier. You can join relational sources which r
coming from different sources also.
Q. In which conditions can we not use joiner
transformations?
A. You cannot use a Joiner transformation in the following
situations (according to Informatica 7.1):
Either input pipeline contains an Update Strategy
transformation.
You connect a Sequence Generator transformation
directly before the Joiner
transformation.
Q. What r the settings that u use to configure the
joiner transformation?
A. Master and detail source
Type of join
Condition of the join
Q. What are the join types in joiner transformation?
A. Normal (Default) -- only matching rows from both
Unconnected Lookup
Within the mapping if the lookup table is used in more than one
transformation then the cache built for the first lookup can be used
for the others. It cannot be used across mappings.
Shared:
If the lookup table is used in more than one transformation/mapping
then the cache built for the first lookup can be used for the others. It
can be used across mappings.
Persistent :
If the cache generated for a Lookup needs to be preserved for
subsequent use then persistent cache is used. It will not delete the
index and data files. It is useful only if the lookup table remains
constant.
What are the uses of index and data caches?
The conditions are stored in index cache and records from the
lookup are stored in data cache
7. Explain aggregate transformation?
The aggregate transformation allows you to perform aggregate
calculations, such as averages, sum, max, min etc. The aggregate
transformation is unlike the Expression transformation, in that you
can use the aggregator transformation to perform calculations in
groups. The expression transformation permits you to perform
calculations on a row-by-row basis only.
Performance issues ?
The Integration service performs calculations as it reads and stores
necessary data group and row data in an aggregate cache.
Create Sorted input ports and pass the input records to aggregator
in sorted forms by groups then by port
Incremental aggregation?
In the Session property tag there is an option for performing
incremental aggregation. When the Integration service 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 uses of index and data cache?
The group data is stored in index files and Row data stored in data
files.
8. Explain update strategy?
Update strategy defines the sources to be flagged for insert,
update, delete, and reject at the targets.
What are update strategy constants?
DD_INSERT,0
DD_UPDATE,1
DD_DELETE,2
DD_REJECT,3
If DD_UPDATE is defined in update strategy and Treat source
rows as INSERT in Session . What happens?
Hints: If in Session anything other than DATA DRIVEN is mentions
then Update strategy in the mapping is ignored.
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.
What is the use of Forward/Reject rows in Mapping?
9. Explain the expression transformation ?
Expression transformation is used to calculate values in a single row
before writing to the target.
What are the default values for variables?
Hints: Straing = Null, Number = 0, Date = 1/1/1753
10. Difference between Router and filter transformation?
In filter transformation the records are filtered based on the
condition and rejected rows are discarded. In Router the multiple
conditions are placed and the rejected rows can be assigned to a
port.
How many ways you can filter the records?
1. Source Qualifier
2. Filter transformation
3. Router transformation
4. Ranker
5. Update strategy
.
11. How do you call stored procedure and external procedure
transformation ?
External Procedure can be called in the Pre-session and post session
tag in the Session property sheet.
Store procedures are to be called in the mapping designer by three
methods
1. Select the icon and add a Stored procedure transformation
2. Select transformation Import Stored Procedure
3. Select Transformation Create and then select stored procedure.
12. Explain Joiner transformation and where it is used?
While a Source qualifier transformation can join data originating
1.
2.
3.
4.
Aggregator transformation
Joiner transformation
Rank transformation
Lookup transformation
Q. What is the difference between joiner transformation and
source qualifier transformation?
A. You can join heterogeneous data sources in joiner transformation
which we cannot do in source qualifier transformation.
Q. What is meant by lookup caches?
A. The Integration service 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 you configure in the
transformation or session properties. The Integration service stores
condition values in the index cache and output values in the data
cache.
Q. What is meant by parameters and variables in Informatica
and how it is used?
A. Parameter: A 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.
Variable: A mapping variable represents a value that can change
through the session. Integration service saves the value of a mapping
variable to the repository at the end of each successful session run and
uses that value the next time you run the session
Q. What is target load order?
You specify the target load order based on source qualifiers in a
mapping. If you have multiple source qualifiers connected to multiple
targets, you can define the order in which Integration service loads
data into the targets
1 bit = a 1 or 0 (b)
4 bits = 1 nybble (?)
8 bits = 1 byte (B)
1024 bytes = 1 Kilobyte (KB)
1024 Kilobytes = 1 Megabyte (MB)
1024 Megabytes = 1 Gigabyte (GB)
1024 Gigabytes = 1 Terabyte (TB)
We need answers:::
1) why we use source qualifier in mapping? what is the basic need?
2)while we import files into mapping ........ how we igore the header & footer of the
file?
3) when we use lookup condition in lookup transformation it gives one record..but in
the sql t/m (sql transformation) it give's the all records matching with the condition? is
there any internal proess occurs based on lookup & sql transformation/
Q) my source is
id
1
1
1
1
2
2
2
2
3
3
3
3
then my targets are like
target1:
id
1
2
3
target2:
id
1
1
1
2
2
2
3
3
3
Ans)
Din & Ramesh is correct. may be u got confused with Jai answer using aggregator. now
aggregator is not required. here i'm giving you the coding check it out.
Source Qualifier -> sorter -> Expressino ->router -- 2 targets
in sorter : sort on education
in expression : INPUT & OUTPUT PORTS ARE ENO, ENAME, EDUCATION
Take two variable and one output port
v_FLAG : IIF(V_TEMP = EDUCATION, 1,0)
V_TEMP : EDUCATION
O_flag : v_flag
In router :
Create two groups
unique values group : o_flag = 0
duplicate values group : o_flag=1
map those values to corresponding group.
hi friends correct me if any wrong in that code..
Q) Mapping variable :
Ans.
In the Designer, you can create mapping variables in a mapping or
mapplet. After you create a mapping variable, it appears in the
Expression Editor. You can then use it in any expression in the mapping
or mapplet. You can also use mapping variables in a source qualifier
filter, user-defined join, or extract override, and in the Expression
Editor of reusable transformations.
Unlike mapping parameters, mapping variables are values that can
change between sessions. The Integration Service saves the latest
value of a mapping variable to the repository at the end of each
successful session. During the next session run, it evaluates all
references to the mapping variable to the saved value. You can
override a saved value with the parameter file. You can also clear all
saved values for the session in the Workflow Manager.
You might use a mapping variable to perform an incremental read of
the source. For example, you have a source table containing
timestamped transactions and you want to evaluate the transactions
on a daily basis. Instead of manually entering a session override to
filter source data each time you run the session, you can create a
mapping variable, $$IncludeDateTime. In the source qualifier, create a
filter to read only rows whose transaction date equals $
$IncludeDateTime, such as:
TIMESTAMP = $$IncludeDateTime
In the mapping, use a variable function to set the variable value to
increment one day each time the session runs. If you set the initial
value of $$IncludeDateTime to 8/1/2004, the first time the Integration
Service runs the session, it reads only rows dated 8/1/2004. During the
session, the Integration Service sets $$IncludeDateTime to 8/2/2004. It
saves 8/2/2004 to the repository at the end of the session. The next
time it runs the session, it reads only rows from August 2, 2004.
Diffrence between informatica 7 X and 8 X
Ans.
1)The architecture of Power Center 8 has changed a lot; PC8 is service-oriented for
modularity, scalability and flexibility.
2) The Repository Service and Integration Service (as replacement for Rep Server and
Informatica Server) can be run on different computers in a network (so called nodes),
even redundantly.
3) Management is centralized, that means services can be started and stopped on nodes
via a central web interface.
4) Client Tools access the repository via that centralized machine, resources are
distributed dynamically.
5) Running all services on one machine is still possible, of course.
6) It has a support for unstructured data which includes spreadsheets, email, Microsoft
Word files, presentations and .PDF documents. It provides high availability, seamless fail
over, eliminating single points of failure.
7) It has added performance improvements (To bump up systems performance,
Informatica has added "push down optimization" which moves data transformation
processing to the native relational database I/O engine whenever its is most appropriate.)
8) Informatica has now added more tightly integrated data profiling, cleansing, and
matching capabilities.
9) Informatica has added a new web based administrative console.
10) Ability to write a Custom Transformation in C++ or Java.
11) Midstream SQL transformation has been added in 8.1.1, not in 8.1.
12) Dynamic configuration of caches and partitioning
13) Java transformation is introduced
. 14) User defined functions
15) Power Center 8 release has "Append to Target file"
A new web based administrative console has been added.
Q) work flow
i have 2 work flows namely wkf1,wkf2. after the execution of wk1 we have to execute
wkf2. if wkf1 is not executed means you should not execute wkf2 we have to do it
automatically
Ans.
In this approach we can't achieve all the requirements. any time u can start the wkf2 in ur
case but requirement is wkf2 shouldn't run if wkf1 is not succeeded.
Solution for In this case u have to create a flat file at the end of wkf1 by using touch
xyz.txt and in wkf2 use even wait task and use file watch event on that flat file. in this
solution if you run the wkf2 it will wait for the flat file to create if not it won't run the
wkf2.