Top Banner

of 39

Presentation Determination

Apr 07, 2018

Download

Documents

SANJAY DUBEY
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 8/4/2019 Presentation Determination

    1/39

    Determination

    Presented By :

    Rupal Bhatt

    Mikky Mahant

    Jateen Makawana

    Sanjay Dubey

    1

  • 8/4/2019 Presentation Determination

    2/39

    2

  • 8/4/2019 Presentation Determination

    3/39

    Ports

    All input / outputSpecify a Filter Condition

    UsageFilters rows from inputflow

    Filter Transformation

    Drops rows conditionally

  • 8/4/2019 Presentation Determination

    4/39

    Can sort data from relational tables or flat files

    Sort takes place on the Informatica Server machine

    Multiple sort keys are supported

    The Sorter transformation is often more efficient than a sortperformed on a database with an ORDER BY clause

    Sorter Transformation

  • 8/4/2019 Presentation Determination

    5/39

    contd

    PortsAll input / outputDefine one or more sort

    keysDefine sort order for eachkey

    Example of UsageSort data beforeAggregator to improveperformance

    Sorts data from any source, at any point in a data flowSort Keys

    Sort Order

  • 8/4/2019 Presentation Determination

    6/39

    Cache size can beadjusted. Default is8MbServer uses twice thecache listed

    Ensure sufficientmemory is available onthe Informatica Server(else the Session Taskwill fail)

    Properties

    contd

  • 8/4/2019 Presentation Determination

    7/39

    PortsMixedVariables allowedGroup By allowedCreate expressions in outputports

    UsageStandard aggregations

    Aggregator Transformation

    Performs aggregate calculations

  • 8/4/2019 Presentation Determination

    8/39

    AVGCOUNTFIRSTLASTMAXMEDIAN

    MINPERCENTILESTDDEVSUMVARIANCE

    Functions

    Return summary values for non-null data in selected portsUse only in AggregatortransformationsUse in output ports only

    Calculate a single value (and row)for all records in a groupOnly one aggregate function can benested within an aggregate functionConditional statements can be used

    with these functions

    contd

  • 8/4/2019 Presentation Determination

    9/39

    Instructs theAggregator to expectthe data to be sorted

    Set Aggregator cachesizes for InformaticaServer machine

    Properties

    Sorted Input Property

    contd

  • 8/4/2019 Presentation Determination

    10/39

    Sorted Data

    Aggregator can handle sorted or unsorted dataSorted data can be aggregated more efficiently, decreasing totalprocessing time

    The Server will cache data from each group and release thecached data

    upon reaching the first record of the next group

    Data mustbe sorted according to the order of the Aggregators

    Group By ports

    Performance gain will depend upon variable factors

    contd

  • 8/4/2019 Presentation Determination

    11/39

    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

  • 8/4/2019 Presentation Determination

    12/39

    Active Transformation

    Ports

    All input or input / outputM denotes port comesfrom master source

    ExamplesJoin two flat filesJoin two tables from

    different databasesJoin a flat file with arelational table

    Joiner Transformation

    Performs heterogeneous joins on different data flows

  • 8/4/2019 Presentation Determination

    13/39

    Joiner Conditions

    Multiple join conditionsare supported

    contd

  • 8/4/2019 Presentation Determination

    14/39

    Joiner Properties

    Join types:Normal (inner)Master outer

    Detail outerFull outer

    Set Joiner Caches

    Joiner can accept sorted data (configure the join condition to use the sort origin ports)

    contd

  • 8/4/2019 Presentation Determination

    15/39

    For each mapping row, one or more port values are looked up in adatabase 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 Transformation

    Lookup valuesLookup transformation

    Return values

  • 8/4/2019 Presentation Determination

    16/39

    Ports

    Mixed

    L denotes Lookup port

    R denotes port used as areturn value (forunconnected Lookups)

    Specify the Lookup Condition

    Usage

    Get related values Verify if a record exists or if

    data has changed

    Looks up values in a database table or flat file andprovides data to other components in a mapping

    contd

  • 8/4/2019 Presentation Determination

    17/39

    Lookup Conditions

    Multiple conditionsare supported

    contd

  • 8/4/2019 Presentation Determination

    18/39

    Lookup table name

    Lookup Condition

    Native database connectionobject name

    Source type(database or flat file)

    Lookup Properties

    contd

  • 8/4/2019 Presentation Determination

    19/39

    Policy on multiple match:

    Use first value Use last value

    Report Error

    Lookup Properties

    contd

  • 8/4/2019 Presentation Determination

    20/39

    Caching can significantly impact performance

    Cached

    Looked 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 in theLookup table is small relative to the number of mapping rowsrequiring the lookup

    Lookup Caching

    contd

  • 8/4/2019 Presentation Determination

    21/39

    By default, Lookup caches are not persistent; when the session

    completes, the cache is erased

    Cache can be made persistent with the Lookup properties

    When the Session completes, the persistent cache is stored on theserver hard disk

    The next time the Session runs, cached data is loaded fully orpartially into the RAM and reused

    A named persistent cache may be shared by different sessions

    Can improve performance, but stale data may pose a problem

    Persistent Caching

    contd

  • 8/4/2019 Presentation Determination

    22/39

  • 8/4/2019 Presentation Determination

    23/39

    Make cache persistent

    Set Lookup cache sizes

    Set prefix for persistentcache file name

    Reload persistent cache

    contd

  • 8/4/2019 Presentation Determination

    24/39

    To maintain referential integrity, primary keys must be loadedbefore their corresponding foreign keys: in order tgt1, tgt2, tgt3

    Constraint-based Loading

    PK1

    PK2

    PK2

    PK3

    PK3

    contd

  • 8/4/2019 Presentation Determination

    25/39

    Setting Constraint-based Loading

    contd

  • 8/4/2019 Presentation Determination

    26/39

    Active transformation

    Can operate on groups of data rows and/or can change the number ofrows 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 NOTE: 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 - Terminology

    contd

  • 8/4/2019 Presentation Determination

    27/39

    Example 1

    With only one Active source,rows for targets 1, 2, and 3will be loaded properlyand maintain referentialintegrity

    Example 2:

    With two Active sources, it isnot possible to controlwhether rows for tgt3 willbe loaded before or afterthose for tgt2

    Constraint-based Loading - Restrictions

    Cannot have two active groups

    PK1

    PK2

    PK2

    PK3

    PK3

    PK1

    PK2

    PK2

    PK3

    PK3

    contd

  • 8/4/2019 Presentation Determination

    28/39

    Ports

    All input / output

    Specify the UpdateStrategy Expression IIF or DECODElogic determineshow to handle therecord

    Example Updating Slowly

    ChangingDimensions

    Update Strategy Transformation

    Used to specify how each individual row will be used toupdate target tables (insert, update, delete, reject)

  • 8/4/2019 Presentation Determination

    29/39

    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. Thetarget will not see that row

    Rejected rows may be forwarded through Mapping

    Update Strategy Expressions

    contd

  • 8/4/2019 Presentation Determination

    30/39

    Router Transformation

    Sequence Generator Transformation Normalizer Transformation

    Rank Transformation

    Union Transformation

    Other Transformations

  • 8/4/2019 Presentation Determination

    31/39

    Mapplets are created in the mapplet designer

    Mapplets are used when you want to use a standardizedset of transformation logic in several mappings When you use a mapplet in a mapping only the input and

    output ports from the transformations are viewed

    Mapplets

    Mapplet

  • 8/4/2019 Presentation Determination

    32/39

    Mapplets help simplify mappings in the following ways: Include source definitions. You can include multiple source

    definitions and qualifiers to provide data for a mapping.

    Accept data from sources in a mapping. If you want the mapplet toaccept data from a mapping you can use an input transformation to

    receive source data. Include multiple transformations. A mapping can contain as many

    transformations as you need.

    Pass data to multiple transformations. You can create a mapplet tofeed data to multiple transformations in the mapping.

    Contain unused ports. You do not have to use all input and outputports in a mapplet.

    Reusable. A complex mapplet can be used in multiple mappings

    contd

  • 8/4/2019 Presentation Determination

    33/39

    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

    Mapplet Advantages

    contd

  • 8/4/2019 Presentation Determination

    34/39

    Do not use the following in a mapplet:

    XML source definitions

    Target definitions Other mapplets

    Unsupported Transformations

    contd

  • 8/4/2019 Presentation Determination

    35/39

    Internal Sources

    One or more Source definitions / Source Qualifiers within theMapplet

    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 a Mapplet Inputtransformation AND one or more Source Qualifiers

    Receives data from the Mapping it is used in, AND from theMapplet

    Mapplet Source Options

    contd

  • 8/4/2019 Presentation Determination

    36/39

  • 8/4/2019 Presentation Determination

    37/39

    Define once, use many times Can be a copy or a shortcut

    Edit Ports only in Transformation Developer

    Can edit Properties in the mapping

    Instances dynamically inherit changes

    Caution: change reusable transformations can invalidatemappings

    Note: Source Qualifier Transformations cannot be made reusable

    Reusable Transformations

  • 8/4/2019 Presentation Determination

    38/39

    This copy action must be done within the same folder

    Hold down the Ctrl key and drag a Reusable transformation fromthe Navigator window into a mapping (Mapping Designer tool)

    A message appears in the status bar:

    Make a non-reusable copy of this transformation and add it to thismapping

    Drop the transformation into the mapping

    Save the changes to the Repository

    Copying Reusable Transformations

    contd

  • 8/4/2019 Presentation Determination

    39/39

    Thank You