informatica official
Transcript of informatica official
-
8/7/2019 informatica official
1/289
1
Informatica PowerCenter 7 LevelI Developer
Education ServicesVersion PC7LID-20050301
Informatica Corporation, 2003 - 2004. All rights reserved.
-
8/7/2019 informatica official
2/289
Introduction
-
8/7/2019 informatica official
3/289
3
By the end of this course you will:
Understand how to use the major PowerCentercomponents for development
Be able to build basic ETL mappings and mapplets* Be able to create, run and monitor workflows
Understand available options for loading target data
Be able to troubleshoot most problems
Note: The course does not cover PowerCenter optionalfeatures or XML support.
Course Objectives
* A mapplet is a subset of a mapping
-
8/7/2019 informatica official
4/289
4
Founded in 1993
Leader in enterprise solution products
Headquarters in Redwood City, CA
Public company since April 1999 (INFA)
2000+ customers, including over 80% ofFortune 100
Strategic partnerships with IBM, HP, Accenture, SAP,
and many others Worldwide distributorship
About Informatica
-
8/7/2019 informatica official
5/289
5
Informatica Products
PowerCenter ETL batch and real-time data integration
PowerAnalyzer BI reporting web-browser interface with reports,dashboards, indicators, alerts; handles real-time
metricsSuperGlue* Centralized metadata browsing cross-enterprise,
including PowerCenter, PowerAnalyzer, DBMS,BI tools, and data modeling tools
PowerExchange Data access to mainframe, mid-size system and
complex filesPowerCenterConnect products
Data access to transactional applications andreal-time services
* Uses PowerCenter to extract metadata and PowerAnalyzer to display reports
-
8/7/2019 informatica official
6/289
6
www.informatica.com provides information (under Services) on: Professional Services
Education Services
my.informatica.com sign up to access:
Technical Support
Product documentation (under Tools online documentation)
Velocity Methodology (under Services)
Knowledgebase
Webzine
Mapping templates devnet.informatica.com sign up for Informatica Developers Network
Discussion forums
Web seminars
Technical papers
Informatica Resources
-
8/7/2019 informatica official
7/289
7
Informatica offers three distinct Certification titles:
Exam A: Architecture and Administration Exam C: Advanced Administration
Exam A: Architecture and Administration Exam B: Mapping Design Exam D: Advanced Mapping Design
Exams A, B, C, D plus
Exam E: Enablement Technologies
For more information and to register to take an exam:http://www.informatica.com/services/Education+Services/Professional+Certification/
Informatica Professional Certification
-
8/7/2019 informatica official
8/289
8
Extract, Transform and Load
Transaction level data
Optimized for transactionresponse time
Current
Normalized or
De-normalized data
Operational Systems
MainframeRDBMS Other
Aggregated data
Historical data
Decision Support
Data
Warehouse
ETL Load
Transform
Extract
Aggregate data Cleanse data Consolidate data Apply business rules De-normalize data
-
8/7/2019 informatica official
9/289
9
PowerCenter Client Tools
Repository Designer Workflow Workflow Rep ServerManager Manager Monitor Administration
Console
Manage repository: Connections Folders
Objects Users and groups
Administer repositories on aRepository Server: Create/upgrade/delete
Configuration Start/stop Backup/restore
Build ETLmappings
Build and startworkflows torun mappings
Monitorand startworkflows
-
8/7/2019 informatica official
10/289
10
PowerCenter 7 Architecture
Not Shown: Client ODBC connections from Designer to sources and targets for metadata
TargetsSources
Native Native
TCP/IP
HeterogeneousTargets
Repository
RepositoryServer
RepositoryAgent
TCP/IP
Native
Informatica Server
HeterogeneousSources
Repository Designer Workflow Workflow Rep ServerManager Manager Monitor Administrative
Console
-
8/7/2019 informatica official
11/289
11
Distributed Architecture and Platforms
The following components can be distributed across anetwork of host computers: Clients Tools
PowerCenter Servers
Repository Servers Repository Databases
Sources and Targets
Platforms: Client tools run on Windows Servers run on AIX, HP-UX, Solaris, Redhat Linux, Windows
Repositories on any major RDBMS
-
8/7/2019 informatica official
12/289
12
Design and Execution Process
1. Create Source definition(s)
2. Create Target definition(s)
3. Create a Mapping
4. Create a Session Task
5. Create a Workflow with Task components
6. Run the Workflow and verify the results
-
8/7/2019 informatica official
13/289
13
Demonstration
-
8/7/2019 informatica official
14/289
Source Object Definitions
-
8/7/2019 informatica official
15/289
15
Source Object Definitions
By the end of this section you will:
Be familiar with the Designer interface
Be familiar with Source Types
Be able to create Source Definitions
Understand Source Definition properties
Be able to use the Data Preview option
-
8/7/2019 informatica official
16/289
16
Import from: Relational database Flat file XML object
Create manually
Methods ofAnalyzing Sources
Source Analyzer
Repository
RepositoryServer
Repository Agent
TCP/IP
DEF
Native
-
8/7/2019 informatica official
17/289
17
Analyzing Relational Database Sources
Table View Synonym
Relational DB Source
DEF
Source Analyzer
ODBC
Repository
RepositoryServer
Repository Agent
TCP/IP
DEF
Native
-
8/7/2019 informatica official
18/289
18
Analyzing Relational Database Sources
Editing Source Definition Properties
-
8/7/2019 informatica official
19/289
19
Analyzing Flat File Sources
Mapped Drive NFS Mount Local Directory DEF
Fixed Width Delimited
Flat FileSource Analyzer
Repository
RepositoryServer
Repository Agent
TCP/IP
DEF
Native
-
8/7/2019 informatica official
20/289
20
Flat File Wizard
Three-stepwizard
Columns canbe renamed
within wizard
Text, Numericand Datetimedatatypes are
supported Wizard
guessesdatatype
-
8/7/2019 informatica official
21/289
21
Flat File Source Properties
-
8/7/2019 informatica official
22/289
22
Analyzing XML Sources
DEF
XML Schema (XSD),DTD or XML File
DATA
Source Analyzer
Repository
RepositoryServer
Repository Agent
TCP/IP
DEF
Native
Mapped Drive NFS Mounting Local Directory
-
8/7/2019 informatica official
23/289
23
Data Previewer
Preview data in Relational database sources
Flat file sources
Relational database targets
Flat file targets
Data Preview Option is available in Source Analyzer
Warehouse Designer
Mapping Designer
Mapplet Designer
-
8/7/2019 informatica official
24/289
24
Using Data Previewer in Source Analyzer
Data Preview Example From Source Analyzer,select Source drop downmenu, then Preview Data
Enter connection informationin the dialog box
A right mouse click on the object can also be used to preview data
-
8/7/2019 informatica official
25/289
25
Using Data Previewer in Source Analyzer
Data Preview Results
DataDisplay
View upto 500rows
-
8/7/2019 informatica official
26/289
26
Metadata Extensions
Allows developers and partners to extend themetadata stored in the Repository
Metadata extensions can be:
User-defined PowerCenter users can define and createtheir own metadata
Vendor-defined Third-party application vendor-createdmetadata lists
For example, applications such as Ariba or PowerCenter Connect
for Siebel can add information such as contacts, version, etc.
-
8/7/2019 informatica official
27/289
-
8/7/2019 informatica official
28/289
28
Example Metadata Extension for a Source
Sample User DefinedMetadata, e.g. contact
information, business user
-
8/7/2019 informatica official
29/289
Target Object Definitions
-
8/7/2019 informatica official
30/289
30
Target Object Definitions
By the end of this section you will:
Be familiar with Target Definition types
Know the supported methods of creating TargetDefinitions
Understand individual Target Definition properties
-
8/7/2019 informatica official
31/289
31
Creating Target Definitions
Methods of creating Target Definitions
Import from relational database
Import from XML object
Create automatically from a source definition
Create manually (flat file or relational
database)
-
8/7/2019 informatica official
32/289
32
Import Definition from Relational Database
Can obtain existing object definitions from a databasesystem catalog or data dictionary
TableViewSynonym
WarehouseDesigner
Relational DB
DEF
ODBC
Repository
RepositoryServer
Repository Agent
TCP/IP
DEF
Native
-
8/7/2019 informatica official
33/289
33
Import Definition from XML Object
Can infer existing object definitions from a databasesystem catalog or data dictionary
WarehouseDesigner
Repository
RepositoryServer
Repository Agent
TCP/IP
DEF
Native
DEF
DTD, XML Schema orXML File
DATA
Mapped Drive NFS Mounting Local Directory
-
8/7/2019 informatica official
34/289
34
Creating Target Automatically from Source
Drag-and-dropa SourceDefinition intothe WarehouseDesigner
Workspace
-
8/7/2019 informatica official
35/289
35
Target Definition Properties
-
8/7/2019 informatica official
36/289
36
Lab 1 Define Sources and Targets
-
8/7/2019 informatica official
37/289
Mappings
-
8/7/2019 informatica official
38/289
38
Mappings
By the end of this section you will be familiar with:
The Mapping Designer interface
Transformation objects and views Source Qualifier transformation
The Expression transformation
Mapping validation
-
8/7/2019 informatica official
39/289
39
Mapping Designer
Iconized Mapping
Mapping List
Transformation Toolbar
-
8/7/2019 informatica official
40/289
40
Transformations Objects Used in This Class
Source Qualifier: reads data from flat file & relational sources
Expression: performs row-level calculations
Filter: drops rows conditionally
Sorter: sorts data
Aggregator: performs aggregate calculations
Joiner: joins heterogeneous sources
Lookup: looks up values and passes them to other objects
Update Strategy: tags rows for insert, update, delete, reject
Router: splits rows conditionally
Sequence Generator: generates unique ID values
-
8/7/2019 informatica official
41/289
41
Other Transformation Objects
Normalizer: normalizes records from relational or VSAM sources
Rank: filters the top or bottom range of records
Union: merges data from multiple pipelines into one pipeline
Transaction Control: allows user-defined commits
Stored Procedure: calls a database stored procedure
External Procedure : calls compiled code for each row
Custom: calls compiled code for multiple rows
Midstream XML Parser: reads XML from database table or message queue
Midstream XML Generator: writes XML to database table or message queue
More Source Qualifiers: read from XML, message queues andapplications
-
8/7/2019 informatica official
42/289
-
8/7/2019 informatica official
43/289
43
Source Qualifier Transformation
Ports All input/output
Usage Convert datatypes For relational sources:
Modify SQL statementUser Defined JoinSource FilterSorted portsSelect DISTINCTPre/Post SQL
Represents the source record set queried by theServer. Mandatory in Mappings using relational orflat file sources
-
8/7/2019 informatica official
44/289
44
Source Qualifier Properties
User can modify SQL SELECT statement (DB sources)
Source Qualifier can join homogenous tables
User can modify WHERE clause
User can modify join statement
User can specify ORDER BY(manually orautomatically)
Pre- and post-SQL can be provided SQL properties do not apply to flat file sources
-
8/7/2019 informatica official
45/289
45
Pre-SQL and Post-SQL Rules
Can use any command that is valid for the databasetype; no nested comments
Use a semi-colon (;) to separate multiple statements
Informatica Server ignores semi-colons within singlequotes, double quotes or within /* ...*/
To use a semi-colon outside of quotes or comments,escape it with a back slash (\)
-
8/7/2019 informatica official
46/289
46
Expression Transformation
Ports Mixed Variables allowed
Create expression in anoutput or variable port
Usage Perform majority of
data manipulation
Perform calculations using non-aggregate functions(row level)
Click here to invoke theExpression Editor
-
8/7/2019 informatica official
47/289
47
Expression Editor
An expression formula is a calculation or conditional statement for aspecific port in a transformation
Performs calculation based on ports, functions, operators, variables,constants and return values from other transformations
-
8/7/2019 informatica official
48/289
48
Expression Validation
The Validate or OK button in the Expression Editor will:
Parse the current expression
Remote port searching (resolves references to ports in
other transformations) Parse default values
Check spelling, correct number of arguments in functions,other syntactical errors
-
8/7/2019 informatica official
49/289
49
CharacterFunctions
Used to manipulate character data
CHRCODE returns the numeric value
(ASCII orU
nicode) of the first character ofthe string passed to this function
CONCAT is for backward compatibility only.Use || instead
ASCIICHRCHRCODECONCATINITCAPINSTR
LENGTHLOWERLPADLTRIMREPLACECHRREPLACESTRRPAD
RTRIMSUBSTRUPPER
Informatica FunctionsCharacter
-
8/7/2019 informatica official
50/289
-
8/7/2019 informatica official
51/289
51
Informatica Functions Data Cleansing
INSTRIS_DATEIS_NUMBERIS_SPACESISNULLLTRIMMETAPHONE
REPLACECHRREPLACESTRRTRIMSOUNDEXSUBSTRTO_CHARTO_DATETO_DECIMALTO_FLOATTO_INTEGER
Used to process data during datacleansing
METAPHONE and SOUNDEX createindexes based on Englishpronunciation (2 different standards)
-
8/7/2019 informatica official
52/289
52
Date Functions
Used to round, truncate, orcompare dates; extract one part
of a date; or perform arithmeticon a date
To pass a string to a datefunction, first use the TO_DATE
function to convert it to andate/time datatype
ADD_TO_DATEDATE_COMPAREDATE_DIFFGET_DATE_PARTLAST_DAYROUND (Date)
SET_DATE_PARTTO_CHAR (Date)TRUNC (Date)
Informatica Functions Date
-
8/7/2019 informatica official
53/289
-
8/7/2019 informatica official
54/289
54
Informatica Functions Special and Test
ABORTDECODE
ERRORIIFLOOKUP
IIF(Condition,True,False)
IS_DATE
IS_NUMBERIS_SPACESISNULL
Test Functions
Used to test if a lookup result is null Used to validate data
Special Functions
Used to handle specific conditionswithin a session; search for certainvalues; test conditional statements
-
8/7/2019 informatica official
55/289
55
Variable Ports
Use to simplify complex expressions e.g. create and store a depreciation formula to be
referenced more than once
Use in another variable port or an output port expression
Local to the transformation (a variable port cannot also be aninput or output port)
-
8/7/2019 informatica official
56/289
56
Variable Ports (contd)
Use for temporary storage
Variable ports can remember values across rows; useful forcomparing values
Variables are initialized (numeric to 0, string to ) when the Mappinglogic is processed
Variables Ports are not visible in Normal view, only in Edit view
-
8/7/2019 informatica official
57/289
57
Default Values Two Usages
For input and I/O ports, default values are used to replace nullvalues
For output ports, default values are used to handle transformationcalculation errors (not-null handling)
Defaultvalue for theselectedport
Selectedport Validate the
defaultvalue
expression
ISNULL functionis not required
-
8/7/2019 informatica official
58/289
58
Informatica Datatypes
Transformation datatypes allow mixandmatch of source and target database types When connecting ports, native and transformation datatypes must be compatible
(or must be explicitly converted)
NATIVE DATATYPES TRANSFORMATION DATATYPESSpecific to the source and targetdatabase types
PowerCenter internal datatypes
Display in source and target tableswithin Mapping Designer
Display in transformations withinMapping Designer
Native NativeTransformation
-
8/7/2019 informatica official
59/289
59
Datatype Conversions within PowerCenter
Data can be converted from one datatype to another by: Passing data between ports with different datatypes
Passing data from an expression to a port
Using transformation functions
Using transformation arithmetic operators
Only conversions supported are:
Numeric datatypesm Other numeric datatypes
Numeric datatypesm String
Date/Timem
Date or String For further information, see the PowerCenter Client Help > Index
> port-to-port data conversion
-
8/7/2019 informatica official
60/289
60
Mapping Validation
-
8/7/2019 informatica official
61/289
61
Connection Validation
Examples of invalid connections in a Mapping:
Connecting ports with incompatible datatypes
Connecting output ports to a Source
Connecting a Source to anything but a SourceQualifier or Normalizer transformation
Connecting an output port to an output port or
an input port to another input port
-
8/7/2019 informatica official
62/289
62
Mapping Validation
Mappings must:
Be valid for a Session to run
Be end-to-end complete and contain valid expressions
Pass all data flow rules
Mappings are always validated when saved; can be validatedwithout being saved
Output Window displays reason for invalidity
-
8/7/2019 informatica official
63/289
63
Lab 2 Create a Mapping
-
8/7/2019 informatica official
64/289
Workflows
-
8/7/2019 informatica official
65/289
65
Workflows
By the end of this section, you will be familiar with:
The Workflow Manager GUI interface
Creating and configuring Workflows
Workflow properties
Workflow components
Workflow tasks
-
8/7/2019 informatica official
66/289
66
Workflow Manager Interface
TaskTool Bar
OutputWindow
Navigator
Window
Workspace
StatusBar
WorkflowDesignerTools
-
8/7/2019 informatica official
67/289
67
Workflow Designer
Maps the execution order and dependencies of Sessions,Tasks and Worklets, for the Informatica Server
Task Developer Create Session, Shell Command and Email tasks
Tasks created in the Task Developer are reusable
Worklet Designer
Creates objects that represent a set of tasks
Worklet objects are reusable
Workflow Manager Tools
-
8/7/2019 informatica official
68/289
68
Workflow Structure
A Workflowis set of instructions for the InformaticaServer to perform data transformation and load
Combines the logic of Session Tasks, other types ofTasks and Worklets
The simplest Workflow is composed of a Start Task, aLink and one other Task
StartTask
SessionTask
Link
-
8/7/2019 informatica official
69/289
-
8/7/2019 informatica official
70/289
70
Eight additional Tasks are available in the Workflow Designer(coveredlater)
Command
Email
Decision
Assignment
Timer
Control
Event Wait
Event Raise
Additional Workflow Tasks
-
8/7/2019 informatica official
71/289
71
Sample Workflow
Start Task(required)
Session 1
Session 2
CommandTask
-
8/7/2019 informatica official
72/289
72
Sequential and Concurrent Workflows
Sequential
Concurrent Combined
Note: Although only session tasks are shown, can be any tasks
-
8/7/2019 informatica official
73/289
73
Creating a Workflow
CustomizeWorkflow name
Select aServer
-
8/7/2019 informatica official
74/289
74
Workflow Properties
Customize WorkflowProperties
Workflow log displays
May be reusable ornon-reusable
Select a WorkflowSchedule (optional)
-
8/7/2019 informatica official
75/289
75
Workflow Scheduler
Set and customize workflow-specific schedule
-
8/7/2019 informatica official
76/289
76
Workflow Metadata Extensions
Metadata Extensions providefor additional user data
-
8/7/2019 informatica official
77/289
77
Workflow Links
Required to connect Workflow Tasks
Can be used to create branches in a Workflow
All links are executed unless a link condition is used whichmakes a link false
Link 2
Link 1 Link 3
-
8/7/2019 informatica official
78/289
78
Conditional Links
Optional linkcondition
$taskname.STATUSis a pre-defined
task variable
-
8/7/2019 informatica official
79/289
79
Workflow Variables 1
Task-specificvariables
Built-in systemvariables
Used in decision tasks and conditional links edit task or link:
User-defined variables(see separate slide)
Pre-defined variables
-
8/7/2019 informatica official
80/289
80
User-defined variables are set in Workflow properties,Variables tab can persist across sessions
Can be reset inan Assignment task
Workflow Variables 2
-
8/7/2019 informatica official
81/289
81
Workflow Summary
1. Add Sessions and other Tasks to the Workflow
2. Connect all Workflow components with Links
3. Save the Workflow
Sessions in a Workflow can be executed independently
4. Start the Workflow
-
8/7/2019 informatica official
82/289
Session Tasks
-
8/7/2019 informatica official
83/289
83
Session Tasks
After this section, you will be familiar with:
How to create and configure Session Tasks
Session Task source and target properties
-
8/7/2019 informatica official
84/289
84
Created to execute the logic of a mapping (onemapping only)
Session Tasks can be created in the Task Developer(reusable) or Workflow Developer(Workflow-specific)
To create a Session Task
Select the Session button from the Task Toolbar
OrSelect menu Tasks | Create and select Session fromthe drop-down menu
Creating a Session Task
-
8/7/2019 informatica official
85/289
85
Session Task Properties and Parameters
Session Task
Sessionparameter
Properties Tab
Parameter file
-
8/7/2019 informatica official
86/289
86
Session Task Setting Source Properties
Set
properties
Session Task
Selectsource
instance
Mapping Tab
Setconnection
-
8/7/2019 informatica official
87/289
87
Session Task Setting Target Properties
Note: Heterogeneous targetsare supported
Session Task
Select target
instance
Mapping Tab
Set properties
Set connection
-
8/7/2019 informatica official
88/289
-
8/7/2019 informatica official
89/289
89
Monitoring Workflows
By the end of this section you will be familiar with:
The Workflow Monitor GUI interface
Monitoring views
Server monitoring modes
Filtering displayed items
Actions initiated from the Workflow Monitor
Truncating Monitor Logs
-
8/7/2019 informatica official
90/289
90
Workflow Monitor
The Workflow Monitor is the tool for monitoringWorkflows and Tasks
Choose between two views:
Gantt chart
Task view
Gantt Chart view Task view
-
8/7/2019 informatica official
91/289
91
Monitoring Current and Past Workflows
The Workflow Monitor displays only workflowsthat have been run
Displays real-time information from theInformatica Server and the Repository Server
about current workflow runs
-
8/7/2019 informatica official
92/289
92
Monitoring Operations
Perform operations in the Workflow Monitor Stop, Abort, or Restart a Task, Workflow or Worklet Resume a suspended Workflow after a failed Task is
corrected
Reschedule orUnschedule a Workflow
View Session and Workflow logs
Abort has a 60 second timeout If the Server has not completed processing and
committing data during the timeout period, the threadsand processes associated with the Session are killed
Stopping a Session Task means the Server stops reading data
-
8/7/2019 informatica official
93/289
93
Monitoring in Task View
Start Completion
Task Server Workflow Worklet Time Time
Status Bar
Start, Stop, Abort, ResumeTasks,Workflows and Worklets
-
8/7/2019 informatica official
94/289
94
Filtering in Task View
Monitoring filterscan be set usingdrop down menus.Minimizes itemsdisplayed inTask View
Right-click on Session to retrieve theSession Log (from the Server to thelocal PC Client)
-
8/7/2019 informatica official
95/289
95
Filter Toolbar
Display recent runs
Filter tasks by specified criteria
Select servers to filter
Select type of tasks to filter
T i W kfl M i L
-
8/7/2019 informatica official
96/289
96
Truncating Workflow Monitor Logs
Workflow Monitor
Repository Manager
Repository ManagersTruncate Log optionclears the WorkflowMonitor logs
-
8/7/2019 informatica official
97/289
97
Lab 3 Create and Run a Workflow
-
8/7/2019 informatica official
98/289
98
Lab 4 Features and Techniques I
-
8/7/2019 informatica official
99/289
Debugger
D b
-
8/7/2019 informatica official
100/289
100
Debugger
By the end of this section you will be familiar with:
Creating a Debug Session
Debugger windows and indicators
Debugger functionality and options
Viewing data with the Debugger
Setting and using Breakpoints
Tips for using the Debugger
D b F t
-
8/7/2019 informatica official
101/289
101
Debugger Features
Wizard driven tool that runs a test session
View source / target data
View transformation data
Set breakpoints and evaluate expressions
Initialize variables
Manually change variable values
Data can be loaded or discarded
Debug environment can be saved for later use
D b I t f
-
8/7/2019 informatica official
102/289
102
Debugger Interface
Target Instancewindow
TransformationInstance
Data window
Flashingyellow
SQLindicator
Debugger Modeindicator
Solid yellowarrow is current
transformationindicator
Output Window Debugger Log
EditBreakpoints
S t B k i t
-
8/7/2019 informatica official
103/289
103
Set Breakpoints
2. Choose global orspecific transformation
3. Choose to break on
data condition or error.Optionally skip rows.
4. Add breakpoint(s)
5. Add data conditions
1. Edit breakpoint
6. Continue (to next breakpoint)
D b Ti
-
8/7/2019 informatica official
104/289
104
Server must be running before starting a Debug Session
When the Debugger is started, a spinning icon displays.Spinning stops when the Debugger Server is ready
The flashing yellow/green arrow points to the current activeSource Qualifier. The solid yellow arrow points to the currentTransformation instance
Debugger Tips
Next Instance proceeds a single step at a time; onerow moves from transformation to transformation
Step to Instance examines one transformation at atime, following successive rows through the sametransformation
-
8/7/2019 informatica official
105/289
105
Lab 5 The Debugger
-
8/7/2019 informatica official
106/289
Filter Transformation
Filter Transformation
-
8/7/2019 informatica official
107/289
107
Ports All input / output
Specify a Filter condition
Usage Filter rows from
input flow
Drops rows conditionally
Filter Transformation
-
8/7/2019 informatica official
108/289
108
Lab 6 Flat File Wizard and Filter
Transformation
-
8/7/2019 informatica official
109/289
Sorter Transformation
-
8/7/2019 informatica official
110/289
Sorter Transformation
-
8/7/2019 informatica official
111/289
111
Sorter Transformation
Sorts data from any source, at any point in a data flow
Ports Input/Output Define one or more
sort keys Define sort order for
each key
Example ofUsage Sort data before
Aggregator to improve
performance
Sort Keys
Sort Order
Sorter Properties
-
8/7/2019 informatica official
112/289
112
Sorter Properties
Cache size can be
adjusted. Default is 8 Mb. Ensure sufficient memoryis available on theInformatica Server (elseSession Task will fail)
-
8/7/2019 informatica official
113/289
Aggregator Transformation
Aggregator Transformation
-
8/7/2019 informatica official
114/289
114
Aggregator Transformation
By the end of this section you will be familiar with:
Basic Aggregator functionality
Creating subtotals with the Aggregator
Aggregator expressions
Aggregator properties
Using sorted data
Aggregator Transformation
-
8/7/2019 informatica official
115/289
115
Aggregator Transformation
Ports Mixed I/O ports allowed
Variable ports allowed Group By allowed
Create expressions invariable and output ports
Usage Standard aggregations
Performs aggregate calculations
Aggregate Expressions
-
8/7/2019 informatica official
116/289
116
Aggregate Expressions
Conditional Aggregateexpressions are supported: Conditional SUM format: SUM(value, condition)
Aggregatefunctions aresupported only inthe AggregatorTransformation
Aggregator Functions
-
8/7/2019 informatica official
117/289
117
Aggregator Functions
Return summary values for non-null datain selected ports
Use only in Aggregator transformations
Use in output ports only
Calculate a single value (and row) for allrecords in a group
Only one aggregate function can benested within an aggregate function
Conditional statements can be used with
these functions
AVGCOUNTFIRSTLASTMAXMEDIAN
MINPERCENTILESTDDEVSUMVARIANCE
Aggregator Properties
-
8/7/2019 informatica official
118/289
118
Aggregator Properties
Sorted Input Property
Set Aggregatorcache sizes for
Informatica Servermachine
Instructs theAggregator to
expect the datato be sorted
Sorted Data
-
8/7/2019 informatica official
119/289
119
Sorted Data
The Aggregator can handle sorted or unsorted data
Sorted data can be aggregated more efficiently, decreasing totalprocessing time
The Server will cache data from each group and
release the cached data uponreachingthe firstrecordofthenextgroup
Data mustbe sorted according to the order of theAggregators Group By ports
Performance gain will depend upon varying factors
Aggregating Unsorted Data
-
8/7/2019 informatica official
120/289
120
Aggregating Unsorted Data
Unsorteddata
No rows are released from Aggregatoruntil all rows are aggregated
Group By:- store- department- date
Aggregating Sorted Data
-
8/7/2019 informatica official
121/289
121
Aggregating Sorted Data
Each separate group (one row) is released assoon as the last row in the group isaggregated
Group By:- store- department- date
Data sorted by:- store- department- date
Data Flow Rules Terminology
-
8/7/2019 informatica official
122/289
122
Data Flow Rules Terminology
Passive transformation
Operates on one row of data at a time AND
Cannot change the number of rows on the data flow
Example: Expression transformation
Active transformation
Can operate on groups of data rows AND/OR
Can change the number of rows on the data flow
Examples: Aggregator, Filter, Source Qualifier
Data Flow Rules
-
8/7/2019 informatica official
123/289
123
Data Flow Rules
Each Source Qualifier starts a single data stream (data flow)
Transformations can send rows to more than onetransformation (split one data flow into multiple pipelines)
Two or more data flows can meet only if they originate from acommon active transformation
Example holds true with Normalizer instead of Source Qualifier.Exceptions are: Mapplet Input and sorted Joiner transformations
DISALLOWED
TT
Active
ALLOWED
T
Passive
T
-
8/7/2019 informatica official
124/289
Joiner Transformation
Joiner Transformation
-
8/7/2019 informatica official
125/289
125
Jo e s o o
By the end of this section you will be familiar with:
When to join in Source Qualifier and when in Joinertransformation
Homogeneous joins
Heterogeneous joins
Joiner properties
Joiner conditions
Nested joins
When to Join in Source Qualifier
-
8/7/2019 informatica official
126/289
126
Q
Ifyou can perform a join on the source database, thenyou can configure it in the Source Qualifier
The SQL that the Source Qualifier generates, default orcustom, executes on the source database at runtime
Example: homogeneous join 2 database tables in samedatabase
When You Cannot Join in Source Qualifier
-
8/7/2019 informatica official
127/289
127
Q
Ifyou cannotperform a join on the source database, thenyou cannotconfigure it in the Source Qualifier
Examples: heterogeneous joins
An Oracle table and a DB2 table
A flat file and a database table
Two flat files
Joiner Transformation
-
8/7/2019 informatica official
128/289
128
Active Transformation
Ports All input or input / output
M denotes port comesfrom master source
Examples Join two flat files Join two tables from
different databases Join a flat file with arelational table
Performs heterogeneous joins on different dataflows
Joiner Conditions
-
8/7/2019 informatica official
129/289
129
Multiple join conditions aresupported
Joiner Properties
-
8/7/2019 informatica official
130/289
130
p
Join types:
Normal (inner)
Master outer
Detail outer Full outer
Joiner can accept sorted data (configure the join condition to use thesort origin ports)
Set JoinerCaches
Nested Joins
-
8/7/2019 informatica official
131/289
131
Used to join three or more heterogeneous sources
Mid-Mapping Join (Unsorted)
-
8/7/2019 informatica official
132/289
132
pp g ( )
The unsorted Joiner does not accept input in thefollowing situations: Both input pipelines begin with the same Source Qualifier
Both input pipelines begin with the same Joiner
The sorted Joiner does not have these restrictions.
-
8/7/2019 informatica official
133/289
133
Lab 7 Heterogeneous Join, Aggregator, and
Sorter
-
8/7/2019 informatica official
134/289
Lookup Transformation
Lookup Transformation
-
8/7/2019 informatica official
135/289
135
By the end of this section you will be familiar with:
Lookup principles
Lookup properties
Lookup conditions
Lookup techniques
Caching considerations
Persistent caches
How a Lookup Transformation Works
-
8/7/2019 informatica official
136/289
136
For each mapping row, one or more port values are looked up in a
database table or flat file
If a match is found, one or more table values are returned to themapping. If no match is found, NULL is returned
Lookup value(s)
Return value(s)
Lookup transformation
Lookup Transformation
-
8/7/2019 informatica official
137/289
137
Looks up values in a database table or flat file andprovides data to other components in a mapping
Ports Mixed L denotes Lookup port
R denotes port used as areturn value (unconnectedLookup only see later)
Specify the Lookup Condition
Usage Get related values Verify if records exists or if
data has changed
Lookup Conditions
-
8/7/2019 informatica official
138/289
138
Multiple conditions are supported
Lookup Properties
-
8/7/2019 informatica official
139/289
139
Lookuptable name
Native databaseconnection object name
Lookup condition
Source type:Database orFlat File
Lookup Properties contd
-
8/7/2019 informatica official
140/289
140
Policy on multiplematch: Use first value Use last value Report error
Lookup Caching
-
8/7/2019 informatica official
141/289
141
Caching can significantly impact performance
Cached
Lookup table data is cached locally on the Server
Mapping rows are looked up against the cache
Only one SQL SELECT is needed
Uncached
Each Mapping row needs one SQL SELECT
Rule Of Thumb: Cache if the number (and size) of records inthe Lookup table is small relative to the number of mappingrows requiring the lookup
Persistent Caches
-
8/7/2019 informatica official
142/289
142
By default, Lookup caches are not persistent; when thesession completes, the cache is erased
Cache can be made persistent with the Lookup properties
When Session completes, the persistent cache is storedon the server hard disk
The next time Session runs, cached data is loaded fully orpartially into RAM and reused
A named persistent cache may be shared by differentsessions
Can improve performance, but stale data may pose aproblem
Lookup Caching Properties
-
8/7/2019 informatica official
143/289
143
Override LookupSQL option
Cachedirectory
Togglecaching
Lookup Caching Properties (contd)
-
8/7/2019 informatica official
144/289
144
Set Lookupcache sizes
Make cachepersistent
Set prefix forpersistent cachefile name
Reloadpersistentcache
-
8/7/2019 informatica official
145/289
145
Lab 8 Basic Lookup
-
8/7/2019 informatica official
146/289
Target Options
Target Options
-
8/7/2019 informatica official
147/289
147
By the end of this section you will be familiar with:
Default target load type
Target properties
Update override
Constraint-based loading
Setting Default Target Load Type
-
8/7/2019 informatica official
148/289
148
Set Target Load Type default Workflow Manager, Tools | Options Normal orBulk (client choice) Override the default in sessiontarget properties
-
8/7/2019 informatica official
149/289
WHERE Clause for Update and Delete
-
8/7/2019 informatica official
150/289
150
PowerCenter uses the primary keys defined in theWarehouse Designer to determine the appropriate SQLWHERE clause for updates and deletes
Update SQL
UPDATE SET = WHERE =
The only columns updated are those which have values linkedto them
All other columns in the target are unchanged
The WHERE clause can be overridden via Update Override
Delete SQL DELETE from WHERE =
SQL statement used will appear in the Session log file
Constraint-based Loading
-
8/7/2019 informatica official
151/289
151
PK1
FK1 PK2
FK2
To maintain referential integrity, primary keys mustbe loaded before their corresponding foreign keys here in the order Target1, Target2, Target 3
Setting Constraint-based Loading
-
8/7/2019 informatica official
152/289
152
Constraint-based Loading Terminology
-
8/7/2019 informatica official
153/289
153
Active transformation
Can operate on groups of data rows and/orcan change the number of rows on the data flow
Examples: Source Qualifier, Aggregator, Joiner, Sorter, Filter
Active source
Active transformation that generates rows
Cannot match an output row with a distinct input row
Examples: Source Qualifier, Aggregator, Joiner, Sorter
(The Filter is NOT an active source)
Active group Group of targets in a mapping being fed by the same active
source
Constraint-Based Loading Restrictions
-
8/7/2019 informatica official
154/289
154
Cannot have two active groups
Example 1
With onlyoneActive source,rows for Targets1, 2, and 3 willbe loaded properly and maintainreferential integrity
PK1
FK1PK2
FK2
Example 2With twoActive sources, it is notpossible to control whether rowsfor Target3 will be loaded before
or after those for Target2
PK1
FK1
PK2
FK2
-
8/7/2019 informatica official
155/289
155
Lab 9 Deleting Rows
-
8/7/2019 informatica official
156/289
Update Strategy
Transformation
Update Strategy Transformation
-
8/7/2019 informatica official
157/289
157
Used to specify how each individual row will be used to
update target tables (insert, update, delete, reject)
Ports All input / output
Specify theU
pdateStrategy Expression IIF or DECODE logicdetermines how tohandle the record
Example
Updating SlowlyChanging Dimensions
Update Strategy Expressions
-
8/7/2019 informatica official
158/289
158
IIF ( score > 69, DD_INSERT, DD_DELETE )
Expression is evaluated for each row
Rows are tagged according to the logic of the
expression Appropriate SQL (DML) is submitted to the target
database: insert, delete or update
DD_REJECT means the row will not have SQL written
for it. Target will not see that row Rejected rows may be forwarded through Mapping
-
8/7/2019 informatica official
159/289
159
Lab 10 Data Driven Operations
-
8/7/2019 informatica official
160/289
160
Lab 11 Incremental Update
-
8/7/2019 informatica official
161/289
161
Lab 12 Features and Techniques II
-
8/7/2019 informatica official
162/289
Router Transformation
Router Transformation
-
8/7/2019 informatica official
163/289
163
Rows sent to multiple filter conditions
Ports All input/output
Specify filter conditionsfor each Group
Usage Link source data in
one pass to multiplefilter conditions
Router Groups
-
8/7/2019 informatica official
164/289
164
Input group (always one)
User-defined groups
Each group has one condition
ALL group conditions are evaluated
for EACH row One row can pass multiple
conditions
Unlinked Group outputsare ignored
Default group (always one) cancapture rows that fail all Groupconditions
Router Transformation in a Mapping
-
8/7/2019 informatica official
165/289
165
-
8/7/2019 informatica official
166/289
166
Lab 13Router
-
8/7/2019 informatica official
167/289
Sequence Generator
Transformation
Sequence Generator Transformation
-
8/7/2019 informatica official
168/289
168
Generates unique keys for any port on a row
Ports Two predefined output
ports, NEXTVAL andCURRVAL
No input ports allowed
Usage Generate sequence
numbers Shareable across mappings
Sequence Generator Properties
-
8/7/2019 informatica official
169/289
169
Number ofcached values
-
8/7/2019 informatica official
170/289
Mapping Parameters and
Variables
Mapping Parameters and Variables
-
8/7/2019 informatica official
171/289
171
By the end of this section you will understand:
System variables
Mapping parameters and variables
Parameter files
System Variables
P id t d t ti th
-
8/7/2019 informatica official
172/289
172
SESSSTARTTIME
$$$SessStartTime
Returns the system date value on theInformatica Server Used with any function that accepts
transformation date/time datatypes Not to be used in a SQL override Has a constant value
Returns the system date value asastring. Uses system clock on machinehosting Informatica Server
Format of the string is database typedependent Used in SQL override Has a constant value
SYSDATE Provides current datetime on the
Informatica Server machine Not a static value
Mapping Parameters and Variables
-
8/7/2019 informatica official
173/289
173
Apply to all transformations within one Mapping Represent declared values
Variables can change in value during run-time
Parameters remain constant during run-time
Provide increased development flexibility
Defined in Mapping menu
Format is $$VariableNameor $$ParameterName
Can be used in pre and post-SQL
Mapping Parameters and Variables
-
8/7/2019 informatica official
174/289
174
Sample declarations
Declare Mapping Variables and Parametersin the Designer Mappings/Mapplets menu
Setaggregationtype
Set optionalinitial value
User-definednames
Set datatype
Mapping Parameters and Variables
-
8/7/2019 informatica official
175/289
175
Apply parameters or variables in formula
Functions to Set Mapping Variables
-
8/7/2019 informatica official
176/289
176
SETMAXVARIABLE($$Variable,value)
Sets the specified variable to the higher of the currentvalue or the specified value
SETMINVARIABLE($$Variable,value)Sets the specified variable to the lower of of the
current value or the specified value SETVARIABLE($$Variable,value)
Sets the specified variable to the specified value
SETCOUNTVARIABLE($$Variable)
Increases or decreases the specified variable by thenumber of rows leaving the function(+1 for eachinserted row, -1 for each deleted row, no change forupdated or rejected rows)
Parameter Files
-
8/7/2019 informatica official
177/289
177
You can specify a parameterfile for a session in thesession editor
Parameter file contains folder.session name and initializeseach parameter and variable for that session. For example:
[Production.s_m_MonthlyCalculations]$$State=MA
$$Time=10/1/2000 00:00:00$InputFile1=sales.txt$DBConnection_target=sales$PMSessionLogFile=D:/session logs/firstrun.txt
Parameters & Variables Initialization Priority
-
8/7/2019 informatica official
178/289
178
1. Parameter file
2. Repository value
3. Declared initial value
4. Default value
-
8/7/2019 informatica official
179/289
Unconnected Lookups
Unconnected Lookups
-
8/7/2019 informatica official
180/289
180
By the end of this section you will know:
Unconnected Lookup technique
Unconnected Lookup functionality
Difference from Connected Lookup
Unconnected Lookup
-
8/7/2019 informatica official
181/289
181
Physically unconnected from other transformations NO data flow
arrows leading to or from an unconnected Lookup Lookup data is called from the point in the Mapping that needs it Lookup function can be set within any transformation that supports
expressions
Function in the Aggregator
calls the unconnected Lookup
Unconnected Lookup Technique
-
8/7/2019 informatica official
182/289
182
Condition is evaluated for each row but Lookup functionis called only if condition satisfied
IIF (ISNULL(customer_id),:lkp.MYLOOKUP(order_no))
Condition
Lookup function
Row keys
(passedto Lookup)
Use lookup lookup function within a conditional statement
Unconnected Lookup Advantage
-
8/7/2019 informatica official
183/289
183
Data lookup is performed onlyfor those rows whichrequire it. Substantial performance can be gained
EXAMPLE: A Mapping will process 500,000 rows. For twopercent of those rows (10,000) the item_id value is NULL.Item_ID can be derived from the SKU_NUMB.
Net savings = 490,000 lookups
IIF (ISNULL(item_id), :lkp.MYLOOKUP(sku_numb))
Condition
(true for2 percent of all rows)
Lookup
(called only when condition is true)
Unconnected Lookup Functionality
-
8/7/2019 informatica official
184/289
184
One Lookup port value may be returned for each Lookup
Must check aReturn port in the
Ports tab, elsefails at runtime
-
8/7/2019 informatica official
185/289
-
8/7/2019 informatica official
186/289
186
Lab 14 Straight Load
-
8/7/2019 informatica official
187/289
187
Lab 15 Conditional Lookup
-
8/7/2019 informatica official
188/289
Heterogeneous Targets
Heterogeneous Targets
-
8/7/2019 informatica official
189/289
189
By the end of this section you will be familiar with:
Heterogeneous target types
Heterogeneous target limitations
Target conversions
Definition: Heterogeneous Targets
-
8/7/2019 informatica official
190/289
190
Supported target definition types:
Relational database
Flat file
XML Targets supported by PowerCenter Connects
Heterogeneous targets are targets within a single
Session Task that have different types or
have differentdatabase connections
Step One: Identify Different Target Types
-
8/7/2019 informatica official
191/289
191
Oracle table
Flat file
Oracle tableTables are EITHER in twodifferent databases, orrequire different (schema-specific) connect strings
One target is a flat file load
Step Two: Different Database Connections
-
8/7/2019 informatica official
192/289
192
The two databaseconnections aredifferent
Flat file requires
separate locationinformation
Target Type Override (Conversion)
-
8/7/2019 informatica official
193/289
193
Example: Mapping has SQL Server target definitions.Session Task can be set to load Oracle tables instead,using an Oracle database connection.
The following overrides are supported:
Relational target to flat file target
Relational target to any other relational database type
CAUTION: If target definition datatypes are not compatible with datatypes innewly selected database type, modify the target definition
-
8/7/2019 informatica official
194/289
-
8/7/2019 informatica official
195/289
Mapplets
Mapplets
-
8/7/2019 informatica official
196/289
196
By the end of this section you will be familiar with: Mapplet Designer
Mapplet advantages
Mapplet types Mapplet rules
Active and Passive Mapplets
Mapplet Parameters and Variables
Mapplet Designer
-
8/7/2019 informatica official
197/289
197
MappletInput and OutputTransformation
Icons
Mapplet OutputTransformation
Mapplet Designer Tool
Mapplet Advantages
-
8/7/2019 informatica official
198/289
198
Useful for repetitive tasks / logic
Represents a set of transformations
Mapplets are reusable
Use an instance of a Mapplet in a Mapping
Changes to a Mapplet are inherited by all instances
Server expands the Mapplet at runtime
AMapplet Used in a Mapping
-
8/7/2019 informatica official
199/289
199
-
8/7/2019 informatica official
200/289
Unsupported Transformations
-
8/7/2019 informatica official
201/289
201
Do not use the following in a mapplet:
XML source definitions
Target definitions
Other mapplets
Mapplet Source Options
Internal Sources
-
8/7/2019 informatica official
202/289
202
Internal Sources
One or more Source definitions / Source Qualifierswithin the Mapplet
External Sources
Mapplet contains a Mapplet Input transformation Receives data from the Mapping it is used in
Mixed Sources
Mapplet contains one or more of either of a Mapplet
Input transformation AND one or more Source Qualifiers
Receives data from the Mapping it is used in, AND fromthe Mapplet
Use for data sources outside a Mapplet
Mapplet Input Transformation
-
8/7/2019 informatica official
203/289
203
Use for data sources outside a Mapplet
Passive TransformationConnected
Ports
Output ports only
Usage
Only those portsconnected from anInput transformation
to anothertransformationwill display in theresulting Mapplet
Connecting thesame port to morethan onetransformation isdisallowed
Pass to anExpressiontransformationfirst
Transformation
Transformation
Data Source Outside a Mapplet
Source data is defined
-
8/7/2019 informatica official
204/289
204
Resulting Mapplet HASinput ports
When used in a Mapping,the Mapplet may occur atany point in mid-flow
Source data is defined
OUTSIDE the Mapplet logic
Mapplet
Mapplet Input
Transformation
Data Source Inside a Mapplet
SourceSource data is defined
-
8/7/2019 informatica official
205/289
205
Resulting Mapplet has noinput ports
When used in a Mapping,the Mapplet is the firstobject in the data flow
Mapplet
No Input transformationis required (or allowed)
Use a Source Qualifier
instead
Qualifier
Source data is defined
WITHIN the Mapplet logic
Mapplet Output Transformation
Use to contain the results of a Mapplet pipeline Multiple
-
8/7/2019 informatica official
206/289
206
Passive TransformationConnected
Ports
Input ports only
Usage
Only those ports connected toan Output transformation (fromanother transformation) will
display in the resulting Mapplet
One (or more) Mapplet Outputtransformations are required in
every Mapplet
Use to contain the results of a Mapplet pipeline. Multiple
Output transformations are allowed.
Mapplet withMultiple Output Groups
-
8/7/2019 informatica official
207/289
207
Can output to multiple instances of the same target table
Unmapped Mapplet Output Groups
-
8/7/2019 informatica official
208/289
208
Warning: An unlinkedMapplet Output Groupmay invalidate themapping
Active and Passive Mapplets
-
8/7/2019 informatica official
209/289
209
Passive Mapplets contain only passive transformations
Active Mapplets contain one or more activetransformations
CAUTION: Changing a passive Mapplet into an active Mappletmay invalidate Mappings which use that Mapplet so do an impactanalysis in Repository Manager first
-
8/7/2019 informatica official
210/289
Mapplet Parameters and Variables
-
8/7/2019 informatica official
211/289
211
Same idea as mapping parameters and variables
Defined under theMapplets | Parameters and Variables
menu option A parameter or variable defined in a mapplet is not
visible in any parent mapping
A parameter or variable defined in a mapping is notvisible in any child mapplet
-
8/7/2019 informatica official
212/289
212
Lab 17Mapplets
-
8/7/2019 informatica official
213/289
Reusable Transformations
Reusable Transformations
-
8/7/2019 informatica official
214/289
214
By the end of this section you will be familiar with:
Transformation Developer
Reusable transformation rules
Promoting transformations to reusable
Copying reusable transformations
Transformation Developer
-
8/7/2019 informatica official
215/289
215
Reusabletransformations
Make atransformationreusable fromthe outset,
or
test it in a
mapping first
Reusable Transformations
Define once, reuse many times
-
8/7/2019 informatica official
216/289
216
, y
Reusable Transformations
Can be a copy or a shortcut
Edit Ports only in Transformation Developer
Can edit Properties in the mapping
Instances dynamically inherit changes
Caution: changing reusable transformations can invalidatemappings
Note: Source Qualifier transformations cannotbe made reusable
Promoting a Transformation to Reusable
-
8/7/2019 informatica official
217/289
217
Check theMake reusable box
(irreversible)
Copying Reusable Transformations
This copy action must be done within the same folder
-
8/7/2019 informatica official
218/289
218
This copy action must be done within the same folder
1. Hold down Ctrl key and drag a Reusable transformation fromthe Navigator window into a mapping (Mapping Designer tool)
2. A message appears in the status bar:
3. Drop the transformation into the mapping
4. Save the changes to the Repository
-
8/7/2019 informatica official
219/289
219
Lab 18 Reusable Transformations
-
8/7/2019 informatica official
220/289
Session-Level Error Logging
Error Logging Objectives
-
8/7/2019 informatica official
221/289
221
By the end of this section, you will be familiar with:
Setting error logging options
How data rejects and transformation errors are
handled with logging on and off
How to log errors to a flat file or relational table
When and how to use source row logging
Error Types
-
8/7/2019 informatica official
222/289
222
Transformation error Data row has only passed partway through the mapping
transformation logic
An error occurs within a transformation
Data reject
Data row is fully transformed according to the mappinglogic
Due to a data issue, it cannot be written to the target
A data reject can be forced by an Update Strategy
Error Logging Off/On
-
8/7/2019 informatica official
223/289
223
Error Type Logging OFF (Default) Logging ONTransformationerrors
Written to session logthen discarded
Appended to flat file orrelational tables. Onlyfatal errors written tosession log.
Data rejects Appended to reject file(one .bad file per target)
Written to row errortables or file
Setting Error Log Options
In Session task
-
8/7/2019 informatica official
224/289
224
Log Row DataLog Source Row Data
Error Log Type
Error Logging Off Specifying Reject Files
-
8/7/2019 informatica official
225/289
225
In Session task1 file per target
Error Logging Off Transformation Errors
Details and data are written to session log
-
8/7/2019 informatica official
226/289
226
X
X
Transformation Error
Data row is discarded If data flows concatenated, corresponding rows in parallel
flow are also discarded
Error Logging Off Data Rejects
Conditions causing data to be rejected include:
-
8/7/2019 informatica official
227/289
227
Target database constraint violations, out-of-space errors, logspace errors, null values not accepted
Data-driven records, containing value 3 or DD_REJECT(the reject has been forced by an Update Strategy)
Target table properties reject truncated/overflowed rows
0,D,1313,D,Regulator System,D,Air Regulators,D,250.00,D,150.00,D1,D,1314,D,Second Stage Regulator,D,Air Regulators,D,365.00,D,265.00,D2,D,1390,D,First Stage Regulator,D,Air Regulators,D,170.00,D,70.00,D3,D,2341,D,Depth/Pressure Gauge,D,Small Instruments,D,105.00,D,5.00,D
Sample reject file
Indicator describes preceding column valueD=Data, O=Overflow, N=Null or T=Truncated
First column:0=INSERTp1=UPDATEp2=DELETEp3=REJECTp
Log Row Data
Logs:
-
8/7/2019 informatica official
228/289
228
g
Session metadata
Reader, transformation, writer and user-defined errors
For errors on input, logs row data forI and I/O ports
For errors on output, logs row data forI/O and O ports
Logging Errors to a Relational Database 1
-
8/7/2019 informatica official
229/289
229
Relational DatabaseLog Settings
Logging Errors to a Relational Database 2
-
8/7/2019 informatica official
230/289
230
PMERR_SESS: Stores metadata about the session runsuch as workflow name, session name, repository nameetc
PMERR_MSG: Error messages for a row of data arelogged in this table
PMERR_TRANS: Metadata about the transformation suchas transformation group name, source name, port nameswith datatypes are logged in this table
PMERR_DATA: The row data of the error row as well as
the source row data is logged here. The row data is in astring format such as [indicator1: data1 | indicator2: data2]
Error Logging to a Flat File 1
Creates delimited Flat File with || as column delimiter
-
8/7/2019 informatica official
231/289
231
Flat File LogSettings (Defaults
shown)
Logging Errors to a Flat File 2
Format: Session metadata followed by de-normalized error information
Sample session metadata
-
8/7/2019 informatica official
232/289
232
**********************************************************************
Repository GID: 510e6f02-8733-11d7-9db7-00e01823c14d
Repository: RowErrorLogging
Folder: ErrorLogging
Workflow: w_unitTests
Session: s_customers
Mapping: m_customersWorkflow Run ID: 6079
Worklet Run ID: 0
Session Instance ID: 806
Session Start Time: 10/19/2003 11:24:16
Session Start Time (UTC): 1066587856
**********************************************************************
Row data formatTransformation || Transformation Mapplet Name || Transformation Group || PartitionIndex || Transformation Row ID || Error Sequence || Error Timestamp || Error UTCTime || Error Code || Error Message || Error Type || Transformation Data || SourceMapplet Name || Source Name || Source Row ID || Source Row Type || Source Data
Log Source Row Data 1
-
8/7/2019 informatica official
233/289
233
Separate checkbox in session task
Logs the source row associated with the error row
Logs metadata about source, e.g. Source Qualifier,
source row id, and source row type
-
8/7/2019 informatica official
234/289
-
8/7/2019 informatica official
235/289
Workflow Configuration
Workflow Configuration Objectives
-
8/7/2019 informatica official
236/289
236
By the end of this section, you will be able to create:
Workflow Server Connections
Reusable Schedules
Reusable Session Configurations
-
8/7/2019 informatica official
237/289
237
Workflow Server Connections
-
8/7/2019 informatica official
238/289
Relational Connections (Native )
Create a relational [database] connection
I t ti t th S t l t l ti l t bl
-
8/7/2019 informatica official
239/289
239
Instructions to the Server to locate relational tables Used in Session Tasks
Relational Connection Properties
Define native
l ti l d t b
-
8/7/2019 informatica official
240/289
240
relational databaseconnection
Optional Environment SQL(executed with each use ofdatabase connection)
User Name/Password
Database connectivityinformation
Rollback Segmentassignment (optional)
FTP Connection
Create an FTP connection
Instructions to the Server to ftp flat files
-
8/7/2019 informatica official
241/289
241
Used in Session Tasks
External Loader Connection
Create an External Loader connection
I t t th S t i k t l d t b l d
-
8/7/2019 informatica official
242/289
242
Instructs the Server to invoke an external database loader Used in Session Tasks
-
8/7/2019 informatica official
243/289
243
Reusable Workflow Schedules
Set up reusable schedules to associate with multiple Workflows
D fi d t f ld l l
Reusable Workflow Schedules
-
8/7/2019 informatica official
244/289
244
Defined at folder level Must have the Workflow Designer tool open
Reusable Workflow Schedules
-
8/7/2019 informatica official
245/289
245
-
8/7/2019 informatica official
246/289
246
Reusable Session Configurations
Session Configuration
Define properties to be reusable across different
-
8/7/2019 informatica official
247/289
247
Define properties to be reusable across differentsessions
Defined at folder level
Must have one of these toolsopen in order to access
-
8/7/2019 informatica official
248/289
Session Configuration (contd)
-
8/7/2019 informatica official
249/289
249
Session TaskConfig Object
-
8/7/2019 informatica official
250/289
250
Within Session task properties, choose desiredconfiguration
Session TaskConfig Object Attributes
-
8/7/2019 informatica official
251/289
251
Attributes
may beoverriddenwithin theSession task
-
8/7/2019 informatica official
252/289
Reusable Tasks
Reusable Tasks
Three types of reusable Tasks
-
8/7/2019 informatica official
253/289
253
Three types ofreusable TasksSession Set of instructions
to execute a specificMapping
Command Specific shellcommands to run duringany Workflow
Email Sends email duringthe Workflow
Reusable Tasks
Use the TaskDeveloperto
create reusable tasks
-
8/7/2019 informatica official
254/289
254
create reusable tasks
These tasks will then appearin the Navigator and can bedragged and dropped intoany workflow
Reusable Tasks in a Workflow
In a workflow a reusable task is represented
-
8/7/2019 informatica official
255/289
255
In a workflow, a reusable task is representedwith the symbol
ReusableNon-reusable
Command Task
Specify one or more Unix shell or DOS commands to
run during the Workflow
-
8/7/2019 informatica official
256/289
256
run during the Workflow Runs in the Informatica Server (UNIX or Windows)
environment
Command task status (successful completion or
failure) is held in the pre-defined task variable$command_task_name.STATUS
Each Command Task shell command can executebefore the Session begins or after the InformaticaServer executes a Session
Command Task
Specify one (or more) Unix shell or DOS (NT, Win2000)commands to run at a specific point in the workflow
-
8/7/2019 informatica official
257/289
257
commands to run at a specific point in the workflow
Becomes a component of a workflow (or worklet)
If created in the Task Developer, the Command task isreusable
If created in the Workflow Designer, the Command task isnot reusable
Commands can also be invoked under the Componentstab of a Session task to run pre- or post-session
-
8/7/2019 informatica official
258/289
Command Task (contd)
-
8/7/2019 informatica official
259/289
259
Add Cmd
Remove Cmd
Email Task
Configure to have the Informatica Server to send email
at any point in the Workflow
-
8/7/2019 informatica official
260/289
260
at any point in the Workflow
Becomes a component in a Workflow (or Worklet)
If configured in the Task Developer, the Email Task isreusable (optional)
Emails can also be invoked under the Components tabof a Session task to run pre- or post-session
Email Task (contd)
-
8/7/2019 informatica official
261/289
261
-
8/7/2019 informatica official
262/289
-
8/7/2019 informatica official
263/289
263
Lab 20 Command Task
-
8/7/2019 informatica official
264/289
Non-Reusable Tasks
-
8/7/2019 informatica official
265/289
Decision Task
Specifies a condition to be evaluated in the Workflow
Use the Decision Task in branches of a Workflow
-
8/7/2019 informatica official
266/289
266
Use link conditions downstream to control execution flow bytesting the Decision result
-
8/7/2019 informatica official
267/289
Timer Task
Waits for a specified period of time to execute the
next Task
-
8/7/2019 informatica official
268/289
268
e t asGeneral Tab
Absolute Time
Datetime Variable
Relative Time
Timer Tab
Control Task
Stop or ABORT the Workflow
Properties Tab
-
8/7/2019 informatica official
269/289
269
GeneralTab
Event Wait Task
Pauses processing of the pipeline until aspecified event occurs
-
8/7/2019 informatica official
270/289
270
specified event occurs
Events can be:
Pre-defined file watch
U
ser-defined created by an Event Raise task elsewhere inthe workflow
Event Wait Task (contd)
General TabProperties Tab
-
8/7/2019 informatica official
271/289
271
Event Wait Task (contd)
Events Tab
-
8/7/2019 informatica official
272/289
272
User-defined event configuredin the Workflow object
Event Raise Task
Represents the location of a user-defined event
The Event Raise Task triggers the user-defined event when theInformatica Ser er e ec tes the E ent Raise Task
-
8/7/2019 informatica official
273/289
273
Informatica Server executes the Event Raise Task
Used with the Event Wait Task
General Tab Properties Tab
-
8/7/2019 informatica official
274/289
Worklets
Worklets
An object representing a set or grouping of Tasks
Can contain any Task available in the Workflow
-
8/7/2019 informatica official
275/289
275
Can contain any Task available in the WorkflowManager
Worklets expand and execute inside a Workflow
A Workflow which contains a Worklet is called theparent Workflow
Worklets CAN be nested
Reusable Worklets create in the Worklet Designer
Non-reusable Worklets create in the WorkflowDesigner
Re-usable Worklet
In the Worklet Designer, select Worklets | Create
-
8/7/2019 informatica official
276/289
276
Tasks in a Worklet
WorkletsNode
Using a Reusable Worklet in a Workflow
-
8/7/2019 informatica official
277/289
277
Workletused in a
Workflow
Non-Reusable Worklet
1. Create worklet task inWorkflow Designer
2. Right-click on new worklet
-
8/7/2019 informatica official
278/289
278
gand select Open Worklet
3. Workspace switches toWorklet Designer
NOTE: Worklet
shows only underWorkflows node
-
8/7/2019 informatica official
279/289
279
Lab 21 Reusable Worklet and Decision Task
-
8/7/2019 informatica official
280/289
Lab 23 User Defined Event Event Raise
-
8/7/2019 informatica official
281/289
281
Lab 23 User-Defined Event, Event Raise,
and Event Wait
-
8/7/2019 informatica official
282/289
282
Parameters and VariablesReview
Types of Parameters and Variables
TYPE HOW DEFINED WHERE USED EXAMPLES
Mapping/
MappletVariables
Mapping/mapplet
properties. Reset byvariable functions.
Transformation port
expressions
$$LastUpdateTime
$$MaxValue
-
8/7/2019 informatica official
283/289
283
Mapping/MappletParameters
Mapping/mappletproperties. Constantfor session.
Transformation portexpressions
$$FixedCosts$$DiscountRate
SystemVariables
Built-in, pre-defined. Transformation portexpressions,
Workflow decisiontasks andconditional links.
SYSDATESESSSTARTIME
WORKFLOWSTARTTIME
TaskVariables
Built-in, pre-defined. Workflow decisiontasks andconditional links
$session1. Status$session1.ErrorCode
Workflow/
WorkletVariables
Workflow or worklet
properties. Reset inAssignment tasks.
Workflow decision
tasks andconditional links
$$NewStartTime
SessionParameters
Parameter file.Constant for session.
Session properties $DBConnectionORCL$InputFile1
Mappings& Mapplets
Workflows& Worklets
-
8/7/2019 informatica official
284/289
284
PowerCenter7.1 Options andData Access Products
PowerCenter 7.1 Options
Profile wizards, rules definitions, profile results tables,and standard reportsData ProfilingData Profiling
Allows export/import of metadata to or from businessintelligence tools like Business Objects and CognosMetadata Exchange with BIMetadata Exchange with BI
-
8/7/2019 informatica official
285/289
285
PowerCenterPowerCenter
RealReal--Time/Web ServicesTime/Web ServicesZ
L Engine, always-on non-stop sessions, JMSconnectivity, and real-time Web Services provider
Data CleansingData CleansingName and address cleansing functionality, includingdirectories forUS and certain international countries
PartitioningPartitioningData smart parallelism, pipeline and data parallelism,partitioning
Server engine, metadata repository, unlimited designers,workflow scheduler, all APIs and SDKs, unlimited XML andflat file sourcing and targeting, object export to XML file,LDAP authentication, role-based object-level security,metadata reporter, centralized monitoring
Server group management, automatic workflow distributionacross multiple heterogeneous serversServer GridServer Grid
Version control, deployment groups, configurationmanagement, automatic promotion
TeamTeam--Based DevelopmentBased Development
Virtual Classes
Watch for short web-based virtualclasses on most PowerCenter
-
8/7/2019 informatica official
286/289
286
options and XML support
Data Access PowerExchange
Provides access to all critical enterprise data systems,
including mainframe, midrange relational databases,and file-based systems
-
8/7/2019 informatica official
287/289
287
and file based systems
Offers batch, change capture and real-time options
PowerExchange 5.2 provides tight integration withPowerCenter 7.1.1 through the PowerExchange Clientfor PowerCenter
Supporting VSAM, IMS, DB2 (OS/390, AS/400), Oracle, ODBC
Data Access PowerCenter Connect
PowerCenter Connect options are currently available for:
Transactional Applications Real-time Services
-
8/7/2019 informatica official
288/289
288
Transactional Applications Hyperion Essbase PeopleSoft SAP R/3
SAP BW SAS Siebel
Real time Services HTTP JMS MSMQ
MQSeries TIBCOWebMethodsWeb Services
PowerCenter Connect SDK
Allows development of new PowerCenter Connect productsAvailable on the Informatica Developer Network
-
8/7/2019 informatica official
289/289