SlideShare ist ein Scribd-Unternehmen logo
1 von 12
Training course goals
    • Develop and support solutions based on CloverETL
      technology
      – Compose and debug transformations in CloverETL Designer
      – Connect to any number of data sources or sinks (files,
        databases, web/cloud…)
      – Detect and react to errors in the data
      – Use CloverETL Server to process large amounts of data
      – Design and develop Job Flows to manage complex processes
      – Support existing solutions using CloverETL


1                                                        © 2013 Javlin; All rights reserved
Course modules: basics
    1.   CloverETL introduction
         CloverETL product family, basic terminology

    2.   First steps in CloverETL Designer
         Building transformations with basic components, reading and writing data

    3.   Error handling
         Properly handling input data errors and runtime errors

    4.   Common components and CTL programming
         Commonly used components and business rule development in CTL

    5.   Databases
         Connecting to databases and using them as data sources and targets


2                                                                                   © 2013 Javlin; All rights reserved
Course modules: advanced
    6.   Structured data
         Handling complex data formats like XML or JSON, using web services

    7.   Advanced graph design
         Complex transformation components, Java transformations and more

    8.   CloverETL Server
         Introduction to CloverETL Server, its user interface and execution environment

    9.   Jobflows
         Building jobflows to manage your processes on CloverETL Server

    10. Advanced CloverETL Server
         Advanced graph scheduling, using Launch Services and CloverETL Cluster


3                                                                                         © 2013 Javlin; All rights reserved
CloverETL product family
    • CloverETL is a whole family of products
      – Support for broad range of usage scenarios
      – Purely Java-based – supported on many operating systems
        • Windows, *nix, Linux, Mac


                           CloverETL          CloverETL
                           Designer             Server

                               CloverETL Engine
                                       Java

4                                                         © 2013 Javlin; All rights reserved
Metadata
    •   Metadata describe record structure and format
        –   Required for each edge used in the graph to define the format of the data flowing through
            that edge

    •   Structure defines fields in the record
        –   Unique (within record) field names
        –   Data types to determine type of information which can be stored in the record.
        –   Flat structure – no nesting is allowed

    •   Format defines rules for data input and output
        –   Format of the record: delimited, fixed-length or mixed
            •   Delimiters only apply when working with files
        –   Parsing rules for readers and formatting rules for writers
            •   Special formatting for numbers, date fields, …




5                                                                                        © 2013 Javlin; All rights reserved
Metadata types and fields
    •   Record type determines how to find the fields
        –   Delimited: fields are separated by delimiters
        –   Fixed-length: each fields has predefined number of
            characters
        –   Mixed: both types of fields in single record             Transaction
                                                                 1   transactionId          long


    •   Fields can be of various types                           2   accountNumber          long

        –   Numeric: integer, long, number, decimal              3   transactionType        string

        –   Text: string                                         4   amount                 decimal(20, 3)

        –   Boolean values: boolean                              5   timestamp              date
        –   Date and time: date
        –   Other: byte, cbyte
        –   Containers: list or map of a primitive type




6                                                                                © 2013 Javlin; All rights reserved
Field ordering matters
    •   Ordering of the fields is very important
        –   For parsing
        –   For output formatting
    •   Data is read/written in the same order in which            Transaction
        the fields are defined.                                1   transactionId          long

                                                               2   accountNumber          long

                                                               3   transactionType        string

                                                               4   amount                 decimal(20, 3)

                                                               5   timestamp              date




              1340817132,3293200814,D,59.940,20100102125243
              1340817156,5357054331,C,6.720,20100116080136
              1340817746,4270100470,D,194.920,20100323100706

7                                                                              © 2013 Javlin; All rights reserved
Reformat and CTL code
    • Transformation in Reformat can be written directly in CTL
      without using Visual Mode
      – Use all CTL features: control structures, error handling, logging…
      – Write comments explaining the complex parts of the code
    • Editor supports syntax highlighting, autocomplete and on-
      the-fly code validation




8                                                                   © 2013 Javlin; All rights reserved
Reformat code workflow
    Called during component initialization                             init

                                                                      Begin



    Called before the first record is processed.                  preExecute



    Main part of the transformation. Called


                                                   Next record
    once for each input record.
                                                                 backransform
                                                                    t        back              transformOnError
    Return value determines which port (if                                           Error
    any) receives the result.
                                                                                    Called only if transform caused an error.


    Called after the last record is processed
    immediately before component finishes.
                                                                  postExecute



                                                                       End
9                                                                                                                      © 2013 Javlin; All rights reserved
Data denormalization
                                       Account
     Original data                     accountId    customerId     balance        created       closed
     Multiple records grouped
     based on the key.                 9804568699   27345              2300.56    2011-11-14
                                       1108193472   27345              -1739.05   2005-07-22
                                       6054951154   27345              4500.60    2009-09-01    2010-04-30
                                       9459175447   27345              3200.80    2011-03-08




            Denormalize




                                       CustomerAccount
     Denormalized data                 s
     Single record containing values   customerId   totalBalance   accounts
     determined by processing the
                                       27345             8262.91   [9804568699, 1108193472, 6054951154, 9459175447]
     whole input group.

10                                                                                                 © 2013 Javlin; All rights reserved
Denormalizer
     • Converts data into denormalized form
       – Combine multiple records in a group into one output record
       – Output usually uses different metadata

     • Required configuration
       – Transformation code
         • Only CTL can be used, visual mode is not available
       – Grouping
         • Group can be defined based on a key or group size
         • If key is used, data has to be sorted


11                                                              © 2013 Javlin; All rights reserved
Denormalize code workflow
                                                                                      init

                                                                                      Begin
                                                                                                      transform and append have their own
                                                                                                      error handler. Each handler interrupts the
                                                                                 preExecute           group and resumes processing as if the
                                                                                                      group was processed as a whole.
     append is called once for each record in a




                                                                 Next record
     group. It is typically used to update global
                                                                               back append back                    appendOnError
     variables which are then used in transform
     function.

     transform is called once per group and is
                                                                                                     Error
     the only function which generates output                                  backransform
                                                                                  t        back                   transformOnError
     records.
                                                    Next group




     clean is called after each transform and
     can be used to clean-up internal variables.
                                                                               back   clean   back




                                                                                postExecute


                                                                                      End
12                                                                                                                                      © 2013 Javlin; All rights reserved

Weitere ähnliche Inhalte

Was ist angesagt?

JavaOne BOF 5957 Lightning Fast Access to Big Data
JavaOne BOF 5957 Lightning Fast Access to Big DataJavaOne BOF 5957 Lightning Fast Access to Big Data
JavaOne BOF 5957 Lightning Fast Access to Big DataBrian Martin
 
ODTUG KSCOPE 2018 - REST APIs for FDMEE and Cloud Data Management
ODTUG KSCOPE 2018 - REST APIs for FDMEE and Cloud Data ManagementODTUG KSCOPE 2018 - REST APIs for FDMEE and Cloud Data Management
ODTUG KSCOPE 2018 - REST APIs for FDMEE and Cloud Data ManagementFrancisco Amores
 
Intro in JavaEE world (TU Olomouc)
Intro in JavaEE world (TU Olomouc)Intro in JavaEE world (TU Olomouc)
Intro in JavaEE world (TU Olomouc)blahap
 
Arch stylesandpatternsmi
Arch stylesandpatternsmiArch stylesandpatternsmi
Arch stylesandpatternsmilord14383
 
DB2 for z/OS Architecture in Nutshell
DB2 for z/OS Architecture in NutshellDB2 for z/OS Architecture in Nutshell
DB2 for z/OS Architecture in NutshellCuneyt Goksu
 
HFM API Deep Dive – Making a Better Financial Management Client
HFM API Deep Dive – Making a Better Financial Management ClientHFM API Deep Dive – Making a Better Financial Management Client
HFM API Deep Dive – Making a Better Financial Management ClientCharles Beyer
 
ODTUG KSCOPE 2017 - Black Belt Techniques for FDMEE and Cloud Data Management
ODTUG KSCOPE 2017 - Black Belt Techniques for FDMEE and Cloud Data ManagementODTUG KSCOPE 2017 - Black Belt Techniques for FDMEE and Cloud Data Management
ODTUG KSCOPE 2017 - Black Belt Techniques for FDMEE and Cloud Data ManagementFrancisco Amores
 
Three key concepts for java batch
Three key concepts for java batchThree key concepts for java batch
Three key concepts for java batchtimfanelli
 
DDS vs DDS4CCM
DDS vs DDS4CCMDDS vs DDS4CCM
DDS vs DDS4CCMRemedy IT
 
JavaOne2013: Implement a High Level Parallel API - Richard Ning
JavaOne2013: Implement a High Level Parallel API - Richard NingJavaOne2013: Implement a High Level Parallel API - Richard Ning
JavaOne2013: Implement a High Level Parallel API - Richard NingChris Bailey
 
FDMEE Taking Source Filters to the Next Level
FDMEE Taking Source Filters to the Next LevelFDMEE Taking Source Filters to the Next Level
FDMEE Taking Source Filters to the Next LevelFrancisco Amores
 

Was ist angesagt? (12)

JavaOne BOF 5957 Lightning Fast Access to Big Data
JavaOne BOF 5957 Lightning Fast Access to Big DataJavaOne BOF 5957 Lightning Fast Access to Big Data
JavaOne BOF 5957 Lightning Fast Access to Big Data
 
ODTUG KSCOPE 2018 - REST APIs for FDMEE and Cloud Data Management
ODTUG KSCOPE 2018 - REST APIs for FDMEE and Cloud Data ManagementODTUG KSCOPE 2018 - REST APIs for FDMEE and Cloud Data Management
ODTUG KSCOPE 2018 - REST APIs for FDMEE and Cloud Data Management
 
Intro in JavaEE world (TU Olomouc)
Intro in JavaEE world (TU Olomouc)Intro in JavaEE world (TU Olomouc)
Intro in JavaEE world (TU Olomouc)
 
Arch stylesandpatternsmi
Arch stylesandpatternsmiArch stylesandpatternsmi
Arch stylesandpatternsmi
 
DB2 for z/OS Architecture in Nutshell
DB2 for z/OS Architecture in NutshellDB2 for z/OS Architecture in Nutshell
DB2 for z/OS Architecture in Nutshell
 
HFM API Deep Dive – Making a Better Financial Management Client
HFM API Deep Dive – Making a Better Financial Management ClientHFM API Deep Dive – Making a Better Financial Management Client
HFM API Deep Dive – Making a Better Financial Management Client
 
ODTUG KSCOPE 2017 - Black Belt Techniques for FDMEE and Cloud Data Management
ODTUG KSCOPE 2017 - Black Belt Techniques for FDMEE and Cloud Data ManagementODTUG KSCOPE 2017 - Black Belt Techniques for FDMEE and Cloud Data Management
ODTUG KSCOPE 2017 - Black Belt Techniques for FDMEE and Cloud Data Management
 
Three key concepts for java batch
Three key concepts for java batchThree key concepts for java batch
Three key concepts for java batch
 
DDS vs DDS4CCM
DDS vs DDS4CCMDDS vs DDS4CCM
DDS vs DDS4CCM
 
JavaOne2013: Implement a High Level Parallel API - Richard Ning
JavaOne2013: Implement a High Level Parallel API - Richard NingJavaOne2013: Implement a High Level Parallel API - Richard Ning
JavaOne2013: Implement a High Level Parallel API - Richard Ning
 
Ta3
Ta3Ta3
Ta3
 
FDMEE Taking Source Filters to the Next Level
FDMEE Taking Source Filters to the Next LevelFDMEE Taking Source Filters to the Next Level
FDMEE Taking Source Filters to the Next Level
 

Ähnlich wie CloverETL Training Sample

Consolidated shared indexes in real time
Consolidated shared indexes in real timeConsolidated shared indexes in real time
Consolidated shared indexes in real timeJeff Mace
 
026 Neo4j Data Loading (ETL_ELT) Best Practices - NODES2022 AMERICAS Advanced...
026 Neo4j Data Loading (ETL_ELT) Best Practices - NODES2022 AMERICAS Advanced...026 Neo4j Data Loading (ETL_ELT) Best Practices - NODES2022 AMERICAS Advanced...
026 Neo4j Data Loading (ETL_ELT) Best Practices - NODES2022 AMERICAS Advanced...Neo4j
 
Presenter manual embedded systems (specially for summer interns)
Presenter manual   embedded systems (specially for summer interns)Presenter manual   embedded systems (specially for summer interns)
Presenter manual embedded systems (specially for summer interns)XPERT INFOTECH
 
Teach your application eloquence. Logs, metrics, traces - Dmytro Shapovalov (...
Teach your application eloquence. Logs, metrics, traces - Dmytro Shapovalov (...Teach your application eloquence. Logs, metrics, traces - Dmytro Shapovalov (...
Teach your application eloquence. Logs, metrics, traces - Dmytro Shapovalov (...Ruby Meditation
 
Introduction to MySQL Cluster
Introduction to MySQL ClusterIntroduction to MySQL Cluster
Introduction to MySQL ClusterAbel Flórez
 
Real-world Entity Framework
Real-world Entity FrameworkReal-world Entity Framework
Real-world Entity FrameworkLynn Langit
 
(ATS3-DEV04) Introduction to Pipeline Pilot Protocol Development for Developers
(ATS3-DEV04) Introduction to Pipeline Pilot Protocol Development for Developers(ATS3-DEV04) Introduction to Pipeline Pilot Protocol Development for Developers
(ATS3-DEV04) Introduction to Pipeline Pilot Protocol Development for DevelopersBIOVIA
 
Building a Database for the End of the World
Building a Database for the End of the WorldBuilding a Database for the End of the World
Building a Database for the End of the Worldjhugg
 
SDN Controller - Programming Challenges
SDN Controller - Programming ChallengesSDN Controller - Programming Challenges
SDN Controller - Programming Challengessnrism
 
Django è pronto per l'Enterprise
Django è pronto per l'EnterpriseDjango è pronto per l'Enterprise
Django è pronto per l'EnterprisePyCon Italia
 
triAGENS simplevoc vs_memcached
triAGENS simplevoc vs_memcachedtriAGENS simplevoc vs_memcached
triAGENS simplevoc vs_memcachedtriAGENS
 
SimpleVoc vs Memcached
SimpleVoc vs MemcachedSimpleVoc vs Memcached
SimpleVoc vs Memcachedtriagens
 
OpenTravel XML Object Suite - Component Model
OpenTravel XML Object Suite - Component ModelOpenTravel XML Object Suite - Component Model
OpenTravel XML Object Suite - Component ModelOpenTravel Alliance
 
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...Maarten Balliauw
 
(ATS3-PLAT07) Pipeline Pilot Protocol Tips, Tricks, and Challenges
(ATS3-PLAT07) Pipeline Pilot Protocol Tips, Tricks, and Challenges(ATS3-PLAT07) Pipeline Pilot Protocol Tips, Tricks, and Challenges
(ATS3-PLAT07) Pipeline Pilot Protocol Tips, Tricks, and ChallengesBIOVIA
 

Ähnlich wie CloverETL Training Sample (20)

Consolidated shared indexes in real time
Consolidated shared indexes in real timeConsolidated shared indexes in real time
Consolidated shared indexes in real time
 
026 Neo4j Data Loading (ETL_ELT) Best Practices - NODES2022 AMERICAS Advanced...
026 Neo4j Data Loading (ETL_ELT) Best Practices - NODES2022 AMERICAS Advanced...026 Neo4j Data Loading (ETL_ELT) Best Practices - NODES2022 AMERICAS Advanced...
026 Neo4j Data Loading (ETL_ELT) Best Practices - NODES2022 AMERICAS Advanced...
 
Presenter manual embedded systems (specially for summer interns)
Presenter manual   embedded systems (specially for summer interns)Presenter manual   embedded systems (specially for summer interns)
Presenter manual embedded systems (specially for summer interns)
 
Ice
IceIce
Ice
 
Teach your application eloquence. Logs, metrics, traces - Dmytro Shapovalov (...
Teach your application eloquence. Logs, metrics, traces - Dmytro Shapovalov (...Teach your application eloquence. Logs, metrics, traces - Dmytro Shapovalov (...
Teach your application eloquence. Logs, metrics, traces - Dmytro Shapovalov (...
 
Erlang/Elixir and OTP
Erlang/Elixir and OTPErlang/Elixir and OTP
Erlang/Elixir and OTP
 
Introduction to MySQL Cluster
Introduction to MySQL ClusterIntroduction to MySQL Cluster
Introduction to MySQL Cluster
 
Real-world Entity Framework
Real-world Entity FrameworkReal-world Entity Framework
Real-world Entity Framework
 
(ATS3-DEV04) Introduction to Pipeline Pilot Protocol Development for Developers
(ATS3-DEV04) Introduction to Pipeline Pilot Protocol Development for Developers(ATS3-DEV04) Introduction to Pipeline Pilot Protocol Development for Developers
(ATS3-DEV04) Introduction to Pipeline Pilot Protocol Development for Developers
 
VoltDB.ppt
VoltDB.pptVoltDB.ppt
VoltDB.ppt
 
Building a Database for the End of the World
Building a Database for the End of the WorldBuilding a Database for the End of the World
Building a Database for the End of the World
 
Datastage Online Training
Datastage Online TrainingDatastage Online Training
Datastage Online Training
 
SDN Controller - Programming Challenges
SDN Controller - Programming ChallengesSDN Controller - Programming Challenges
SDN Controller - Programming Challenges
 
Django è pronto per l'Enterprise
Django è pronto per l'EnterpriseDjango è pronto per l'Enterprise
Django è pronto per l'Enterprise
 
triAGENS simplevoc vs_memcached
triAGENS simplevoc vs_memcachedtriAGENS simplevoc vs_memcached
triAGENS simplevoc vs_memcached
 
SimpleVoc vs Memcached
SimpleVoc vs MemcachedSimpleVoc vs Memcached
SimpleVoc vs Memcached
 
OpenTravel XML Object Suite - Component Model
OpenTravel XML Object Suite - Component ModelOpenTravel XML Object Suite - Component Model
OpenTravel XML Object Suite - Component Model
 
L04 loading metadata
L04 loading metadataL04 loading metadata
L04 loading metadata
 
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
 
(ATS3-PLAT07) Pipeline Pilot Protocol Tips, Tricks, and Challenges
(ATS3-PLAT07) Pipeline Pilot Protocol Tips, Tricks, and Challenges(ATS3-PLAT07) Pipeline Pilot Protocol Tips, Tricks, and Challenges
(ATS3-PLAT07) Pipeline Pilot Protocol Tips, Tricks, and Challenges
 

Mehr von CloverDX (formerly known as CloverETL) (6)

CloverETL is now CloverDX
CloverETL is now CloverDXCloverETL is now CloverDX
CloverETL is now CloverDX
 
GDPR Is Happening!
GDPR Is Happening!GDPR Is Happening!
GDPR Is Happening!
 
CloverETL Provides Data Prep for Tableau
CloverETL Provides Data Prep for TableauCloverETL Provides Data Prep for Tableau
CloverETL Provides Data Prep for Tableau
 
Spiefel wählt CloverETL für medien dataintegration
Spiefel wählt CloverETL für medien dataintegrationSpiefel wählt CloverETL für medien dataintegration
Spiefel wählt CloverETL für medien dataintegration
 
CloverETL and Tableau integration
CloverETL and Tableau integrationCloverETL and Tableau integration
CloverETL and Tableau integration
 
Introduction to ETL and Data Integration
Introduction to ETL and Data IntegrationIntroduction to ETL and Data Integration
Introduction to ETL and Data Integration
 

Kürzlich hochgeladen

Dubai Call Girls O525547819 Spring Break Fast Call Girls Dubai
Dubai Call Girls O525547819 Spring Break Fast Call Girls DubaiDubai Call Girls O525547819 Spring Break Fast Call Girls Dubai
Dubai Call Girls O525547819 Spring Break Fast Call Girls Dubaikojalkojal131
 
NO1 Certified Black Magic Specialist Expert In Bahawalpur, Sargodha, Sialkot,...
NO1 Certified Black Magic Specialist Expert In Bahawalpur, Sargodha, Sialkot,...NO1 Certified Black Magic Specialist Expert In Bahawalpur, Sargodha, Sialkot,...
NO1 Certified Black Magic Specialist Expert In Bahawalpur, Sargodha, Sialkot,...Amil Baba Dawood bangali
 
美国IUB学位证,印第安纳大学伯明顿分校毕业证书1:1制作
美国IUB学位证,印第安纳大学伯明顿分校毕业证书1:1制作美国IUB学位证,印第安纳大学伯明顿分校毕业证书1:1制作
美国IUB学位证,印第安纳大学伯明顿分校毕业证书1:1制作ss846v0c
 
专业一比一美国旧金山艺术学院毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degree
专业一比一美国旧金山艺术学院毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degree专业一比一美国旧金山艺术学院毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degree
专业一比一美国旧金山艺术学院毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degreeyuu sss
 
(办理学位证)韩国汉阳大学毕业证成绩单原版一比一
(办理学位证)韩国汉阳大学毕业证成绩单原版一比一(办理学位证)韩国汉阳大学毕业证成绩单原版一比一
(办理学位证)韩国汉阳大学毕业证成绩单原版一比一C SSS
 
RBS学位证,鹿特丹商学院毕业证书1:1制作
RBS学位证,鹿特丹商学院毕业证书1:1制作RBS学位证,鹿特丹商学院毕业证书1:1制作
RBS学位证,鹿特丹商学院毕业证书1:1制作f3774p8b
 
Real Sure (Call Girl) in I.G.I. Airport 8377087607 Hot Call Girls In Delhi NCR
Real Sure (Call Girl) in I.G.I. Airport 8377087607 Hot Call Girls In Delhi NCRReal Sure (Call Girl) in I.G.I. Airport 8377087607 Hot Call Girls In Delhi NCR
Real Sure (Call Girl) in I.G.I. Airport 8377087607 Hot Call Girls In Delhi NCRdollysharma2066
 
毕业文凭制作#回国入职#diploma#degree美国威斯康星大学麦迪逊分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#d...
毕业文凭制作#回国入职#diploma#degree美国威斯康星大学麦迪逊分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#d...毕业文凭制作#回国入职#diploma#degree美国威斯康星大学麦迪逊分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#d...
毕业文凭制作#回国入职#diploma#degree美国威斯康星大学麦迪逊分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#d...ttt fff
 
办理(CSU毕业证书)澳洲查理斯特大学毕业证成绩单原版一比一
办理(CSU毕业证书)澳洲查理斯特大学毕业证成绩单原版一比一办理(CSU毕业证书)澳洲查理斯特大学毕业证成绩单原版一比一
办理(CSU毕业证书)澳洲查理斯特大学毕业证成绩单原版一比一diploma 1
 
existing product research b2 Sunderland Culture
existing product research b2 Sunderland Cultureexisting product research b2 Sunderland Culture
existing product research b2 Sunderland CultureChloeMeadows1
 
NO1 Certified Vashikaran Specialist in Uk Black Magic Specialist in Uk Black ...
NO1 Certified Vashikaran Specialist in Uk Black Magic Specialist in Uk Black ...NO1 Certified Vashikaran Specialist in Uk Black Magic Specialist in Uk Black ...
NO1 Certified Vashikaran Specialist in Uk Black Magic Specialist in Uk Black ...Amil baba
 
the cOMPUTER SYSTEM - computer hardware servicing.pptx
the cOMPUTER SYSTEM - computer hardware servicing.pptxthe cOMPUTER SYSTEM - computer hardware servicing.pptx
the cOMPUTER SYSTEM - computer hardware servicing.pptxLeaMaePahinagGarciaV
 
专业一比一美国加州州立大学东湾分校毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degree
专业一比一美国加州州立大学东湾分校毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degree专业一比一美国加州州立大学东湾分校毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degree
专业一比一美国加州州立大学东湾分校毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degreeyuu sss
 
Call Girls In Munirka>༒9599632723 Incall_OutCall Available
Call Girls In Munirka>༒9599632723 Incall_OutCall AvailableCall Girls In Munirka>༒9599632723 Incall_OutCall Available
Call Girls In Munirka>༒9599632723 Incall_OutCall AvailableCall Girls in Delhi
 
Erfurt FH学位证,埃尔福特应用技术大学毕业证书1:1制作
Erfurt FH学位证,埃尔福特应用技术大学毕业证书1:1制作Erfurt FH学位证,埃尔福特应用技术大学毕业证书1:1制作
Erfurt FH学位证,埃尔福特应用技术大学毕业证书1:1制作f3774p8b
 
1:1原版定制美国加州州立大学东湾分校毕业证成绩单pdf电子版制作修改#真实留信入库#永久存档#真实可查#diploma#degree
1:1原版定制美国加州州立大学东湾分校毕业证成绩单pdf电子版制作修改#真实留信入库#永久存档#真实可查#diploma#degree1:1原版定制美国加州州立大学东湾分校毕业证成绩单pdf电子版制作修改#真实留信入库#永久存档#真实可查#diploma#degree
1:1原版定制美国加州州立大学东湾分校毕业证成绩单pdf电子版制作修改#真实留信入库#永久存档#真实可查#diploma#degreeyuu sss
 
Vip Udupi Call Girls 7001305949 WhatsApp Number 24x7 Best Services
Vip Udupi Call Girls 7001305949 WhatsApp Number 24x7 Best ServicesVip Udupi Call Girls 7001305949 WhatsApp Number 24x7 Best Services
Vip Udupi Call Girls 7001305949 WhatsApp Number 24x7 Best Servicesnajka9823
 
Hindu amil baba kala jadu expert in pakistan islamabad lahore karachi atar ...
Hindu amil baba kala jadu expert  in pakistan islamabad lahore karachi atar  ...Hindu amil baba kala jadu expert  in pakistan islamabad lahore karachi atar  ...
Hindu amil baba kala jadu expert in pakistan islamabad lahore karachi atar ...amilabibi1
 

Kürzlich hochgeladen (20)

Dubai Call Girls O525547819 Spring Break Fast Call Girls Dubai
Dubai Call Girls O525547819 Spring Break Fast Call Girls DubaiDubai Call Girls O525547819 Spring Break Fast Call Girls Dubai
Dubai Call Girls O525547819 Spring Break Fast Call Girls Dubai
 
NO1 Certified Black Magic Specialist Expert In Bahawalpur, Sargodha, Sialkot,...
NO1 Certified Black Magic Specialist Expert In Bahawalpur, Sargodha, Sialkot,...NO1 Certified Black Magic Specialist Expert In Bahawalpur, Sargodha, Sialkot,...
NO1 Certified Black Magic Specialist Expert In Bahawalpur, Sargodha, Sialkot,...
 
美国IUB学位证,印第安纳大学伯明顿分校毕业证书1:1制作
美国IUB学位证,印第安纳大学伯明顿分校毕业证书1:1制作美国IUB学位证,印第安纳大学伯明顿分校毕业证书1:1制作
美国IUB学位证,印第安纳大学伯明顿分校毕业证书1:1制作
 
专业一比一美国旧金山艺术学院毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degree
专业一比一美国旧金山艺术学院毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degree专业一比一美国旧金山艺术学院毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degree
专业一比一美国旧金山艺术学院毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degree
 
(办理学位证)韩国汉阳大学毕业证成绩单原版一比一
(办理学位证)韩国汉阳大学毕业证成绩单原版一比一(办理学位证)韩国汉阳大学毕业证成绩单原版一比一
(办理学位证)韩国汉阳大学毕业证成绩单原版一比一
 
RBS学位证,鹿特丹商学院毕业证书1:1制作
RBS学位证,鹿特丹商学院毕业证书1:1制作RBS学位证,鹿特丹商学院毕业证书1:1制作
RBS学位证,鹿特丹商学院毕业证书1:1制作
 
young call girls in Khanpur,🔝 9953056974 🔝 escort Service
young call girls in  Khanpur,🔝 9953056974 🔝 escort Serviceyoung call girls in  Khanpur,🔝 9953056974 🔝 escort Service
young call girls in Khanpur,🔝 9953056974 🔝 escort Service
 
Real Sure (Call Girl) in I.G.I. Airport 8377087607 Hot Call Girls In Delhi NCR
Real Sure (Call Girl) in I.G.I. Airport 8377087607 Hot Call Girls In Delhi NCRReal Sure (Call Girl) in I.G.I. Airport 8377087607 Hot Call Girls In Delhi NCR
Real Sure (Call Girl) in I.G.I. Airport 8377087607 Hot Call Girls In Delhi NCR
 
毕业文凭制作#回国入职#diploma#degree美国威斯康星大学麦迪逊分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#d...
毕业文凭制作#回国入职#diploma#degree美国威斯康星大学麦迪逊分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#d...毕业文凭制作#回国入职#diploma#degree美国威斯康星大学麦迪逊分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#d...
毕业文凭制作#回国入职#diploma#degree美国威斯康星大学麦迪逊分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#d...
 
young call girls in Gtb Nagar,🔝 9953056974 🔝 escort Service
young call girls in Gtb Nagar,🔝 9953056974 🔝 escort Serviceyoung call girls in Gtb Nagar,🔝 9953056974 🔝 escort Service
young call girls in Gtb Nagar,🔝 9953056974 🔝 escort Service
 
办理(CSU毕业证书)澳洲查理斯特大学毕业证成绩单原版一比一
办理(CSU毕业证书)澳洲查理斯特大学毕业证成绩单原版一比一办理(CSU毕业证书)澳洲查理斯特大学毕业证成绩单原版一比一
办理(CSU毕业证书)澳洲查理斯特大学毕业证成绩单原版一比一
 
existing product research b2 Sunderland Culture
existing product research b2 Sunderland Cultureexisting product research b2 Sunderland Culture
existing product research b2 Sunderland Culture
 
NO1 Certified Vashikaran Specialist in Uk Black Magic Specialist in Uk Black ...
NO1 Certified Vashikaran Specialist in Uk Black Magic Specialist in Uk Black ...NO1 Certified Vashikaran Specialist in Uk Black Magic Specialist in Uk Black ...
NO1 Certified Vashikaran Specialist in Uk Black Magic Specialist in Uk Black ...
 
the cOMPUTER SYSTEM - computer hardware servicing.pptx
the cOMPUTER SYSTEM - computer hardware servicing.pptxthe cOMPUTER SYSTEM - computer hardware servicing.pptx
the cOMPUTER SYSTEM - computer hardware servicing.pptx
 
专业一比一美国加州州立大学东湾分校毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degree
专业一比一美国加州州立大学东湾分校毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degree专业一比一美国加州州立大学东湾分校毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degree
专业一比一美国加州州立大学东湾分校毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degree
 
Call Girls In Munirka>༒9599632723 Incall_OutCall Available
Call Girls In Munirka>༒9599632723 Incall_OutCall AvailableCall Girls In Munirka>༒9599632723 Incall_OutCall Available
Call Girls In Munirka>༒9599632723 Incall_OutCall Available
 
Erfurt FH学位证,埃尔福特应用技术大学毕业证书1:1制作
Erfurt FH学位证,埃尔福特应用技术大学毕业证书1:1制作Erfurt FH学位证,埃尔福特应用技术大学毕业证书1:1制作
Erfurt FH学位证,埃尔福特应用技术大学毕业证书1:1制作
 
1:1原版定制美国加州州立大学东湾分校毕业证成绩单pdf电子版制作修改#真实留信入库#永久存档#真实可查#diploma#degree
1:1原版定制美国加州州立大学东湾分校毕业证成绩单pdf电子版制作修改#真实留信入库#永久存档#真实可查#diploma#degree1:1原版定制美国加州州立大学东湾分校毕业证成绩单pdf电子版制作修改#真实留信入库#永久存档#真实可查#diploma#degree
1:1原版定制美国加州州立大学东湾分校毕业证成绩单pdf电子版制作修改#真实留信入库#永久存档#真实可查#diploma#degree
 
Vip Udupi Call Girls 7001305949 WhatsApp Number 24x7 Best Services
Vip Udupi Call Girls 7001305949 WhatsApp Number 24x7 Best ServicesVip Udupi Call Girls 7001305949 WhatsApp Number 24x7 Best Services
Vip Udupi Call Girls 7001305949 WhatsApp Number 24x7 Best Services
 
Hindu amil baba kala jadu expert in pakistan islamabad lahore karachi atar ...
Hindu amil baba kala jadu expert  in pakistan islamabad lahore karachi atar  ...Hindu amil baba kala jadu expert  in pakistan islamabad lahore karachi atar  ...
Hindu amil baba kala jadu expert in pakistan islamabad lahore karachi atar ...
 

CloverETL Training Sample

  • 1. Training course goals • Develop and support solutions based on CloverETL technology – Compose and debug transformations in CloverETL Designer – Connect to any number of data sources or sinks (files, databases, web/cloud…) – Detect and react to errors in the data – Use CloverETL Server to process large amounts of data – Design and develop Job Flows to manage complex processes – Support existing solutions using CloverETL 1 © 2013 Javlin; All rights reserved
  • 2. Course modules: basics 1. CloverETL introduction CloverETL product family, basic terminology 2. First steps in CloverETL Designer Building transformations with basic components, reading and writing data 3. Error handling Properly handling input data errors and runtime errors 4. Common components and CTL programming Commonly used components and business rule development in CTL 5. Databases Connecting to databases and using them as data sources and targets 2 © 2013 Javlin; All rights reserved
  • 3. Course modules: advanced 6. Structured data Handling complex data formats like XML or JSON, using web services 7. Advanced graph design Complex transformation components, Java transformations and more 8. CloverETL Server Introduction to CloverETL Server, its user interface and execution environment 9. Jobflows Building jobflows to manage your processes on CloverETL Server 10. Advanced CloverETL Server Advanced graph scheduling, using Launch Services and CloverETL Cluster 3 © 2013 Javlin; All rights reserved
  • 4. CloverETL product family • CloverETL is a whole family of products – Support for broad range of usage scenarios – Purely Java-based – supported on many operating systems • Windows, *nix, Linux, Mac CloverETL CloverETL Designer Server CloverETL Engine Java 4 © 2013 Javlin; All rights reserved
  • 5. Metadata • Metadata describe record structure and format – Required for each edge used in the graph to define the format of the data flowing through that edge • Structure defines fields in the record – Unique (within record) field names – Data types to determine type of information which can be stored in the record. – Flat structure – no nesting is allowed • Format defines rules for data input and output – Format of the record: delimited, fixed-length or mixed • Delimiters only apply when working with files – Parsing rules for readers and formatting rules for writers • Special formatting for numbers, date fields, … 5 © 2013 Javlin; All rights reserved
  • 6. Metadata types and fields • Record type determines how to find the fields – Delimited: fields are separated by delimiters – Fixed-length: each fields has predefined number of characters – Mixed: both types of fields in single record Transaction 1 transactionId long • Fields can be of various types 2 accountNumber long – Numeric: integer, long, number, decimal 3 transactionType string – Text: string 4 amount decimal(20, 3) – Boolean values: boolean 5 timestamp date – Date and time: date – Other: byte, cbyte – Containers: list or map of a primitive type 6 © 2013 Javlin; All rights reserved
  • 7. Field ordering matters • Ordering of the fields is very important – For parsing – For output formatting • Data is read/written in the same order in which Transaction the fields are defined. 1 transactionId long 2 accountNumber long 3 transactionType string 4 amount decimal(20, 3) 5 timestamp date 1340817132,3293200814,D,59.940,20100102125243 1340817156,5357054331,C,6.720,20100116080136 1340817746,4270100470,D,194.920,20100323100706 7 © 2013 Javlin; All rights reserved
  • 8. Reformat and CTL code • Transformation in Reformat can be written directly in CTL without using Visual Mode – Use all CTL features: control structures, error handling, logging… – Write comments explaining the complex parts of the code • Editor supports syntax highlighting, autocomplete and on- the-fly code validation 8 © 2013 Javlin; All rights reserved
  • 9. Reformat code workflow Called during component initialization init Begin Called before the first record is processed. preExecute Main part of the transformation. Called Next record once for each input record. backransform t back transformOnError Return value determines which port (if Error any) receives the result. Called only if transform caused an error. Called after the last record is processed immediately before component finishes. postExecute End 9 © 2013 Javlin; All rights reserved
  • 10. Data denormalization Account Original data accountId customerId balance created closed Multiple records grouped based on the key. 9804568699 27345 2300.56 2011-11-14 1108193472 27345 -1739.05 2005-07-22 6054951154 27345 4500.60 2009-09-01 2010-04-30 9459175447 27345 3200.80 2011-03-08 Denormalize CustomerAccount Denormalized data s Single record containing values customerId totalBalance accounts determined by processing the 27345 8262.91 [9804568699, 1108193472, 6054951154, 9459175447] whole input group. 10 © 2013 Javlin; All rights reserved
  • 11. Denormalizer • Converts data into denormalized form – Combine multiple records in a group into one output record – Output usually uses different metadata • Required configuration – Transformation code • Only CTL can be used, visual mode is not available – Grouping • Group can be defined based on a key or group size • If key is used, data has to be sorted 11 © 2013 Javlin; All rights reserved
  • 12. Denormalize code workflow init Begin transform and append have their own error handler. Each handler interrupts the preExecute group and resumes processing as if the group was processed as a whole. append is called once for each record in a Next record group. It is typically used to update global back append back appendOnError variables which are then used in transform function. transform is called once per group and is Error the only function which generates output backransform t back transformOnError records. Next group clean is called after each transform and can be used to clean-up internal variables. back clean back postExecute End 12 © 2013 Javlin; All rights reserved

Hinweis der Redaktion

  1. CloverETL product family can easily fit different usage scenarios:Open source CloverETL Engine for very small or hobby projectsStandalone CloverETL Designer for small projectsCloverETL Server (includes Designer) for medium to large projectsCloverETL Enterprise Server for large projects, optionally can support clustering for even better performance
  2. Each metadata defines a record structure which is used when parsing the data in reader components or writing the output in writer components. To make the work easier, each record has its own name. Note that the name does not have to be unique within a graph – Clover uses internal identifiers (metadata id) to distinguish between different records with the same name. It is however strongly recommended that the record names are unique to prevent confusion during the development of larger graphs.Each record name has to be a valid identifier and therefore can only contain letters, numbers and underscores. Record names are case-sensitive when used in code.Each record can contain any number of fields of various types. Fields only have simple types and it is not possible to nest records into each other like in Java or other popular languages. Each field has to have a name which is unique within the record. Field names have to be identifiers as well and therefore they have to conform to the same rules as record names.
  3. Record types:Delimited: whole record defines a delimiter between records and each field can have its own delimiter which separates it from the next field. Clover supports delimiters with multiple characters and each delimiter can be different.Fixed-length: each field has predefined width and no delimiters are used.Mixed: some of the fields are delimited and some of the fields have fixed length.Field types:boolean: simple true/false valueinteger: signed integer number, 32-bit (minimum value is -2 147 483 648; maximum is 2 147 483 647)long: signed integer number, 64-bit (minimum is -9 223 372 036 854 775 808; maximum is -9 223 372 036 854 775 807)number: a floating-point number (64-bit IEEE 754 double precision, same as Java double data type).string: a character string. All strings are unicode and are represented in UTF-16. The maximum length of a string is 2^32-1 (the maximum value of integer).date: represents a date with millisecond precision. Note that it is possible to specify the date formatting via custom format string. Clover supports two libraries for date formatting – built-in Java standard library and Joda time library. More details about the formatting options provided by these libraries can be found online:Built-in Java library: formatting performed by java.util.SimpleDateFormat class, online documentation at http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.htmlJoda time: formatting performed by org.joda.time.format.DateTimeFormatter class with configuration specified as DateTimeFormat class, online documentation for formatting strings can be found at http://joda-time.sourceforge.net/apidocs/org/joda/time/format/DateTimeFormat.htmldecimal: a fixed-precision number with configurable precision. Two parameters – length and scale – define the total number of digits and the number of digits after decimal point.byte, cbyte: array of bytes. cbyte is compressed in memory so it can be used for larger data.It is also possible to use containers for field values. Clover supports lists and maps of primitive data types. For maps, the map is always map[string, X] where X is the data type specified in the metadata. Note that not all components support these types in full (for example it is not possible to use them as keys for sorting etc.).
  4. Programmable components in CloverETL all use set of functions which are called in a specific order when processing the data. In general, the components contain initialization functions (init and preExecute) which are called before the record processing starts. Then usually one “main” function (like transform or generate) which is called once for each incoming record. Finally, after all data is processed, postExecute is called.Only the main function is mandatory – other functions (initialization and post-processing) are optional and you do not need to provide their implementations. All onError functions (like transformOnError) are optional as well – if they are not specified, the processing fails whenever an error is encountered.Some of the components (e.g. RollUp) contain multiple functions which are called for each record. See later modules for more details on advanced programming in Clover.The function prototypes are automatically created for you when you create new transformation (i.e. when you first try to open transformation code after adding a component to the graph). Optional functions are commented out in the source and you can uncomment them if needed.
  5. Onlytransform and append functions are mandatory. All other functions mentioned on the slide can be left unimplemented.Note: it is not possible to access fields from the input record in transform function. The transformation will crash if you attempt to use anything from the input port. It is therefore necessary to store all the data you need in a variable. For example, it is possible to create instance of a record and copy the data via wildcard mappings:InputMetadata temp;temp.* = $in.0.*;InputMetadata is of course name of the metadata coming through the input port.Note: it is not possible to access output ports in append function.