Tecnologias Oracle Para DW Oracle Data Integrator - ETL - UFSCar

Transcription

Tecnologias Oracle para DWOracle Data Integrator - ETLProcessamento Analítico de DadosProfa. Dra. Cristina Dutra de Aguiar CiferriBruno TomazelaRenata Miwa Tsuruda

Agenda ãoReferências2

Agenda ãoReferências3

Oracle–EdiçõesdosDBsOracle erpriseEdi?onPE–PersonalEdi?onXE–ExpressEdi?on paraau?lizaçãoplenadeDataWarehouse.4

der ent- ‐Driven5

der Interfacegráficadedesenvolvimento Arquiteturaaberta Geração/Reengenhariadecódigos6

OracleDataIntegra?onSuite Cria,implantaegerenciadatawarehousescomplexos te consistentesentresistemascomplexos7

OracleDataIntegra?onSuite ProdutosETLdasuite– OracleDataIntegrator(ODI)– OracleDataIntegra?onEnterpriseEdi?on– OracleDataQualityandProfiling– OracleChangedDataCapture(CDC)8

Agenda ãoReferências9

OracleDataIntegrator(ODI) Flexibilidade– SGBD,XML,File,Excelemuitosoutros– tentes AltaPerformance:– E- ‐LT–Extract,LoadandTransform– ChangedDataCapture10

OracleDataIntegrator(ODI) Controlederestriçõeseconsistência– Geraçãoderegrasdeintegridade lasinterfaces– Isolamentodeerrose/oureciclagem Iden?ficafaltadeentradadedados11

OracleDataIntegrator(ODI) Interoperabilidade– SuportatodosospadrõesJavaeSOA– Hot- ‐Plugabble(KnowledgeModules) Produ?vidade– Declara?veDesign– KnowledgeModules12

Oracle–ArquiteturaE- ‐LT Códigona?voparatodososDBssuportados �priosbancossource/target Eficiênciasemparalelo Reduzefe?vamenteTCO13

OracleE- ‐LT Extrac?on– deextraçãoLoad– CarregaosdadosjátransformadosnoDWTransforma?on– ssodetransformação14

Diferenciais–Declara?veDesigneKnowledgeModules Ambientevirtualdedesenvolvimento– Declara?veDesign “Oque”seráextraídoetransformado– KnowledgeModules(Templates) ocesso15

Agenda ãoReferências16

DemonstraçãodoOracleDataIntegrator Project[Oracle,2008]– Limpezadosdadospormeioderegrasdeintegridade– – Automa?zaçãodoprocessodeETL17

EstudodeCaso:AdministraçãodeVendas18

OrdersApplica?on(HSQLDB)19

Parameters(arquivotextoCSV)20

SalesAdministra?on(DW)21

Agenda ãoReferências22

InicializandooOracleDataIntegrator Iniciaroambientededemonstração– Iniciar Programas Oracle OracleDataIntegrator Examples StartDemoEnvironment IniciaroDesigner– Iniciar Programas Oracle OracleDataIntegrator Designer Parafecharoambiente– Iniciar Programas Oracle OracleDataIntegrator Examples StopDemoEnvironment23

Agenda ãoReferências24

LimpezadosDados Verificaraconsistênciadosdadosdasfontes– Restriçõesdeintegridade– Regrasdenegócio Permiteanalisaroserrosiden?ficados Corrigirerroscasonecessário25

LimpezadosDados Restriçõesdoestudodecaso– Idadedosclientesdevesermaiorque21anos– Restriçãodechaveestrangeira:FK26

LimpezadosDados CriarasrestriçõesnatabelaSRC CUSTOMER:– Condição:Age 21– Referência:FK SRC CUSTOMER SRC CITY Executarasrestrições Verificarorelatóriodeerros27

Agenda ãoReferências28

TransformaçãodosDados Quaistransformaçõesqueremos:– ObterTRG CUSTOMER.AGE RANGEapar?rdeSRC AGE GROUP.AGE RANGEeSRC CUSTOMER.AGEIdade do cliente(SRC CUSTOMER - HSQL)XFaixa de idade do cliente(TRG CUSTOMER - HSQL)Faixa de Idade(SRC SALES PERS - txt)29

TransformaçãodosDados Quaistransformaçõesqueremos:– ObterTRG CUSTOMER.SALES PERSdeSRC SALES PERS.FIRST NAMEeSRC SALES PERS.LAST NAMEapar?rdeSRC CUSTOMER.SALES PERS IDPrimeiro e último nome dorepresentante de vendas(SRC SALES PERS - txt)XNome do representante(TRG CUSTOMER - HSQL)Id do representante de vendas(SRC CUSTOMER - HSQL)30

TransformaçãodosDados Quaistransformaçõesqueremos:– Transformarovalornumérico(0,1,2)presenteemSRC lvaremTRG CUSTOMER.DEAR0, 1, 2(SRC CUSTOMER - HSQL)XPronome de tratamento(TRG CUSTOMER - HSQL)0 – Mr1 – Mrs2 – Ms31

TransformaçãodosDados Quaistransformaçõesqueremos:– ObterTRG CUSTOMER.CUST NAMEapar?rdeSRC CURSTOMER.FIRST NAMEeSRC CURSTOMER.LAST NAMEPrimeiro e último nome do cliente(SRC CUSTOMER - HSQL)Nome do cliente(TRG CUSTOMER - HSQL)32

TransformaçãodosDados33

TransformaçãodosDados34

TransformaçãodosDados35

TransformaçãodosDados DefinindoosJOINSentreasfontesdedados36

TransformaçãodosDados DefinindoosJOINSentreasfontesdedados37

TransformaçãodosDados orammapeadosautoma?camente.– CUST ID:clicaremCUST IDearrastarSRC ção”.– DEAR:comporaseguinteexpressão: CASEWHEN(SRC CUSTOMER.DEAR 0, 'MR',CASEWHEN(SRC CUSTOMER.DEAR 1, 'MRS','MS'))38

TransformaçãodosDados Definindoasregrasdetransformação– CUST NAME:Comporaseguinteexpressão: SRC CUSTOMER.FIRST NAME ' ' UCASE(SRC CUSTOMER.LAST NAME)– SALES PERS:Comporaseguinteexpressão: SRC SALES PERSON.FIRST NAME ' ' UCASE(SRC SALES PERSON.LAST NAME)39

TransformaçãodosDados Definindoasregrasdetransformação– CRE inteexpressão: CURDATE()– UPD inteexpressão: CURDATE()40

TransformaçãodosDados Nesteponto,deveremosterestatabelademapeamento.41

TransformaçãodosDados Escolhendoestratégiasdecarregamentodosdados– ratransformaçãodosdados42

TransformaçãodosDados Escolhendoestratégiasdeintegraçãodosdados– Cliquenajanela“Target �43

TransformaçãodosDados Escolhendoestratégiasdecontroledosdados– Váparaaaba“Control”44

TransformaçãodosDados ueem“Execute”,salveainterface .TRG números.45

TransformaçãodosDados Verificandooresultado– mobotãodireitoemTRG CUSTOMEReem“Data”.46

TransformaçãodosDados Verificandoerros– çãodedados.Paravisualizá- ‐los,cliquecomobotãodireitoem“TRG CUSTOMER” “Control” “Errors”47

TransformaçãodosDados dedados Por exemplo: ocliente com Id 203está registradocom uma cidadenão registrada(208), quando naverdade a cidadecorreta é a com Id107. Basta alterareste valor e clicarem “Execute” najanela “Interface”.48

Agenda ãoReferências49

InterfaceparaaTabelaTRG SALES Definirjunçãoentre– SRC ORDERS– SRC ORDER LINES50

InterfaceparaaTabelaTRG SALES Regrasdetransformaçãodedados:– Somentepedidoscomstatus ‘CLO’(closed)– Definirfiltronoatributostatus: SRC ORDERS.STATUS ‘CLO’51

InterfaceparaaTabelaTRG SALES Regrasparatransformaçãodedados:– FIRST ORD ID:menorORDER ID MIN(SRC ORDERS.ORDER ID)– FIRST ORD DATE:menordatadepedido MIN(SRC ORDERS.ORDER DATE)– LAST ORD ID:maiorORDER ID MAX(SRC ORDERS.ORDER ID)– LAST ORD DATE:maiordatadepedido MAX(SRC ORDERS.ORDER DATE)52

InterfaceparaaTabelaTRG SALES Regrasparatransformaçãodedados:– QTY:totaldaquan?dadedeprodutosvendidos SUM(SRC ORDER LINES.QTY)– AMOUNT:totaldevendadosprodutos SUM(SRC ORDER LINES.AMOUNT)– PROD AVG PRICE:preçomédiodevendadosprodutos AVG(SRC ORDER LINES.AMOUNT)53

InterfaceparaaTabelaTRG SALES Regrasparatransformaçãodedados:54

InterfaceparaaTabelaTRG SALES rdados:wrapper– AbaFlow/Fluxo DataLoadingStrategy(LKM):LKMSQLtoSQL– MaisinformaçõessobreLKMem[Oracle,2009]55

InterfaceparaaTabelaTRG SALES ConfigurarKMparaintegraçãodosdados– AbaFlow/Fluxo DataIntegra?onStrategy(IKM):– IKMSQLIncrementalUpdate– MaisinformaçõessobreLKMem[Oracle,2009]56

InterfaceparaaTabelaTRG SALES ConfigurarKMparaverificaçãodosdados:– AbaControl/Controle DataControlStrategy:CKMHSQL Restrições– PK TRG SALES– FK SALES CUST(chaveestrangeiraSRC CUSTOMER)– FK SALES PROD(chaveestrangeiraSRC PRODUCT)– MaisinformaçõessobreCKMem[Oracle,2009]57

InterfaceparaaTabelaTRG SALES Executarinterface- ‐verresultadoeerros58

Agenda ãoReferências59

Automa?zaçãodaCargadosDadosnoDW DefinirofluxocorretoparaacargadedadosnoDW– Usarinterfacespreviamentedefinidas– Atençãoparaaordemdecarga: Dependênciasdechavesestrangeiras60

124356761

Automa?zaçãodaCargadosDadosnoDW Criarpackage“LoadSalesAdministra?on”:– Procedimento“DeleteTargets”– “Pop.TRG COUNTRY”interface– “Pop.TRG REGION”interface– “Pop.TRG CITY”interface– “Pop.TRG PROD FAMILY”interface– “Pop.TRG PRODUCT”interface– “Pop.TRG CUSTOMER”interface– “Pop.TRG SALES”interface62

Automa?zaçãodaCargadosDadosnoDW63

Automa?zaçãodaCargadosDadosnoDW – Criarscenario64

Automa?zaçãodaCargadosDadosnoDW ExecutarscenariodoSistemaOperacional– etóriobin– Digitarocomando: startscenLOAD SALES ADMINISTRATION001GLOBAL"- ‐v 2"65

Agenda ãoReferências66

Conclusão ProcessoETLnoOracleDataIntegrator– Limpezadosdados Constraints– ExtraçãoeTransformaçãodosdados Interfaces– Automa?zaçãodacargadedados Packagesescenarios67

Agenda ãoReferências68

Referências hanETLProject.Disponívelem h}p://download.oracle.com/docs/cd/E15985 01/doc.10136/getstart/GSETL.pdf .Acessoem21set.2010. gRelease3(10.1.3).Disponívelem h}p://download.oracle.com/docs/cd/E15985 01/doc.10136/user/ODICU.pdf .Acessoem21set.2010.69

Tecnologias Oracle para DW Oracle Data Integrator - ETL Processamento Analítico de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Bruno Tomazela