260 likes | 280 Views
Learn about the highly-reusable and flexible ETL Engine, designed to streamline data integration from disparate sources through extraction, transformation, and loading processes. Explore features and benefits with screenshots included.
E N D
Introduction • Concept • Implemented Extracts • Implemented Transforms • Implemented Loads • Features • Screenshots
Introduction • Purpose • To make Schneider Electric projects successful by reducing the development effort required to create new data adapter applications. • To help us meet the common project requirement of integrating data from disparate data sources, and to do so in a flexible way. • Description • The ETL Engine: A flexible, highly-reusable, field-configurable, and low-effort interoperability tool.
Introduction • Concept • Implemented Extracts • Implemented Transforms • Implemented Loads • Features • Screenshots
Concept • “ETL” stands for “Extract, Transform, Load” • Extract data from a particular system or data source • Transform the data in some way • Load the data into another system • Each part can replaced with a different component, creating a new data adapter. • New data adapters can be assembled using the existing toolset, or new parts can be created.
Concept - Jobs • A Job is the highest level container in the ETL Engine. • Jobs contain two or more ETL Tasks, and some additional properties. • ETL Jobs are responsible for... • executing constituent tasks • persisting state between job executions (via XML serialization)
Concept - Tasks • ETL Tasks are worker classes that perform one specific function. • Tasks fall into three main categories: • Extract Tasks read data from a particular data source and convert it into a format the ETL Engine can understand. • Transform Tasks modify data in some way. • Load Tasks write data into a particular system. • ETL jobs must contain one extract task, zero or more transform tasks, and one load task
Concepts – Data Flow Transform Extract Load Alias, Scale System 1 System 2
Introduction • Concept • Implemented Extracts • Implemented Transforms • Implemented Loads • Features • Screenshots
Extracts Generic • Delimited File (CSV): various formats of CSV • ODBC SQL • CMEP Data Collection/SCADA • ION EEM* • ION Enterprise • PI (OSI Soft)* • SMS (AR,NonAR) • PrimeRead* BAS • JCI Metasys • TAC Vista (in progress) • TAC Continuum (in progress) Device Formats • EGX 300 On-line Systems • EPO/EVO • NOAA Weather Data Environment • Canada Weather Data * Uses generic ODBC query
Introduction • Concept • Implemented Extracts • Implemented Transforms • Implemented Loads • Features • Screenshots
Transforms • Time shift • Interval derivation
Introduction • Concept • Implemented Extracts • Implemented Transforms • Implemented Loads • Features • Screenshots
Loads • EnergyCAP • ION EEM • ION Enterprise 6 • CMEP (used by EPO/EVO) • HTML • ION MeterM@il Pushmessaging Email format • Vizelia
Introduction • Concept • Implemented Extracts • Implemented Transforms • Implemented Loads • Features • Screenshots
Features • Multithreaded Task Execution • Improves performance • Built into the ETL Engine to save task developers effort • Logging using log4Net • Error Log • Trace Log • Data Trace Log • Windows event log • Email Notifications
Introduction • Concept • Implemented Extracts • Implemented Transforms • Implemented Loads • Features • Screenshots
Tactical Solutions admin Tool • Create, edit, delete and control a job
Job • Name a job, set the sleep time between the execution when run as a service
Task Setup • Add tasks to a job and configure the task settings Any “E” can be connected to any “L” task Properties are defined programmatically for any task, values configured by user
Mappings • Maps names in source system to names in destination system
Position Counter Setup • User can reset the positions for individual source measurement pairs by initializing the value
Logging • Contains logging options for Data Trace, Error, custom, Windows Event logs and Email notifications
Advanced • Control over low level application operation settings
Control • User controls the execution of a job