Top Answers to Informatica Interview Questions
|GUI for development and monitoring||PowerDesigner, Repository Manager, Worflow Designer, and Workflow Manager||DataStage Designer, Job Sequence Designer, and Director|
|Data integration solution||Step-by-step solution||Project-based integration solution|
Informatica PowerCenter is an ETL/data integration tool that has a wide range of applications. This tool allows users to connect and fetch data from different heterogenous sources and subsequently process the same.
For example, users can connect to a SQL Server Database or an Oracle Database, or both, and also integrate the data from both these databases to a third system.
Learn more about Business Objects vs Informatica in this insightful blog!
There are many typical use cases of Informatica, but this tool is predominantly leveraged in the following scenarios:
- When organizations migrate from the existing legacy systems to new database systems
- When enterprises set up their data warehouse
- While integrating data from various heterogenous systems including multiple databases and file-based systems
- For data cleansing
There are two ways to filter rows in Informatica, they are as follows:
- Source Qualifier Transformation: It filters rows while reading data from a relational data source. It minimizes the number of rows while mapping to enhance performance. Also, Standard SQL is used by the filter condition for executing in the database.
- Filter Transformation: It filters rows within a mapped data from any source. It is added close to the source to filter out the unwanted data and maximize performance. It generates true or false values based on conditions.
Go through the Informatica Course in London to get a clear understanding of Informatica!
|It is not possible to override the query||It is possible to override the query|
|Only the ‘=’ operator is available||All operators are available for use|
|Users cannot restrict the number of rows while reading relational tables||Users can restrict the number of rows while reading relational tables|
|It is possible to join tables with Joins||It behaves as Left Outer Join while connecting with the database|
Depending upon the number of ports that are required, repositories can be created. In general, however, there can be any number of repositories.
There are four different types of lookup transformation:
- Relational or flat file lookup: It performs lookup on relational tables.
- Pipeline lookup: It performs lookup on application sources.
- Connected or unconnected lookup: While the connected lookup transformation receives data from source, performs lookup, and returns the result to the pipeline, the unconnected lookup happens when the source is not connected. It returns one column to the calling transformation.
- Cached or uncached lookup: Lookup transformation can be configured to cache lookup data, or we can directly query the lookup source every time a lookup is invoked.
Learn more about Informatica in this Informatica Training in New York to get ahead in your career!
A command task can be called as a pre- or post-session shell command for a session task. Users can run it as a pre-session command, a post-session success command, or a post-session failure command. Based on use cases, the application of shell commands can be changed or altered.
Aggregator performance improves dramatically if records are sorted before passing to the aggregator and if the ‘sorted input’ option under Aggregator Properties is checked. The record set should be sorted on those columns that are used in the Group By operation. It is often a good idea to sort the record set in the database level, e.g., inside a source qualifier transformation, unless there is a chance that the already sorted records from the source qualifier can again become unsorted before reaching the aggregator.
A target table can be updated without using ‘Update Strategy.’ For this, 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 level, we should set the target property as ‘Update as Update’ and check the ‘Update’ check box.
Let us assume, we have a target table ‘Customer’ with fields as ‘Customer ID,’ ‘Customer Name,’ and ‘Customer Address.’ Suppose if we want to update ‘Customer Address’ without an Update Strategy, then we have to define ‘Customer ID’ as the primary key in Informatica level, and we will have to connect ‘Customer ID’ and ‘Customer Address’ fields in the mapping. If the session properties are set correctly as described above, then the mapping will only update the ‘Customer Address’ field for all matching customer IDs.
Basically, mapping parameters and mapping variables represent values in mappings and mapplets.
- Mapping parameters represent constant values that are defined before running a session.
- After creation, parameters appear in Expression Editor.
- These parameters can be used in source qualifier filter, in user-defined joins, or for overriding.
- As opposed to mapping parameters, mapping variables can change values during sessions.
- The last value of a mapping variable is saved to the repository at the end of each successful session by the Integration Service. However, it is possible to override saved values with parameter files.
- Basically, mapping variables are used to perform incremental reads of data sources.
A surrogate key is basically an identifier that uniquely identifies modeled entities or objects in a database. Not being derived from any other data in the database, surrogate keys may or may not be used as primary keys. It is basically a unique sequential number. If an entity exists in the outside world and modeled within the database, or represents an object within the database, it is denoted by a surrogate key. In these cases, surrogate keys for specific objects or modeled entities are generated internally.
A session is nothing but a teaching set which is ought to be implemented to convert data from a source to a target. To carry out sessions, users need to leverage the session’s manager or use the pmcmd command. For combining sessions, in either a serial or a parallel manner, batch execution is used. Any number of sessions can be grouped into batches for migration.
Basically, incremental aggregation is the process of capturing changes in the source and calculating aggregations in a session. This process incrementally makes the integration service to update targets and avoids the process of calculating aggregations on the entire source.
Upon the first load, the table becomes as below:
On the next load, the data will be aggregated with the next session date.
We can delete duplicate rows from flat files by leveraging the sorter transformation and selecting the distinct option. Selecting this option will delete the duplicate rows.
From an Informatica Developer’s perspective, some of the new features in Informatica Developer 9.1.0 are as follows:
- In the new version, lookup can be configured as an active transformation—it can return multiple rows on a successful match.
- Now, we can write SQL override on uncached lookup also. Previously, we could do it only on cached lookup.
- Control over the size of our session log: In a real-time environment, we can control the session log file size or log file time.
- Database deadlock resilience feature: This will ensure that our session does not immediately fail if it encounters any database deadlock. It will retry the operation. We can configure the number of retry attempts.
First up, Informatica is a data integration tool, while Teradata is an MPP database with some scripting and fast data movement capabilities.
Advantages of Informatica over Teradata:
- It functions as a metadata repository for the organization’s ETL ecosystem. Informatica jobs (sessions) can be arranged logically into worklets and workflows in folders. It leads to an ecosystem which is easier to maintain and quicker for architects and analysts to analyze and enhance.
- Job monitoring and recovery: It is easy-to-monitor jobs using Informatica Workflow Monitor. It is also easier to identify and recover in the case of failed jobs or slow-running jobs. It exhibits an ability to restart from failure row step.
- Informatica Market Place: It is a one-stop shop for lots of tools and accelerators to make SDLC faster and improve application support.
- It enables plenty of developers in the market with varying skill levels and expertise to interact.
- Lots of connectors to various databases are available, including support for Teradata MLoad, TPump, FastLoad, and Parallel Transporter in addition to the regular (and slow) ODBC drivers.
- Surrogate key generation through shared sequence generators inside Informatica could be faster than generating them inside the database.
- If a company decides to move away from Teradata to another solution, then vendors like Infosys can execute migration projects to move the data and change the ETL code to work with the new database quickly, accurately, and efficiently using automated solutions.
- Pushdown optimization can be used to process the data in the database.
- It has an ability to code ETL such that processing load is balanced between the ETL server and the database box—this is useful if the database box is ageing and/or in case the ETL server has a fast disk/large enough memory and CPU to outperform the database in certain tasks.
- It has an ability to publish processes as web services.
Advantages of Teradata over Informatica:
- Cheaper (initially): No initial ETL tool license costs. There is only less OPEX costs as one doesn’t need to pay for yearly support from Informatica Corp.
- Great choice if all the data to be loaded are available as structured files—which can then be processed inside the database after an initial stage load.
- Good choice for a lower complexity ecosystem.
- Only Teradata developers or resources with good ANSI/Teradata SQL/BTEQ knowledge are required to build and enhance the system.
Star schema is the simplest style of data mart schema in computing. It is an approach which is most widely used to develop data warehouses and dimensional data marts. It features one or more fact tables referencing to numerous dimension tables.
A logical arrangement of tables in a multidimensional database, snowflake schema is represented by centralized fact tables which are connected to multidimensional tables. Dimensional tables in a star schema are normalized using snowflaking. Once normalized, the resultant structure resembles a snowflake with the fact table at the middle. Low-cardinality attributes are removed, and separate tables are formed.
Fact Constellation Schema
Fact constellation schema is a measure of online analytical processing (OLAP), and OLAP happens to be a collection of multiple fact tables sharing dimension tables and viewed as a collection of stars. It can be seen as an extension of the star schema.
OLAP or Online Analytical Processing is a specific category of software that allows users to analyze information from multiple database systems simultaneously. Using OLAP, analysts can extract and have a look at business data from different sources or points of view.
Types of OLAP:
- ROLAP: ROLAP or Relational OLAP is an OLAP server that maps multidimensional operations to standard relational operations.
- MOLAP: MOLAP or Multidimensional OLAP uses array-based multidimensional storage engines for multidimensional views on data. Numerous MOLAP servers use two levels of data storage representation to handle dense and sparse datasets.
- HOLAP: HOLAP of Hybrid OLAP combines both ROLAP and MOLAP for faster computation and higher scalability of data.
When a mapplet is used in a mapping, Designer allows users to set target load order for all sources that pertain to the mapplet. In Designer, users can set the target load order in which Integration Service sends rows to targets within the mapping. A target load order group is basically a collection of source qualifiers, transformations, and targets linked together in a mapping. The target load order can be set to maintain referential integrity while operating on tables that have primary and secondary keys.
Steps to Set the Target Load Order
Step 1: Create a mapping that contains multiple target load order groups
Step 2: Click on Mappings and then select Target Load Plan
Step 3: The Target Load Plan dialog box lists all Source Qualifier transformations with targets that receive data from them
Step 4: Select a Source Qualifier and click on the Up and Down buttons to change the position of the it
Step 5: Repeat Steps 3 and 4 for other Source Qualifiers if you want to reorder them
Step 6: Click on OK after you are done
If we are required to perform ETL operations, we need source data, target tables, and the required transformations. Target Designer in Informatica allows us to create target tables and modify the pre-existing target definitions.
Target definitions can be imported from various sources, including flat files, relational databases, XML definitions, Excel worksheets, etc.
For opening Target Designer, click on the Tools menu and select the Target Designer option.
The advantages of Informatica as a data integration tool are many.
- It facilitates the effective and efficient communication and transformation of data between different sources.
- Informatica is faster, cheaper, and easy to learn.
- Monitoring jobs becomes easy with it, and so do recovering failed jobs and pointing out slow jobs.
- It has many robust features including database information, data validation, migration of projects from one database to another, etc.
- Repository Manager: An administrative tool which is used to manage repository folders, objects, groups, etc.
- Administration Console: Used to perform service tasks
- PowerCenter Designer: Contains several designing tools including source analyzer, target designer, mapplet designer, mapping manager, etc.
- Workflow Manager: Defines a set of instructions that are required to execute mappings
- Workflow Monitor: Monitors workflows and tasks
Interested in learning Informatica? Check out this Informatica Training in Sydney!
Available in the Workflow Manager, sessions are configured by creating a session task. Within a mapping program, there can be multiple sessions which can be either reusable or non-reusable.
Properties of Sessions
- Session tasks can run concurrently or sequentially, as per the requirement.
- They can be configured to analyze performance.
- Sessions include log files, test load, error handling, commit interval, target properties, etc.
The various types of transformations are:
- Aggregator Transformation
- Expression Transformation
- Normalizer Transformation
- Rank Transformation
- Filter Transformation
- Joiner Transformation
- Lookup Transformation
- Stored procedure Transformation
- Sorter Transformation
- Update Strategy Transformation
- XML Source Qualifier Transformation
- Router Transformation
- Sequence Generator Transformation
The features of connected lookup are as follows:
- It takes in the input directly from the pipeline.
- It actively participates in data flow, and both dynamic and static cache are used.
- It caches all lookup columns and returns default values as the output when the lookup condition does not match.
- It is possible to return more than one column value to the output port.
- It supports user-defined default values.
Junk dimensions are structures that consist of a group of a few junk attributes such as random codes or flags. They form a framework to store related codes with respect to a specific dimension at a single place, instead of creating multiple tables for the same.
Become a master of Informatica by going through this online Informatica Course in Toronto!
Be it active or connected, rank transformation is used to sort and rank a set of records either from the top or from the bottom. It is also used to select data with the largest or smallest numeric value based on specific ports.
Available in both passive and connected configurations, the Sequence Generator transformation is responsible for the generation of primary keys or a sequence of numbers for calculations or processing. It has two output ports that can be connected to numerous transformations within a mapplet. These ports are:
- NEXTVAL: This can be connected to multiple transformations for generating a unique value for each row or transformation.
- CURRVAL: This port is connected when NEXTVAL is already connected to some other transformation within the mapplet.
When invoked, the INITCAP function capitalizes the first character of each word in a string and converts all other characters to lowercase.
When the data of an organization is developed at a single point of access, it is known as enterprise data warehousing.
Learn more about Informatica in this Informatica Tutorial!
Database has a group of useful information which is brief in size as compared to data warehouse. In data warehouse, there are sets of every kind of data whether it is useful or not, and the data is extracted as per the requirement of the customer.
Read this blog to get a clear understanding of Data Warehousing!
The term ‘domain’ refers to all interlinked relationship and nodes that are undertaken by sole organizational point.
A repository server mainly guarantees the repository reliability and uniformity, while a powerhouse server tackles the execution of many procedures between the factors of server’s database repository.
Learn Complete Informatica Course at Hyderabad in 42 hours!
The main advantage of partitioning a session is to make the server’s process and competence better. Another advantage is that it implements the solo sequences within the session.
With the help of command task at the session level, we can create indexes after the load procedure.
Are you interested in learning Informatica from experts? Enroll in our Informatica Course in Bangalore!
A session is a teaching group that requires the transformation of information from the source to a target.
We can have any number of sessions, but it is advisable to have lesser number of sessions in a batch because it will become easier for migration.
The values that alter during the session’s implementation is known as mapping variables, whereas the values that don’t alter during the session’s implementation is known as mapping parameters.
Interested in learning Informatica? Well, we have a comprehensive Informatica Online Training Course!
The features of complex mapping are as follows:
- There are more numbers of transformations
- It uses complex business logic
With the help of the debugging option, we can identify whether a mapping is correct or not without connecting sessions.
Yes, we can use mapping parameters or variables into any other reusable transformation because they doesn’t have any mapplet.
If extra memory is needed, aggregator provides extra cache files for keeping the transformation values. It also keeps the transitional value that are there in the local buffer memory.
The transformation that has entrance right to RDBMS is known as lookup transformation.
The dimensions that are used for playing diversified roles while remaining in the same database domain are known as role-playing dimensions.
We can access repository reports by using a metadata reporter. There is no need of using SQL or other transformation as it is a web app.
The types of metadata, which is stored in repository, are Target definition, Source definition, Mapplet, Mappings, and Transformations.
Transfer of data takes place from one code page to another such that both code pages have the same character sets; then, data failure will not occur.
At a time, we can validate only one mapping. Hence, mapping cannot be validated simultaneously.
It is different from expression transformation in which we can do calculations in set, but in aggregator transformation we can do aggregate calculations such as averages, sum, etc.
It is used for performing nonaggregated calculations. We can test conditional statements before the output results are moved to the target tables.
Filter transformation is a way of filtering rows in a mapping. It has all ports of input/output, and the row which matches with that condition can only pass by that filter.
It combines two associated mixed sources located in different locations, while a source qualifier transformation can combine data rising from a common source.
Lookup transformation is used for maintaining data in a relational table through mapping. We can use multiple lookup transformations in a mapping.
It is a different input group transformation that is used to combine data from different sources.
The incremental aggregation is done whenever a session is developed for a mapping aggregate.
In a connected lookup, inputs are taken straight away from various transformations in the pipeline. While, an unconnected lookup doesn’t take inputs straight away from various transformations; it can be used in any transformations and can be raised as a function using LKP expression.
A mapplet is a recyclable object that uses a mapplet designer.
This transformation is used various times in mapping. It is different from other mappings which use the transformation as it is stored as a metadata.
Whenever a row has to be updated or inserted based on some sequence, then update strategy is used. But in this, condition should be specified before for the processed row to be ticked as Update or Insert.
When it faces DD_Reject in update strategy transformation, then it sends server to reject files.
It is a substitute for the natural prime key. It is a unique identification for each row in the table.
In order to perform session partition, one need to configure the session to partition source data and then install the Informatica server machine in multifold CPUs.
The following types of files are created during the session RUMs:
- Errors log
- Bad file
- Workflow low
- Session log
It is a mass of instruction that guides PowerCenter server about how and when to move data from sources to targets.
This task permits one or more shell commands in UNIX or DOS in Windows to run during the workflow.
This task can be used anywhere in the workflow to run the shell commands.
A predefined event is the file-watch event. It waits for a specific file to arrive at a specific location.
User-defined events are a flow of tasks in the workflow. Events can be developed and then raised as per requirement.
The group of directions that communicates with server about how to implement tasks is known as workflow.
The different tools used in Workflow Manager are:
- Task Developer
- Task Designer
- Workflow Designer
‘CONTROL M’ is a third-party tool used for scheduling purpose.
It is a process by which multi-dimensional analysis occurs.
Take charge of your career by going through our professionally designed Informatica Certification Course!
Different types of OLAP are ROLAP, HOLAP, and DOLAP.
Worklet is said when the workflow tasks are collected in a group. It includes timer, decision, command, event wait, etc.
With the help of a Target Designer, we can create target definition.
In Workflow Monitor, we can find the throughput option. By right-clicking on session, then pressing on get run properties, and, under source/target statistics, we can find this option.
It is specified on the criteria of source qualifiers in a mapping. If there are many source qualifiers attached to various targets, then we can entitle an order in which Informatica loads data in targets.
Informatica is a tool, supporting all the steps of Extraction, Transformation, and Load (ETL) process. Nowadays, Informatica is also being used as an integration tool. Informatica is an easy-to-use tool. It has got a simple visual interface like forms in visual basic. You just need to drag and drop different objects (known as transformations) and design process flow for data extraction, transformation, and load.
These process flow diagrams are known as mappings. Once a mapping is made, it can be scheduled to run as and when required. In the background, Informatica server takes care of fetching data from the source, transforming it, and loading it to the target.
Aggregator performance improves dramatically if records are sorted before passing to the aggregator and the ‘sorted input’ option under aggregator properties is checked. The record set should be sorted on those columns that are used in the ‘Group By’ operation. It is often a good idea to sort the record set in the database level, e.g., inside a source qualifier transformation, unless there is a chance that already sorted records from source qualifier can again become unsorted before reaching aggregator.
Informatica Lookups can be cached or uncached (no cache). A cached lookup can be either static or dynamic. A static cache is one which does not modify the cache once it is built, and it remains the same during the session run. On the other hand, a cache refreshed during the session run by inserting or updating the records in cache based on the incoming source data.
By default, Informatica cache is static cache. A 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.
A target table can be updated without using ‘Update Strategy.’ For this, 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 level, we should set the target property as ‘Update as Update’ and check the ‘Update’ check-box. Let’s assume, we have a target table ‘Customer’ with fields as ‘Customer ID,’ ‘Customer Name,’ and ‘Customer Address.’
If we want to update ‘Customer Address’ without an Update Strategy, then we have to define ‘Customer ID’ as the primary key in Informatica level and connect Customer ID and Customer Address fields in the mapping. If the session properties are set correctly as described above, then the mapping will only update the customer address field for all matching customer IDs.
From an Informatica Developer’s perspective, some of the new features in Informatica 9.x are as follows:
- Lookup can be configured as an active transformation—it can return multiple rows on successful match.
- You can write SQL override on uncached lookups also. Previously, you could do it only on cached lookups.
- You can control the size of the session log. In a real-time environment, you can control the session log file size or time.
- Database deadlock resilience feature—this will ensure that the session does not immediately fail if it encounters any database deadlock; it will now retry the operation again. You can configure the number of retry attempts.
Informatica ETL tool is the market leader in data integration and data quality services. Informatica is a successful ETL and EAI tool with significant industry coverage. ETL refers to extract, transform, and load. Data integration tools are different from other software platforms and languages.
They have no inbuilt feature to build user interface where end user can see the transformed data. Informatica ETL tool “power center” has the capability to manage, integrate, and migrate enterprise data.
The following are the advantages of Informatica:
- It is a GUI tool; coding in any graphical tool is generally faster than hand code scripting.
- It can communicate with all major data sources (mainframe/RDBMS/Flat Files/XML/VSM/SAP, etc).
- It can handle very large data very effectively.
- The user can apply mappings, extract rules, cleansing rules, transformation rules, and aggregation logic and loading rules are in separate objects in an ETL tool. Any change in any of the objects will give a minimum impact on other objects.
- The object is reusable (Transformation Rules).
Informatica has different ‘adapters’ for extracting data from packaged ERP applications (such as SAP or PeopleSoft).
- Resources are available in the market.
- It can be run on Windows and Unix environment.
- Informatica PowerCenter is one of the Enterprise Data Integration products developed by Informatica Corporation. Informatica PowerCenter is an ETL tool used for extracting data from the source and transforming and loading data in to the target. The Extraction part involves understanding, analyzing, and cleaning of the source data.
- Transformation part involves cleaning the data more precisely and modifying the data as per the business requirements.
- The loading part involves assigning the dimensional keys and loading them into the warehouse.
The problem comes with traditional programming languages where we need to connect to multiple sources and then handle errors. For this, we have to write complex code. ETL tools provide a ready-made solution for this. We don’t need to worry about handling these things, and hence we can concentrate on coding the required part.
Gain expertise in Informatica by checking out our Informatica Training!