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