This action might not be possible to undo. Are you sure you want to continue?
1. What is Data warehouse? According to Bill Inmon, known as father of Data warehousing. “A Data warehouse is a subject oriented(Customer,Productsales), integrated(integrating multiple,hetrogenous data source, eg database ,flatfiles), time variant(provide 5-10 years ino), non-volatile collection of data(a physically separate store of data transformed from operational environment) in support of management‟s decision making process”. 2. what are the types of data warehouses? There are three types of data warehouses
Enterprise Data Warehouse ODS (operational data store) Data Mart
3. What is Data mart? A data mart is a subset of data warehouse that is designed for a particular line of business, such as sales, marketing, or finance. In a dependent data mart, data can be derived from an enterprise wide data warehouse. In an independent data mart can be collected directly from sources. 4. What is star schema? A star schema is the simplest form of data warehouse schema that consists of one or more dimensional and fact tables. 5. What is snow flake schema? A Snowflake schema is nothing but one Fact table which is connected to a number of dimension tables, The snowflake and star schema are methods of storing data which are multidimensional in nature.
Informatica Interview Question and Answers
6. What are ETL Tools? ETL Tools are stands for Extraction, Transformation, and Loading the data into the data warehouse for decision making. ETL refers to the methods involved in accessing and manipulating source data and loading it into target database. 7. What are Dimensional table? Dimension tables contain attributes that describe fact records in the fact table.
8. What is data Modelling? Data Modeling is representing the real world set of data structures or entities and their relationship in their of data models, required for a database.Data Modelling consists of various types like :
Conceptual data modeling Logical data modeling Physical data modeling Enterprise data modeling Relation data modeling Dimensional data modeling.
9. What is Surrogate key? Surrogate key is a substitution for the natural primary key. It is just a unique identifier or number of each row that can be used for the primary key to the table. Surrogate key Surrogate key is the primary key for the Dimensional table Surrogate key is a numeric or integer value in a table to identify each row uniquely. Primary key and surrogate key are same but surrogate key is a system generated value has a define incremental valu... Surrogate key and primary key both are same, but point of application is different. Primary key is part of transactional system but surrogate key is part of analytical system Surrogate Key is the solution for critical column problems. For example the customer purchases different items in different locations,for this situation we have to maintain historical data. By using surrogate key we can introduce the row in the data warehouse to maintain historical data :Every join between dimension tables and fact tables in a data warehouse environment should be based on surrogate keys, Surrogate is mainly used in slowly changing dimensions,it maintaining the uniqueness in the table.it is used to track the old value with the new one.And it is derived from primary key. Surrogate key is the primary key for the Dimensional table. Surrogate key is a substitution for the natural primary key. Data warehouses typically use a surrogate, (also known as artificial or identity key), key for the dimension tables primary keys. They can use Infa sequence generator, or Oracle sequence, or SQL Server Identity values for the surrogate key. It is useful because the natural primary key (i.e. Customer Number in Customer table) can change and this makes updates more difficult and also used in SCDs to preserve historical data. Surkey cust_id location,sd ,ed sysdate-1 1000 100 mumbai ,10/march/2012,(11/march/2012)15/april/2012 1000 100 mumbai ,sysdate,
1001 100 kolkatta 1050 101 hyderabad 1100 102 banglore
type2: where we track complete history either by flagging records or by having date column in there. eg: change of address. every time address is changed a new record is created in the target table.here there are 2 scenarios. either you have a flag column and flag the old record as N and new record as Y indicating it as latest record or if you also want to track the changes made based on time, then you can have start_dt and end_dt column in there which will keep updating whenever a new record is inserted. for the very first record you can have start_dt as some constant date(1\1\1950- based on business rule) and end_dt as 31\12\9999. now whenevr a new record comes, the end dt of last record is updated to the current time using sysdate-1 sec and start_dt for the new record becomes sysdate.end_dt is same as 31\12\9999.same process is repeated whenever there is change in type 2 column value. also in designer there is a scd type wizard. you can use that for the same for your further understanding 10. What is Data Mining? A Data Mining is the process of analyzing data from different perpectives and summarizing it into useful information. 11. What is Operational Data Store? A ODS is an operational data store which comes as a second layer in a datawarehouse architecture. It has got the characteristics of both OLTP and DSS systems. 12. What is the Difference between OLTP and OLAP? OLTP is nothing but OnLine Transaction Processing which contains a normalised tables .(the process of breaking the data and storing it into different tables in order to reduce the redundancy)) But OLAP(Online Analtical Programming) contains the history of OLTP data which is nonvolatile acts as a Decisions Support System. 13. How many types of dimensions are available in Informatica? There are three types of dimensions available are :
Junk dimension Degenerative Dimension
14. What is Difference between ER Modeling and Dimensional Modeling? ER Modeling is used for normalizing the OLTP database design. Dimesional modeling is used for de-normalizing the ROLAP / MOLAP design. 15. What is the maplet? Maplet is a set of transformations that you build in the maplet designer and you can use in multiple mapings. 16. What is Session and Batches? Session: A session is a set of commands that describes the server to move data to the target. Batch: A Batch is set of tasks that may include one or more numbar of tasks (sessions, ewent wait, email, command, etc). 17. What are slowly changing dimensions? Dimensions that change overtime are called Slowly Changing Dimensions(SCD).
Slowly Changing Dimension-Type1 : Which has only current records. Slowly Changing Dimension-Type2 : Which has current records + historical records. Slowly Changing Dimension-Type3 : Which has current records + one previous records.
18. What are 2 modes of data movement in Informatica Server? There are two modes of data movement are: Normal Mode in which for every record a separate DML stmt will be prepared and executed. Bulk Mode in which for multiple records DML stmt will be preapred and executed thus improves performance. 19. What is the difference between Active and Passive transformation? Active Transformation:An active transformation can change the number of rows that pass through it from source to target i.e it eliminates rows that do not meet the condition in transformation. Passive Transformation:A passive transformation does not change the number of rows that pass through it i.e it passes all rows through the transformation. 20. What is the difference between connected and unconnected transformation? Connected Transformation:Connected transformation is connected to other transformations or directly to target table in the mapping. UnConnected Transformation:An unconnected transformation is not connected to other transformations in the mapping. It is called within another transformation, and returns a
value to that transformation.
What are different types of transformations available in Informatica? There are various types of transformations available in Informatica :
Aggregator Application Source Qualifier Custom Expression External Procedure Filter Input Joiner Lookup Normalizer Output Rank Router Sequence Generator Sorter Source Qualifier Stored Procedure Transaction Control Union Update Strategy XML Generator XML Parser XML Source Qualifier
22. What are Aggregator Transformation? Aggregator transformation is an Active and Connected transformation. This transformation is useful to perform calculations such as averages and sums (mainly to perform calculations on multiple rows or groups). 23. What are Expression transformation? Expression transformation is a Passive and Connected transformation. This can be used to calculate values in a single row before writing to the target.
24. What are Filter transformation? Filter transformation is an Active and Connected transformation. This can be used to filter rows in a mapping that do not meet the condition. 25. What are Joiner transformation? Joiner Transformation is an Active and Connected transformation. This can be used to join two sources coming from two different locations or from same location. Why we use lookup transformations? Lookup Transformations can access data from relational tables that are not sources in mapping. 27. What are Normalizer transformation? Normalizer Transformation is an Active and Connected transformation. It is used mainly with COBOL sources where most of the time data is stored in denormalized format. Also, Normalizer transformation can be used to create multiple rows from a single row of data. 28. What are Rank transformation? Rank transformation is an Active and Connected transformation. It is used to select the top or bottom rank of data. 29. What are Router transformation? Router transformationis an Active and Connected transformation. It is similar to filter transformation. The only difference is, filter transformation drops the data that do not meet the condition whereas router has an option to capture the data that do not meet the condition. It is useful to test multiple conditions. 30. What are Sorter transformation? Sorter transformation is a Connected and an Active transformation. It allows to sort data either in ascending or descending order according to a specified field. Name four output files that informations server creates during session running?
Session Log Workflow Log Errors Log Badfile
32. Why we use stored procedure transformation?
A stored procedure transformation is an important tool for populating and maintaing databases. 33. What are the difference between static cache and dynamic cache? Dynamic cache decreases the performance in comparision to static cache. Static cache do not see such things just insert data as many times as it is coming 34. Define maping and sessions? Maping: It is a set of source and target definitions linked by transformation objects that define the rules for transformation. Session : It is a set of instructions that describe how and when to move data from source to targets. 35. What is a command that used to run a batch? pmcmd is used to start a batch. 1 36. What is Datadriven? The informatica server follows instructions coded into update strategy transformations with in the session maping determine how to flag records for insert, update, delete or reject. 37. What is power center repository? The PowerCenter repository allows you to share metadata across repositories to create a data mart domain. 38. What is parameter file? A parameter file is a file created by text editor such as word pad or notepad. U can define the following values in parameter file. Maping parameters Maping variables session parameters. 39. What are the types of lookup caches?
Static cache Dynamic cache Persistent cache Shared cache Recache.
40 What are Stored Procedure transformation?
. Stored Procedure transformation is an Passive & Connected or UnConnected transformation. It is useful to automate time-consuming tasks and it is also used in error handling, to drop and recreate indexes and to determine the space in database, a specialized calculation What is fact table? The centralized table in a star schema is called as fact table. Fact tables are three types
additive non-additive semi additive
42. What is Data warehouse? According to Bill Inmon, known as father of Data warehousing. “A Data warehouse is a subject oriented, integrated ,time variant, non volatile collection of data in support of management‟s decision making process”. 43. What is Data Transformation Manager(DTM)? After the load manager performs validations for the session, it creates the DTM process. The DTM process is the second process associated with the session run. 44. How can you define a transformation? A transformation is a repository object that generates, modifies, or passes data. The Designer provides a set of transformations that perform specific functions. 45 What are Lookup transformation? . Lookup transformation is Passive and it can be both Connected and UnConnected as well. It is used to look up data in a relational table, view, or synonym. Lookup definition can be imported either from source or from target tables. What are Source Qualifier transformation? Source Qualifier transformation is an Active and Connected transformation. When adding a relational or a flat file source definition to a
mapping, it is must to connect it to a Source Qualifier transformation. The Source Qualifier performs the various tasks such as overriding default SQL query, filtering records; join data from two or more tables etc. 47. What is difference between maplet and reusable transformation? Maplet consists of set of transformations that is reusable. A reusable transformation is a single transformation that can be reusable. 48. What are Update Strategy transformation? Update strategy transformation is an active and connected transformation. It is used to update data in target table, either to maintain history of data or recent changes. You can specify how to treat source rows in table, insert, update, delete or data driven. 49. How many types of dimensions are available in informatica? There are three types of dimensions.
Star schema Snowflake schema Glaxy schema What is difference between maplet and reusable transformation? Maplet : one or more transformations. set of transformations that are reusable. Reusable transformation: only one transformation. Single transformation which is reusable.
What are different types of parsing?
Quick parsing Thorough parsing
52. What are Lookup and Fact Tables? A lookup (Dimension) table contains information about the entities. In general the Dimension and details objects are derived from lookup tables. A fact table contains the statistical information about transactions. 53. What is Designer?
Designer is the Business objects product that is intended to develop the universes. These universe is the semantic - layer of the database structure that isolates from technical issues. 54. What is Surrogate Key? Surrogate keys are keys that are maintained within the data warehouse instead of keys taken from source data systems. 55. What are the pitfalls of DWH?
Limited value of data (Historical data not current data) DW solutions complicate business processes DW solutions may have too long a learning curve Costs of cleaning, capturing and delivering data
123456789101112131415 Page 11 of 15 How do you handle large datasets? By Using Bulk utility mode at the session level and if possible by disabling constraints after consulting with DBA; Using Bulk utility mode would mean that no writing is taking place in Roll Back Segment so loading is faster. However the pitfall is that recovery is not possible. 57. What are the limitations of handling long datatypes? When the length of a datatype (e.g varchar2(4000)) goes beyond 4000, Informatica makes this as varchar2(2000). 58. What are the types of OLAP? ROLAP (Relational OLAP) - Users see their data organized in cubes and dimensions but the data is really stored in RDBMS. The performance is slow. A storage mode that uses tables in a relational database to store multidimensional structures. MOLAP (Multidimensional OLAP) - Users see their data organized in cubes and dimensions but the data is really stored in MDBMS. Query performance is fast. HOLAP (Hybrid OLAP) - It is a combination of ROLAP and HOLAP. EG: HOLOs. In this one will find data queries on aggregated data as well as detailed data. 59. What is the difference between data mart and data warehouse?
Data mart used on a business division/department level where as data warehouse is used on enterprise level. 60. What is Meta data? Data about the data, contains the location and description of data warehouse system components such as name, definitions and end user views. 123456789101112131415 Page 12 of 15 How does the recovery mode work in informatica? In case of load failure an entry is made in OPB_SERV_ENTRY(?) table from where the extent of loading can be determined. 62. What is Aggregate Awareness? Aggregate awareness is a feature of DESIGNER that makes use of aggregate tables in a database. These are tables that contain pre-calculated data. The purpose of these tables is to enhance the performance of SQL transactions; they are thus used to speed up the execution of queries. 63. What is a difference between OLTP and OLAP? OLTP
It focus on day to day transaction. Data Stability Dynamic Highly normalized. Access Frequency High. OLAP
It focus on future predictions and decisions Static until refreshed Demoralized and replicated data Medium to low.
64. When should you use a star schema and when a snowflake schema? A star schema is a simplest data warehouse schema. Snowflake schema is similar to the star schema. It normalizes dimension table to save data storage space. It can be
used to represent hierarchies of information. 65. What parameters can be tweaked to get better performance from a session? DTM shared memory, Index cache memory, Data cache memory, by indexing, using persistent cache, increasing commit interval etc. 1 What are the benefits of DWH?
Immediate information delivery Data Integration from across, even outside the organization Future vision of historical trends Tools for looking at data in new ways Enhanced customer service.
67. Is It Possible to invoke Informatica batch or session outside Informatica UI? PMCMD. 68. Why we are going for surrogate keys?
Data tables in various source systems may use different keys for the same entity. Keys may change or be reused in the source data systems. Changes in organizational structures may move keys in the hierarchy.
69. When is more convenient to join in the database or in Informatica?
Definitely at the database level at the source Qualifier query itself rather than using Joiner transformation
70. How do you measure session performance? By checking Collect performance Data check box. What is Dimension Table? It contains data used to reference data stored in the fact table.
Fewer rows Primarily character data One primary key (dimensional key)
72. What is a database connection? A connection is a set of parameters that provides access to an RDBMS. These parameters include system information such as the data account, user identification, and the path to the database. Designer provides three types of connections: secured, shared, and personal. 73. What are all the types of dimensions?
Informational Dimension Structural Dimension Categorical Dimension Partitioning Dimension
Community of DW & BI professionals Register Or Sign-In
What are you looking for? search com_search 107
Home Certification Apply Job Reporting & Analysis Data Warehousing ETL
Database Tutorial Ask a Question
Exception Handling While Reading Multiple XML Files in Data Services
0 2,1 sub formAcymailing1 notask http%3A%2F%2F http%3A%2F%2F com_acymailing
NEED MORE HELP ON THIS SUBJECT?
Ask a question
Top 50 Informatica Interview Questions with Answers
Last Updated on Monday, 15 October 2012 03:35 Written by Akash Mitra
Welcome to the finest collection of Informatica Interview Questions with standard answers that you can count on. Read and understand all the questions and their answers below and in the following pages to get a good grasp in Informatica.
What are the differences between Connected and Unconnected Lookup?
The differences are illustrated in the below table
Connected Lookup Connected lookup participates in
Unconnected Lookup Unconnected lookup receives input
dataflow and receives input directly from the pipeline Connected lookup can use both dynamic and static cache Connected lookup can return more than one column value ( output port )
values from the result of a LKP: expression in another transformation Unconnected Lookup cache can NOT be dynamic Unconnected Lookup can return only one column value i.e. output port Unconnected lookup caches only the lookup output ports in the lookup conditions and the return port
Connected lookup caches all lookup columns
Supports user-defined default values (i.e. value to return when lookup conditions are not satisfied)
Does not support user defined default values
What is the difference between Router and Filter?
Following differences can be noted,
Router Router transformation divides the incoming records into multiple groups based on some condition. Such groups can be mutually inclusive (Different groups may contain same record) Router transformation itself does not block any record. If a certain record
Filter transformation restricts or blocks the incoming record set based on one given condition.
Filter transformation does not have a default group. If one record does not
does not match any of the routing conditions, the record is routed to default group Router acts like CASE.. WHEN statement in SQL (Or Switch().. Case statement in C)
match filter condition, the record is blocked
Filter acts like WHERE condition is SQL.
What can we do to improve the performance of Informatica Aggregator Transformation?
Aggregator performance improves dramatically if records are sorted before passing to the aggregator and "sorted input" option under aggregator properties is checked. The record set should be sorted on those columns that are used in Group By operation. It is often a good idea to sort the record set in database level (click here to see why?) 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 You may also read this article to know how to tune the performance of aggregator transformation
What are the different lookup cache(s)?
Informatica Lookups can be cached or un-cached (No cache). And 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 same during the session run. On the other hand, A dynamic cache is 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
How can we update a record in target table without using Update
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". Suppose we want to update "Customer Address" without an Update Strategy. Then we have to define "Customer ID" as 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.
Under what condition selecting Sorted Input in aggregator may fail the session?
If the input data is not sorted correctly, the session will fail. Also if the input data is properly sorted, the session may fail if the sort order by ports and the group by ports of the aggregator are not in the same order.
Why is Sorter an Active Transformation?
This is because we can select the "distinct" option in the sorter property. When the Sorter transformation is configured to treat output rows as distinct, it assigns all ports as part of the sort key. The Integration Service discards duplicate rows compared during the sort operation. The number of Input Rows will vary as compared with the Output rows and hence it is an Active transformation.
Is lookup an active or passive transformation?
From Informatica 9x, Lookup transformation can be configured as as "Active" transformation. Find out How to configure lookup as active transformation However, in the older versions of Informatica, lookup is a passive transformation
What is the difference between Static and Dynamic Lookup Cache?
We can configure a Lookup transformation to cache the underlying lookup table. In case of static or read-only lookup cache the Integration Service caches the lookup table at the beginning of the session and does not update the lookup cache while it processes the Lookup transformation. In case of dynamic lookup cache the Integration Service dynamically inserts or updates data in the lookup cache and passes the data to the target. The dynamic cache is synchronized with the target. In case you are wondering why do we need to make lookup cache dynamic, read this article on dynamic lookup
What is the difference between STOP and ABORT options in Workflow Monitor?
When we issue the STOP command on the executing session task, the Integration Service stops reading data from source. It continues processing, writing and committing the data to targets. If the Integration Service cannot finish processing and committing data, we can issue the abort command. In contrast ABORT command has a timeout period of 60 seconds. If the Integration Service cannot finish processing and committing data within the timeout period, it kills the DTM process and terminates the session.
What are the new features of Informatica 9.x in developer level?
From a developer's perspective, some of the new features in Informatica 9.x are as follows: Now Lookup can be configured as an active transformation - it can return multiple rows on successful match
Now you can write SQL override on un-cached lookup also. Previously you could do it only on cached lookup
You can control the size of your 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 your session does not immediately fail if it encounters any database deadlock, it will now retry the operation again. You can configure number of retry attempts.
How to Delete duplicate row using Informatica
Scenario 1: Duplicate rows are present in relational database
Suppose we have Duplicate records in Source System and we want to load only the unique records in the Target System eliminating the duplicate rows. What will be the approach? Assuming that the source system is a Relational Database, to eliminate duplicate records, we can check the Distinct option of the Source Qualifier of the source table and load the target accordingly.
Scenario 2: Deleting duplicate records from flatfile
To know the answer of the above question (and many more similar high frequency Informatica questions) please continue to, Best Informatica Interview Questions (Page 2) >> [Only for registered
Informatica Mapping Designer Q. How to execute PL/SQL script from Informatica mapping? A. Stored Procedure (SP) transformation can be used to execute PL/SQL Scripts. In SP
Transformation PL/SQL procedure name can be specified. Whenever the session is executed, the session will call the pl/sql procedure. Q. How can you define a transformation? What are different types of transformations available in Informatica? A. A transformation is a repository object that generates, modifies, or passes data. The Designer provides a set of transformations that perform specific functions. For example, an Aggregator transformation performs calculations on groups of data. Below are the various transformations available in Informatica:
Aggregator Application Source Qualifier Custom Expression External Procedure Filter Input Joiner Lookup Normalizer Output Rank Router
Sequence Generator Sorter Source Qualifier Stored Procedure Transaction Control Union Update Strategy XML Generator XML Parser XML Source Qualifier
Q. What is a source qualifier? What is meant by Query Override? A. Source Qualifier represents the rows that the PowerCenter Server reads from a relational or flat file source when it runs a session. When a relational or a flat file source definition is added to a mapping, it is connected to a Source Qualifier transformation. PowerCenter Server generates a query for each Source Qualifier Transformation whenever it runs the session. The default query is SELET statement containing all the source columns. Source Qualifier has capability to override this default query by changing the default settings of the transformation properties. The list of selected ports or the order they appear in the default query should not be changed in overridden query. Q. What is aggregator transformation? A. The Aggregator transformation allows performing aggregate calculations, such as averages and sums. Unlike Expression Transformation, the Aggregator transformation can only be used to perform calculations on groups. The Expression transformation permits
calculations on a row-by-row basis only. Aggregator Transformation contains group by ports that indicate how to group the data. While grouping the data, the aggregator transformation outputs the last row of each group unless otherwise specified in the transformation properties. Various group by functions available in Informatica are : AVG, COUNT, FIRST, LAST, MAX, MEDIAN, MIN, PERCENTILE, STDDEV, SUM, VARIANCE. Q. What is Incremental Aggregation? A. Whenever a session is created for a mapping Aggregate Transformation, the session option for Incremental Aggregation can be enabled. When PowerCenter performs incremental aggregation, it passes new source data through the mapping and uses historical cache data to perform new aggregation calculations incrementally. Q. How Union Transformation is used? A. The union transformation is a multiple input group transformation that can be used to merge data from various sources (or pipelines). This transformation works just like UNION ALL statement in SQL, that is used to combine result set of two SELECT statements. Q. Can two flat files be joined with Joiner Transformation? A. Yes, joiner transformation can be used to join data from two flat file sources. Q. What is a look up transformation? A. This transformation is used to lookup data in a flat file or a relational table, view or synonym. It compares lookup transformation ports (input ports) to the source column values based on the lookup condition. Later returned values can be passed to other transformations. Q. Can a lookup be done on Flat Files? A. Yes. Q. What is the difference between a connected look up and unconnected look up?
A. Connected lookup takes input values directly from other transformations in the pipleline. Unconnected lookup doesn‟t take inputs directly from any other transformation, but it can be used in any transformation (like expression) and can be invoked as a function using :LKP expression. So, an unconnected lookup can be called multiple times in a mapping. Q. What is a mapplet? A. A mapplet is a reusable object that is created using mapplet designer. The mapplet contains set of transformations and it allows us to reuse that transformation logic in multiple mappings. Q. What does reusable transformation mean? A. Reusable transformations can be used multiple times in a mapping. The reusable transformation is stored as a metadata separate from any other mapping that uses the transformation. Whenever any changes to a reusable transformation are made, all the mappings where the transformation is used will be invalidated. Q. What is update strategy and what are the options for update strategy? A. Informatica processes the source data row-by-row. By default every row is marked to be inserted in the target table. If the row has to be updated/inserted based on some logic Update Strategy transformation is used. The condition can be specified in Update Strategy to mark the processed row for update or insert. Following options are available for update strategy :
DD_INSERT : If this is used the Update Strategy flags the row for insertion. Equivalent numeric value of DD_INSERT is 0.
DD_UPDATE : If this is used the Update Strategy flags the row for update. Equivalent numeric value of DD_UPDATE is 1. DD_DELETE : If this is used the Update Strategy flags the row for deletion. Equivalent numeric value of DD_DELETE is 2.
DD_REJECT : If this is used the Update Strategy flags the row for rejection. Equivalent numeric value of DD_REJECT is 3.
Types of Dimensions
A dimension table consists of the attributes about the facts. Dimensions store the textual descriptions of the business. Without the dimensions, we cannot measure the facts. The different types of dimension tables are explained in detail below.
Conformed dimensions mean the exact same thing with every possible fact table to which they are joined. Eg: The date dimension table connected to the sales facts is identical to the date dimension connected to the inventory facts.
A junk dimension is a collection of random transactional codes flags and/or text attributes that are unrelated to any particular dimension. The junk dimension is simply a structure that provides a convenient place to store the junk attributes.
Eg: Assume that we have a gender dimension and marital status dimension. In the fact table we need to maintain two keys referring to these dimensions. Instead of that create a junk dimension which has all the combinations of gender and marital status (cross join gender and marital status table and create a junk table). Now we can maintain only one key in the fact table.
A degenerate dimension is a dimension which is derived from the fact table and doesn't have its own dimension table.
Eg: A transactional code in a fact table.
Dimensions which are often used for multiple purposes within the same database are called role-playing dimensions. For example, a date dimension can be used for “date of sale", as well as "dat e of delivery", or "date of hire". Types of Facts http://4.bp.blogspot.com/G3hdJ8giIT8/T1icxAa2iSI/AAAAAAAAAQA/hfL7dR3FuoE/s1600/data_warehouse.jpg A fact table is the one which consists of the measurements, metrics or facts of business process. These measurable facts are used to know the business value and to forecast the future business. The different types of facts are explained in detail below.
Additive facts are facts that can be summed up through all of the dimensions in the fact table. A sales fact is a good example for additive fact.
Semi-additive facts are facts that can be summed up for some of the dimensions in the fact table, but not the others. Eg: Daily balances fact can be summed up through the customers dimension but not through the time dimension.
Non-additive facts are facts that cannot be summed up for any of the dimensions present in the fact table. Eg: Facts which have percentages, ratios calculated.
Factless Fact Table:
In the real world, it is possible to have a fact table that contains no measures or facts. These tables are called "Factless Fact tables".
Eg: A fact table which has only product key and date key is a factless fact. There are no measures in this table. But still you can get the number products sold over a period of time.
A fact tables that contain aggregated facts are often called summary tables Dimension Table features 1. It provides the context /descriptive information for fact table measurements. 2. Provides entry points to data. 3. Structure of Dimension - Surrogate key , one or more other fields that compose the natural key (nk) and set of Attributes. 4. Size of Dimension Table is smaller than Fact Table. 5. In a schema more number of dimensions are presented than Fact Table. 6. Surrogate Key is used to prevent the primary key (pk) violation(store historical data).
7. Values of fields are in numeric and text representation. Fact Table features 1. It provides measurement of an enterprise. 2. Measurement is the amount determined by observation. 3. Structure of Fact Table - foreign key (fk), Degenerated Dimension and Measurements. 4. Size of Fact Table is larger than Dimension Table. 5. In a schema less number of Fact Tables observed compared to Dimension Tables. 6. Compose of Degenerate Dimension fields act as Primary Key. 7. Values of the fields always in numeric or integer form.
Types of Facts -
Additive: Additive facts are facts that can be summed up through all of the dimensions in the fact table. A sales fact is a good example for additive fact. Semi-Additive: Semi-additive facts are facts that can be summed up for some of the dimensions in the fact table, but not the others. Eg: Daily balances fact can be summed up through the customers dimension but not through the time dimension. Non-Additive: Non-additive facts are facts that cannot be summed up for any of the dimensions present in the fact table. Eg: Facts which have percentages, ratios calculated.
Factless Fact Table: In the real world, it is possible to have a fact table that contains no measures or facts. These tables are called “Factless Fact tables”. Eg: A fact table which has only product key and date key is a factless fact. There are no measures in this table. But still you can get the number products sold over a period of time. Based on the above classifications, fact tables are categorized into two: Cumulative: This type of fact table describes what has happened over a period of time. For example, this fact table may describe the total sales by product by store by day. The facts for this type of fact tables are mostly additive facts. The first example presented here is a cumulative fact table. Snapshot: This type of fact table describes the state of things in a particular instance of time, and usually includes more semi-additive and non-additive facts. The second example presented here is a snapshot fact table.
Home About Me Contact
Best resource on Interview Q & A
50 Frequently asked Informatica Interview Questions with Answers
April 7, 2012 by admin
1. What do you mean by Enterprise Data Warehousing? When the organization data is created at a single point of access it is called as enterprise data warehousing. Data can be provided with a global view to the server via a single source store. One can do periodic analysis on that same source. It gives better results but however the time required is high. 2. What the difference is between a database, a data warehouse and a data mart? Database includes a set of sensibly affiliated data which is normally small in size as compared to data warehouse. While in data warehouse there are assortments of all sorts of data and data is taken out only according to the customer‟s needs. On the other hand datamart is also a set of data which is designed to cater the needs of different domains. For instance an organization having different chunk of data for its different departments i.e. sales, finance, marketing etc. 3. What is meant by a domain? When all related relationships and nodes are covered by a sole organizational point, its called domain. Through this data management can be improved. 4. What is the difference between a repository server and a powerhouse? Repository server controls the complete repository which includes tables, charts, and various procedures etc. Its main function is to assure the repository integrity and consistency. While a
powerhouse server governs the implementation of various processes among the factors of server‟s database repository. 5. How many repositories can be created in informatica?
There can be any number of repositories in informatica but eventually it depends on number of ports. 6. What is the benefit of partitioning a session? Partitioning a session means solo implementation sequences within the session. It‟s main purpose is to improve server‟s operation and efficiency. Other transformations including extractions and other outputs of single partitions are carried out in parallel. 7. How are indexes created after completing the load process? For the purpose of creating indexes after the load process, command tasks at session level can be used. Index creating scripts can be brought in line with the session‟s workflow or the post session implementation sequence. Moreover this type of index creation cannot be controlled after the load process at transformation level. 8. Explain sessions. Explain how batches are used to combine executions? A teaching set that needs to be implemented to convert data from a source to a target is called a session. Session can be carried out using the session‟s manager or pmcmd command. Batch execution can be used to combine sessions executions either in serial manner or in a parallel. Batches can have different sessions carrying forward in a parallel or serial manner. 9. How many number of sessions can one group in batches? One can group any number of sessions but it would be easier for migration if the number of sessions are lesser in a batch. 10. Explain the difference between mapping parameter and mapping variable? When values change during the session‟s execution it‟s called a mapping variable. Upon completion the Informatica server stores the end value of a variable and is reused when session restarts. Moreover those values that do not change during the sessions execution are called mapping parameters. Mapping procedure explains mapping parameters and their usage. Values are allocated to these parameters before starting the session.
11.What is complex mapping? Following are the features of complex mapping.
Difficult requirements Many numbers of transformations Complex business logic
12. How can one identify whether mapping is correct or not without connecting session? One can find whether the session is correct or not without connecting the session is with the help of debugging option. 13. Can one use mapping parameter or variables created in one mapping into any other reusable transformation? Yes, One can do because reusable transformation does not contain any mapplet or mapping. 14. Explain the use of aggregator cache file? Aggregator transformations are handled in chunks of instructions during each run. It stores transitional values which are found in local buffer memory. Aggregators provides extra cache files for storing the transformation values if extra memory is required. 15. Briefly describe lookup transformation? Lookup transformations are those transformations which have admission right to RDBMS based data set. The server makes the access faster by using the lookup tables to look at explicit table data or the database. Concluding data is achieved by matching the look up condition for all look up ports delivered during transformations. 16. What does role playing dimension mean? The dimensions that are utilized for playing diversified roles while remaining in the same database domain are called role playing dimensions. 17. How can repository reports be accessed without SQL or other transformations? Ans: Repository reports are established by metadata reporter. There is no need of SQL or other transformation since it is a web app. 18. What are the types of metadata that stores in repository? The types of metadata includes Source definition, Target definition, Mappings, Mapplet, Transformations.
19. Explain the code page compatibility? When data moves from one code page to another provided that both code pages have the same character sets then data loss cannot occur. All the characteristics of source page must be available in the target page. Moreover if all the characters of source page are not present in the target page then it would be a subset and data loss will definitely occur during transformation due the fact the two code pages are not compatible. 20. How can you validate all mappings in the repository simultaneously? All the mappings cannot be validated simultaneously because each time only one mapping can be validated. 21. Briefly explain the Aggregator transformation? It allows one to do aggregate calculations such as sums, averages etc. It is unlike expression transformation in which one can do calculations in groups. 22. Describe Expression transformation? Values can be calculated in single row before writing on the target in this form of transformation. It can be used to perform non aggregate calculations. Conditional statements can also be tested before output results go to target tables. 23. What do you mean by filter transformation? It is a medium of filtering rows in a mapping. Data needs to be transformed through filter transformation and then filter condition is applied. Filter transformation contains all ports of input/output, and the rows which meet the condition can only pass through that filter. 24. What is Joiner transformation? Joiner transformation combines two affiliated heterogeneous sources living in different locations while a source qualifier transformation can combine data emerging from a common source. 25. What is Lookup transformation? It is used for looking up data in a relational table through mapping. Lookup definition from any relational database is imported from a source which has tendency of connecting client and server. One can use multiple lookup transformation in a mapping. 26. How Union Transformation is used?
Ans: It is a diverse input group transformation which can be used to combine data from different sources. It works like UNION All statement in SQL that is used to combine result set of two SELECT statements. 27. What do you mean Incremental Aggregation? Option for incremental aggregation is enabled whenever a session is created for a mapping aggregate. Power center performs incremental aggregation through the mapping and historical cache data to perform new aggregation calculations incrementally. 28. What is the difference between a connected look up and unconnected look up? When the inputs are taken directly from other transformations in the pipeline it is called connected lookup. While unconnected lookup doesn‟t take inputs directly from other transformations, but it can be used in any transformations and can be raised as a function using LKP expression. So it can be said that an unconnected lookup can be called multiple times in mapping. 29. What is a mapplet? A recyclable object that is using mapplet designer is called a mapplet. It permits one to reuse the transformation logic in multitude mappings moreover it also contains set of transformations. 30.Briefly define reusable transformation? Reusable transformation is used numerous times in mapping. It is different from other mappings which use the transformation since it is stored as a metadata. The transformations will be nullified in the mappings whenever any change in the reusable transformation is made. 31. What does update strategy mean, and what are the different option of it? Row by row processing is done by informatica. Every row is inserted in the target table because it is marked as default. Update strategy is used whenever the row has to be updated or inserted based on some sequence. Moreover the condition must be specified in update strategy for the processed row to be marked as updated or inserted. 32. What is the scenario which compels informatica server to reject files? This happens when it faces DD_Reject in update strategy transformation. Moreover it disrupts the database constraint filed in the rows was condensed. 33. What is surrogate key?
Surrogate key is a replacement for the natural prime key. It is a unique identification for each row in the table. It is very beneficial because the natural primary key can change which eventually makes update more difficult. They are always used in form of a digit or integer. 34.What are the prerequisite tasks to achieve the session partition? In order to perform session partition one need to configure the session to partition source data and then installing the Informatica server machine in multifold CPU‟s. 35. Which files are created during the session rums by informatics server? During session runs, the files created are namely Errors log, Bad file, Workflow low and session log. 36. Briefly define a session task? It is a chunk of instruction the guides Power center server about how and when to transfer data from sources to targets. 37,What does command task mean? This specific task permits one or more than one shell commands in UNIX or DOS in windows to run during the workflow. 38. What is standalone command task? This task can be used anywhere in the workflow to run the shell commands. 39. What is meant by pre and post session shell command? Command task can be called as the pre or post session shell command for a session task. One can run it as pre session command r post session success command or post session failure command. 40.What is predefined event? It is a file-watch event. It waits for a specific file to arrive at a specific location. 41. How can you define user defied event? User defined event can be described as a flow of tasks in the workflow. Events can be created and then raised as need arises. 42. What is a work flow?
Ans: Work flow is a bunch of instructions that communicates server about how to implement tasks. 43. What are the different tools in workflow manager? Following are the different tools in workflow manager namely
Task Designer Task Developer Workflow Designer
44. Tell me any other tools for scheduling purpose other than workflow manager pmcmd? The tool for scheduling purpose other than workflow manager can be a third party tool like „CONTROL M‟. 45. What is OLAP (On-Line Analytical Processing? A method by which multi-dimensional analysis occurs. 46. What are the different types of OLAP? Give an example? ROLAP eg.BO, MOLAP eg.Cognos, HOLAP, DOLAP 47. What do you mean by worklet? When the workflow tasks are grouped in a set, it is called as worklet. Workflow tasks includes timer, decision, command, event wait, mail, session, link, assignment, control etc. 48. What is the use of target designer? Target Definition is created with the help of target designer. 49. Where can we find the throughput option in informatica? Throughput option can be found in informatica in workflow monitor. In workflow monitor, right click on session, then click on get run properties and under source/target statistics we can find throughput option. 50. What is target load order? Ans: Target load order is specified on the basis of source qualifiers in a mapping. If there are multifold source qualifiers linked to different targets then one can entitle order in which informatica server loads data into targets.
Informatica Interview Questions with Answers
Thu Aug 12, 2010 3:42 pm
Informatica Interview Questions with Answers Q3) Tell me what exactly, what was your role ? A3) I worked as ETL Developer. I was also involved in requirement gathering, developing mappings, checking source data. I did Unit testing (using TOAD), helped in User Acceptance Testing. Q4) What kind of challenges did you come across in your project ? A4) Mostly the challenges were to finalize the requirements in such a way so that different stakeholders come to a common agreement about the scope and expectations from the project. Q5) Tell me what was the size of your database ? A5) Around 3 TB. There were other separate systems, but the one I was mainly using was around 3 TB. Q6) what was the daily volume of records ? A6) It used to vary, We processed around 100K-200K records on a daily basis, on weekends, it used to be higher sometimes around 1+ Million records. Q7) So tell me what were your sources ? A7) Our Sources were mainly flat files, relational databases.
Joined: 12 Aug 2010 Posts: 10
What tools did you use for FTP/UNIX ?
A For UNIX, I used Open Source tool called Putty and for FTP, I used WINSCP, Filezilla. Q9) Tell me how did you gather requirements? A9) We used to have meetings and design sessions with end users. The users used to give us sketchy requirements and after that we used to do further analysis and used to create detailed Requirement Specification Documents (RSD). Q10) Did you follow any formal process or methodology for Requirement gathering ? A10) As such we did not follow strict SDLC approach because requirement gathering is an iterative process. But after creating the detailed Requirement Specification Documents, we used to take User signoff.
Q11) Tell me what are the steps involved in
Application Development ?
A11) In Application Development, we usually follow following steps: ADDTIP. a) A - Analysis or User Requirement Gathering b) D - Designing and Architecture c) D - Development
d) T - Testing (which involves Unit Testing,System Integration Testing, UAT - User Acceptance Testing ) e) I - Implementation (also called deployment to production) f) P - Production Support / Warranty Q12) What are the drawbacks of Waterfall Approach ? A12) This approaches assumes that all the User Requirements will be perfect before start of design and development. That is not the case most of the time.Users can change their mind to add few more detailed requirements or worse change the requirements drastically. So in those cases this approach (waterfall) is likely to cause a delay in project which is a RISK to the project. Q13) what is mapping design document ? A13) In a mapping design document, we map source to target field, also document any special business logic that needs to be implemented in the mapping. Q14) What are diferent Data Warehousing Methodologies that you are familiar with ? A14) In Data Warehousing, two methodologies are poopulare, 1st one is Ralph Kimbal and 2nd one is Bill Inmon. We mainly followed Ralph Kimball's methodlogy in my last project. In this methodlogy, we have a fact tables in the middle, surrounded by dimension tables. This is also a basic STAR Schema which is the basic dimensional model. A Snowflake schema. In a snowflake schema, we normalize one of the dimension tables. Q15) What do you do in Bill Inmon Approach ? A15) In Bill Inmon's approach, we try to create an Enterprise Data Warehouse using 3rd NF, and then Data Marts are mainly STAR Schemas in 2nd NF. Q16) How many mappings have you done ? A16) I did over 35+ mappings, around 10+ were complex mappings. Q17) What are Test cases or how did you do testing of Informatica Mappings ? A17) Basically we take the SQL from Source Qualifier and check the source / target data in Toad. Then we try to spot check data for various conditions according to mapping document and look for any error in mappings. For example, there may be a condition that if customer account does not exist then filter out that record and write it to a reject file. Q18) What are the other error handlings that you did in mappings?
A18) I mainly looked for non-numeric data in numeric fields, layout of a flat file may be different. Also dates from flat file come as a string Q19) How did you debug your mappings ? A19) I used Informatica Debugger to check for any flags being set incorrectly. We see if the logic / expressions are working or not. We may be expecting data We use Wizard to configure the debugger. Q20) Give me an example of a tough situation that you came across in Informatica Mappings and how did you handle it ? A20) Basically one of our colleagues had created a mapping that was using Joiner and mapping was taking a lot of time to run, but the Join was in such a way that we could do the Join at Database Level (Oracle Level). So I suggested and implemented that change and it reduced the run time by 40%. Q21) Tell me what are various transformations that you have used ? A21) I have used Lookup, Joiner, Update Strategy, Aggregator, Sorter etc. Q22) How will you categorize various types of transformation ? A22) Transformations can be connected or unconnected. Active or passive. Q23) What are the different types of Transformations ? A23) Transformations can be active transformation or passive transformations. If the number of output rows are different than number of input rows then the transformation is an active transformation. Like a Filter / Aggregator Transformation. Filter Transformation can filter out some records based on condition defined in filter transformation. Similarly, in an aggregator transformation, number of output rows can be less than input rows as after
applying the aggregate function like SUM, we could have less records.
Q24) What is a lookup transformation ? A24) We can use a Lookup transformation to look up data in a flat file or a relational table, view, or synonym. We can use multiple Lookup transformations in a mapping. The PowerCenter Server queries the lookup source based on the lookup ports in the transformation. It compares Lookup transformation port values to lookup source column values based on the lookup condition. We can use the Lookup transformation to perform many tasks, including: 1) Get a related value. 2) Perform a calculation. 3) Update slowly changing dimension tables. Q25) Did you use unconnected Lookup Transformation ? If yes, then explain.
A25) Yes. An Unconnected Lookup receives input value as a result of :LKP Expression in another transformation. It is not connected to any other transformation. Instead, it has input ports, output ports and a Return Port. An Unconnected Lookup can have ONLY ONE Return PORT. Q26) What is Lookup Cache ? A26) The PowerCenter Server builds a cache in memory when it processes the first row of data in a cached Lookup transformation. It allocates the memory based on amount configured in the session. Default is 2M Bytes for Data Cache and 1M bytes for Index Cache. We can change the default Cache size if needed. Condition values are stored in Index Cache and output values in Data cache. Q27) What happens if the Lookup table is larger than the Lookup Cache ? A27) If the data does not fit in the memory cache, the PowerCenter Server stores the overflow values in the cache files. To avoid writing the overflow values to cache files, we can increase the default cache size. When the session completes, the PowerCenter Server releases cache memory and deletes the cache files. If you use a flat file lookup, the PowerCenter Server always caches the lookup source. Q28) What is meant by "Lookup caching enabled" ? A28) By checking "Lookup caching enabled" option, we are instructing Informatica Server to Cache lookup values during the session. Q29) What are the different types of Lookup ? A29) When configuring a lookup cache, you can specify any of the following options: a) Persistent cache.You can save the lookup cache files and reuse them the next time the PowerCenter Server processes a Lookup transformation configured to use the cache. b) Recache from source. If the persistent cache is not synchronized with the lookup table, you can configure the Lookup transformation to rebuild the lookup cache. c) Static cache. You can configure a static, or read-only, cache for any lookup source. By default, the PowerCenter Server creates a static cache. It caches the lookup file or table and looks up values in the cache for each row that comes into the transformation.
When the lookup condition is true, the PowerCenter Server returns a value from the lookup cache. The PowerCenter Server does not update the cache while it processes the Lookup transformation. d) Dynamic cache. If you want to cache the target table and insert new rows or update existing rows in the cache and the target, you can create a Lookup transformation to use a dynamic cache. The PowerCenter Server dynamically inserts or updates data in the lookup cache and passes data to the target table. You cannot use a dynamic cache with a flat file lookup. e) Shared cache. You can share the lookup cache between multiple transformations. You can share an unnamed cache between transformations in the same mapping. You can share a named cache between transformations in the same or different mappings. Q30) What is a Router Transformation ? A30) A Router transformation is similar to a Filter transformation because both transformations allow you to use a condition to test data. A Filter transformation tests data for one condition and drops the rows of data that do not meet the condition. However, a Router transformation tests data for one or more conditions and gives you the option to route rows of data that do not meet any of the conditions to a default output group. Q31) What is a sorter transformation ? A31) The Sorter transformation allows you to sort data. You can sort data in ascending or descending order according to a specified sort key. You can also configure the Sorter transformation for case-sensitive sorting, and specify whether the output rows should be distinct. The Sorter transformation is an active transformation. It must be connected to the data flow. Q32) What is a UNION Transformation ? A32) The Union transformation is a multiple input group transformation that you can use to merge data from multiple pipelines or pipeline branches into one pipeline branch. It merges data from multiple sources similar to the UNION ALL SQL statement to combine the results from two or more SQL statements. Similar to the UNION ALL statement, the Union transformation does not remove duplicate rows. You can connect heterogeneous sources to a Union transformation. The Union
transformation merges sources with matching ports and outputs the data from one output group with the same ports as the input groups. Q33) What is Update Strategy ? A33) Update strategy is used to decide on how you will handle updates in your project. When you design your data warehouse, you need to decide what type of information to store in targets. As part of your target table design, you need to determine whether to maintain all the historic data or just the most recent changes. For example, you might have a target table, T_CUSTOMERS, that contains customer data. When a customer address changes, you may want to save the original address in the table instead of updating that portion of the customer row. In this case, you would create a new row containing the updated address, and preserve the original row with the old customer address. This illustrates how you might store historical information in a target table. However, if you want the T_CUSTOMERS table to be a snapshot of current customer data, you would update the existing customer row and lose the original address. The model you choose determines how you handle changes to existing rows. In PowerCenter, you set your update strategy at two different levels: 1) Within a session. When you configure a session, you can instruct the PowerCenter Server to either treat all rows in the same way (for example, treat all rows as inserts), or use instructions coded into the session mapping to flag rows for different database operations. 2) Within a mapping. Within a mapping, you use the Update Strategy transformation to flag rows for insert, delete, update, or reject. Note: You can also use the Custom transformation to flag rows for insert, delete, update, or reject. Q34) Joiner transformation? A34) A Joiner transformation joins two related heterogenous sources residing in different location. The combination of sources can be varied like - two relational tables existing in seperate database. - two flat files in potentially different file systems. - two different ODBC sources. - two instances of the same XML sources. - a relational table and a flat file source. - a relational table ans a XML source. Q35) How many types of Joins can you use in a Joiner ? A35) There can be 4 types of joins a) Normal Join (Equi Join)
b) Master Outer Join - In master outer join you get all rows from Detail table c) Detail Outer Join - In Detail Outer Join you get all rows from Master table d) FULL Outer Join Q36) What are Mapping Parameter & variables ? A36) We Use Mapping parameter and variables to make mappings more flexible. Value of a parameter does not change during session, whereas the value stored in a variable can change. Q37) TELL ME ABOUT PERFORMANCE TUNING IN INFORMATICA? A37) Basically Performance Tuning is an Iterative process, we can do lot of tuning at database level and if database queries are faster then Informatica workflows will be automatically faster. For Performance tuning, first we try to identify the source / target bottlenecks. Meaning that first we see what can be do so that Source data is being retrieved as fast possible. We try to filter as much data in SOURCE QUALIFIER as possible. If we have to use a filter then filtering records should be done as early in the mapping as possible. If we are using an aggregator transformation then we can pass the sorted input to aggregator. We need to ideally sort the ports on which the GROUP BY is being done. Depending on data an unconnected Lookup can be faster than a connected Lookup. Also there should be as less transformations as possible. Also in Source Qualifier, we should bring only the ports which are being used. For optimizing the TARGET, we can disable the constraints in PRE-SESSION SQL and use BULK LOADING. IF the TARGET Table has any indexes like primary key or any other indexes / constraints then BULK Loading will fail. So in order to utilize the BULK Loading, we need to disable the indexes. In case of Aggregator transformation, we can use incremental loading depending on requirements. Q18) How did you do Error handling in Informatica ? A18) Typically we can set the error flag in mapping based on business requirements and for each type of error, we can associate an error code and error description and write all errors to a separate error table so that we capture all rejects correctly. Also we need to capture all source fields in a ERR_DATA table so that if we need to correct the erroneous data fields and Re-RUN the corrected data if needed. Usually there could be a separate mapping to handle such error data file. Typical errors that we come across are
1) Non Numeric data in Numeric fields. 2) Incorrect Year / Months in Date fields from Flat files or varchar2 fields. Q19) Did you work in Team Based environments ? A19) Yes, we had versioning enabled in Repository. Q12) What kind of workflows or tasks have you used ? A12) I have used session, email task, command task, event wait tasks. Q21) Explain the process that happens when a WORKFLOW Starts ? A21) when a workflow starts, the informatica server retrieves mappings, workflows & session metadata from the repository to extract the data from the source, transform it & load it into Target. - it also runs the task in the workflow. - The informatica server uses load manager & Data Transformation manager (DTM) process to run the workflow. - The informatica server can combine data from different platforms & source types. For ex. joins data from flat file & an oracle source. It can also load data to different platforms & target types. For ex. can load, transform data to both a FF target & a MS SQL server db in same session. Q27) What all tasks can we perform in a Repository Manager ? A27) The Repository Manager allows you to navigate through multiple folders & repositories & perform basic repository tasks. Some examples of these tasks are: - Add or remove a repository - work with repository connections : can connect to one repo or multiple repositories. - view object dependencies : b4 you remove or change an object can view dependencies to see the impact on other objects. - terminate user connections : can use the repo manager to view & terminate residual user connections - Exchange metadata with other BI tools : can export & import metadata from other BI tools like cognos, BO.. IN REPOSITORY MANAGER NAVIGATOR WINDOW, WE FIND OBJECTS LIKE : _ Repositories : can be standalone, local or global. - Deployment groups : contain collections of objects for deployment to another repository in the domain. - Folders : can be non-shared. - Nodes : can inlcude sessions, sources, targets, transformation, mapplets, workflows, tasks, worklets & mappings. - Repository objects : same as nodes along with workflow logs & sessions logs. Q) Did you work on ETL strategy ? A) Yes, my Data modeler & ETL lead along with developers analysed & worked on dependencies between tasks(workflows). well there are Push & Pull strategies which is used to determine how the data comes from source systems to ETL server. Push strategy : with this strategy, the source system pushes data ( or send the data ) to the ETL server. Pull strategy : with this strategy, the ETL server pull the data(or gets the data) from the source system. Q20) How did you migrate from Dev environment to UAT / PROD Environment ?
A20) We can do a folder copy or export the mapping in XML Format and then Import it another Repository or folder. In my last project we used Deployment groups. Q) External Scheduler ? A) with exteranal schedulers, we used to run informatica jobs like workflows using pmcmd command in parallel with some oracle jobs like stored procedures. there were variuos kinds of external schedulers available in market like AUtosys, Maestro, Control M . So we can use for mix & match for informatica & oracle jobs using external schedulers. Q10) What is a Slowly Changing Dimension ? A10) In a Data Warehouse, usually the updates in Dimension tables don't happen frequently. So if we want to capture changes to a dimension, we usually resolve it with Type 2 or Type 3 SCD. So basically we keep historical data with SCD. Q11) Explain SLOWLY CHANGING DIMENSION (SCD) Type, which one did you use ? A11) There are 3 ways to resolve SCD. First one is Type 1, in which we overwrite the changes, so we loose history. Type 1 OLD RECORD ========== Surr Dim Cust_Id Cust Name Key (Natural Key) ======== =============== ========================= 1 C01 ABC Roofing NEW RECORD ========== Surr Dim Cust_Id Cust Name Key (Natural Key) ======== =============== ========================= 1 C01 XYZ Roofing I mainly used Type 2 SCD. In Type 2 SCD, we keep effective date and expiration date. For older record, we update the exp date as the The current Date - 1, if the changes happened today. In the current Record, we keep Current Date as Surr Dim Cust_Id Cust Name Eff Date Exp Date Key (Natural Key) ======== =============== =========================
========== ========= 1 C01 ABC Roofing 1/1/0001 12/31/9999 Suppose on 1st Oct, 2007 a small business name changes from ABC Roofing to XYZ Roofing, so if we want to store the old name, we will store data as below: Surr Dim Cust_Id Cust Name Eff Date Exp Date Key (Natural Key) ======== =============== ========================= ========== ========= 1 C01 ABC Roofing 1/1/0001 09/30/2007 101 C01 XYZ Roofing 10/1/2007 12/31/9999
We can implment TYPE 2 as a CURRENT RECORD FLAG Also In the current Record, we keep Current Date as Surr Dim Cust_Id Cust Name Current_Record Key (Natural Key) Flag ======== =============== ========================= ============== 1 C01 ABC Roofing Y Suppose on 1st Oct, 2007 a small business name changes from ABC Roofing to XYZ Roofing, so if we want to store the old name, we will store data as below:
Surr Dim Cust_Id Cust Name Current_Record Key (Natural Key) Flag ======== =============== ========================= ============== 1 C01 ABC Roofing N 101 C01 XYZ Roofing Y
Q3) What is a Mapplets? Can you use an active transformation in a Mapplet? A3) A mapplet has one input and output transformation and in between we can have various mappings. A mapplet is a reusable object that you create in the Mapplet Designer. It contains a set of transformations and allows you to reuse that transformation logic in multiple mappings. Yes we can use active transformation in a Mapplet. 1)A data warehouse is a relational database that is designed for query and analysis
rather than for transaction processing. It usually contains historical data derived from transaction data, but it can include data from other sources. It separates analysis workload from transaction workload and enables an organization to consolidate data from several sources. In addition to a relational database, a data warehouse environment includes an extraction, transportation, transformation, and loading (ETL) solution, an online analytical processing (OLAP) engine, client analysis tools, and other applications that manage the process of gathering data and delivering it to business users. A common way of introducing data warehousing is to refer to the characteristics of a data warehouse as set forth by William Inmon: Subject Oriented Integrated Nonvolatile Time Variant 2)Surrogate Key Data warehouses typically use a surrogate, (also known as artificial or identity key), key for the dimension tables primary keys. They can use Infa sequence generator, or Oracle sequence, or SQL Server Identity values for the surrogate key. There are actually two cases where the need for a "dummy" dimension key arises: 1) the fact row has no relationship to the dimension (as in your example), and 2) the dimension key cannot be derived from the source system data. 3)Facts & Dimensions form the heart of a data warehouse. Facts are the metrics that business users would use for making business decisions. Generally, facts are mere numbers. The facts cannot be used without their dimensions. Dimensions are those attributes that qualify facts. They give structure to the facts. Dimensions give different views of the facts. In our example of employee expenses, the employee expense forms a fact. The Dimensions like department, employee, and location qualify it. This was mentioned so as to give an idea of what facts are. Facts are like skeletons of a body. Skin forms the dimensions. The dimensions give structure to the facts. The fact tables are normalized to the maximum extent. Whereas the Dimension tables are de-normalized since their growth would be very less. 4)Type 2 Slowly Changing Dimension In Type 2 Slowly Changing Dimension, a new record is added to the table to represent the new information. Therefore, both the original and the new record will be present. The newe record gets its own primary key.Type 2 slowly changing dimension should be used when it is necessary for the data warehouse to track historical changes. SCD Type 2 Slowly changing dimension Type 2 is a model where the whole history is stored in the database. An additional dimension record is created and the segmenting between the old record values and the new (current) value is easy to extract and the history is clear. The fields 'effective date' and 'current indicator' are very often used in that dimension and the fact table usually stores dimension key and version number. 4)CRC Key Cyclic redundancy check, or CRC, is a data encoding method (noncryptographic) originally developed for detecting errors or corruption in data that has been transmitted over a data communications line. During ETL processing for the dimension table, all relevant columns needed to
determine change of content from the source system (s) are combined and encoded through use of a CRC algorithm. The encoded CRC value is stored in a column on the dimension table as operational meta data. During subsequent ETL processing cycles, new source system(s) records have their relevant data content values combined and encoded into CRC values during ETL processing. The source system CRC values are compared against CRC values already computed for the same production/natural key on the dimension table. If the production/natural key of an incoming source record are the same but the CRC values are different, the record is processed as a new SCD record on the dimension table. The advantage here is that CRCs are small, usually 16 or 32 bytes in length, and easier to compare during ETL processing versus the contents of numerous data columns or large variable length columns. 5)Data partitioning, a new feature added to SQL Server 2005, provides a way to divide large tables and indexes into smaller parts. By doing so, it makes the life of a database administrator easier when doing backups, loading data, recovery and query processing. Data partitioning improves the performance, reduces contention and increases availability of data. Objects that may be partitioned are: • Base tables • Indexes (clustered and nonclustered) • Indexed views Q)Why we use stored procedure transformation? A Stored Procedure transformation is an important tool for populating and maintaining databases . Database administrators create stored procedures to automate timeconsuming tasks that are too complicated for standard SQL statements. You might use stored procedures to do the following tasks: Check the status of a target database before loading data into it. Determine if enough space exists in a database. Perform a specialized calculation. Drop and recreate indexes. Q)What r the types of data that passes between informatica server and stored procedure? types of data Input/Out put parameters Return Values Status code. Q) What is source qualifier transformation? A) When you add a relational or a flat file source definition to a mapping, you need to connect it to a Source Qualifier transformation. The Source Qualifier represents the rows that the Informatica Server reads when it executes a session. The Transformation which Converts the source(relational or flat) datatype to Informatica datatype.So it works as an intemediator between and source and informatica server. Tasks performed by qualifier transformation:1. Join data originating from the same source database.
2. Filter records when the Informatica Server reads source data. 3. Specify an outer join rather than the default inner join. 4. Specify sorted ports. 5. Select only distinct values from the source. 6. Create a custom query to issue a special SELECT statement for the Informatica Server to read source data. Back to top Wed Aug 31, 2011 3:18 am
Hi, Thanks very much for this comment. It help me to think about my ideals. Joined: 31 Aug 2011 Posts: 1 Tks again and pls keep posting. If you want to get more materials that related to this topic, you can visit:
structure interview questions and answers
What are the settiings that you use to cofigure the joiner transformation?
Master group flow detail group flow join condition type of join take less no. of rows table as master table, more no of table as detail table and join condition. joiner will put all row from master table into chache and check condition with detail table rows. 1) Master Source 2) Detail Source 3) Type Of Join 4) Condition of Join
This action might not be possible to undo. Are you sure you want to continue?
We've moved you to where you read on your other device.
Get the full title to continue listening from where you left off, or restart the preview.