Interview QA On Informatica
Interview QA On Informatica
1. Informatica PowerCenter Client Tools: These are the development tools installed at developer
end. These tools enable a developer to
3. Informatica PowerCenter Server: Server is the place, where all the executions take place. Server
makes physical connections to sources/ targets, fetches data, applies the transformations mentioned in
the mapping and loads the data in the target system.
What is the difference between STOP and ABORT options in Workflow Monitor?
- The STOP option is used to execute the session task and allow other task to run, whereas ABORT
option completely turns off the task which is running.
- When using STOP option the integration services stop reading the data from the source of the file,
whereas ABORT waits for the services to be finished and then only any actions take place.
- The STOP command processes the data to the source or to targets, whereas ABORT option has the
timeout period of 60 seconds.
- STOP option allows the writing of the data and committing the data to the targets, whereas ABORT
shows no commitment as such.
- STOP option doesnt kill any process and it just stops the resource sharing between the processes,
whereas ABORT stops the process and the session gets terminated.
application.
- The pipeline consists of the data sources that are used for merging purpose and other union purposes.
- The union transformations allow the transformations of the multiple input groups that provide merging of
the data from different sources.
- The transformation allows the use of functions like UNION ALL statements in SQL that combines with
the result of the SELECT statements.
What is the use of Incremental Aggregation?
- Incremental aggregation is used whenever a session is created using the execution of the application.
- It is used to map the Aggregate Transformation using the session option and that it needs to be
enabled.
- PowerCenter is used to perform the incremental aggregation on the source data and perform the
actions on it.
- It is used to pass the new source through the mapping and cache data to perform higher calculations.
- The calculations are performed using the new aggregation methods that are incremental in nature.
- It provides the reading of the rows that has been formed and provides the source of relational or flat
file.
- It keeps the session on for the qualifiers to provide the input using the source files and result as the
input given.
- It uses the relational or flat file source that provides the mapping of the server with the database.
- It remains connected with the transformation method also known as Source Qualifier transformation.
What are different types of transformations available in Informatica?
- Transformation is being done using the calculations that needs to be performed on the data.
The different types of transformation available in Informatica are as follows:
- Aggregator: this type deals with the specific calculations of the data and allows the aggregate result to
be shown.
- Application Source Qualifier: this allows the application source to be presented by using the qualifier.
- Expression: Expressions are used as statements and the operations are performed on that only.
- External Procedure: are used to provide the sources externally without the use of the internal sources.
User Defined Exceptions: Data issues critical to the data quality, which might get
loaded to the database unless explicitly checked for quality. For example, a credit
card transaction with a future transaction data can get loaded into the database
unless the transaction date of every record is checked.
Fatal
Exceptions:
Errors
such
as
database
connection
errors,
which
You
can
use ERROR in
Expression
transformations
to
validate
data.
Generally,
you
use ERROR within an IIF or DECODE function to set rules for skipping rows.
E.g.: IIF(TRANS_DATA > SYSDATE, ERROR('Invalid Transaction Date'))
Above expression raises an error and drops any record whose transaction data is greater than the
current date from the ETL process and the target table.
ABORT(): Stops the session, and gives a specified error message to the session log file or written
to the error log tables based on the error logging type configuration in the session.
When the PowerCenter Integration Service encounters an ABORT function, it stops transforming
data at that particular row. It processes any rows read before the session aborts.
You can use ABORT in Expression transformations to validate data.
E.g.: IIF(ISNULL (LTRIM(RTRIM(CREDIT_CARD_NB))), ABORT('Empty Credit Card Number'))
Above expression aborts the session if any one of the transaction records are coming without a
credit card number.
Note: - You need to use these two functions in a mapping along with a session configuration for row
error logging to capture the error data from the source system. Depending on the session
configuration, source data will be collected into Informatica predefined PMERR error tables or files.
Please refer the article "User Defined Error Handling in Informatica PowerCenter" for more detailed
level implementation information on user defined error handling.
Typical ETL Design will read error data from both error table along with the source data. During
the data transformation, data quality will be checked and any record violating the quality check will
be moved to error tables.
Record flags will be used to identify the reprocessed and records which are fixed for reprocessing.
Input ports: Use default values if you do not want the Integration Service to treat null values
as NULL.
Output ports: Use default values if you do not want to skip the row due to transformation
error or if you want to write a specific message with the skipped row to the session log.
Input/output ports: Use default values if you do not want the Integration Service to treat null
values as NULL. But no user-defined default values for output transformation errors in an
input/output port.
Use Case 2
Below setting uses the default expression to convert the date if the incoming value is not in a valid
date format.
Please refer the article Error Handling Made Easy Using Informatica Row Error Logging for more
details.
Stop On Errors: Indicates how many non-fatal errors the Integration Service can encounter
before it stops the session.
On Stored Procedure Error: If you select Stop Session, the Integration Service stops the
session on errors executing a pre-session or post-session stored procedure.
On Pre-Session Command Task Error: If you select Stop Session, the Integration Service
stops the session on errors executing pre-session shell commands.
Pre-Post SQL Error: If you select Stop Session, the Integration Service stops the session
errors executing pre-session or post-session SQL.
2. Workflow Recovery
Step 1: In this step, we will read all the data from the staging table. This will include joining data from
different tables and applying any incremental data capturing logic.
Step 2: Data will be compared between source and target to identify if any change in any of the
attributes. CHECKSUM Number can be used to make this process simple.
Step 3: If the check CHECKSUM Number is different, Data is processed further, else ignored.
Step 4: Do any transformation required, including the error handling.
Step 5: Load the data into the Dimension Table.
Step 1: In this step, we will read all the data from the source table. This will include joining data from
different tables and applying any incremental data capturing logic.
Step 2: Perform any transformation required, including the error handling.
Step3:
Load
the
data
into
the
TEMP
Table.
Step 4: Load the data from the TEMP Table into the FACT table. This can be done either using
Database script or using an Informatica PowerCenter session.
Step 1 : In this step, we will read all the data from the source table. This will include joining data from
different tables and applying any incremental data capturing logic.
Step 2 : Truncate the data from the target table.
Step
3:
Perform
including
the error
handling.
Key Design Factor: Update else Insert design gives the restartability.
Step 1: In this step, we will read all the data from the source table. This will include joining data from
different tables and applying any incremental data capturing logic.
Step 2: Identify Records for INSERT/UPDATE and perform any transformations that is required,
including the error handling.
Step
3:
Insert
the
record
which
is
identified
for
Insert.
Step 1: In this step, we will read all the data from the source table. This will include joining data from
different tables and applying any incremental data capturing logic.
Step 2: Perform any transformations that is required, including the error handling.
Step 3: Load the data into the TEMP Table.
Step 4: Rename the TEMP table to the Target table. This will move the data from the TEMP table to
the actual target table.