230 likes | 379 Views
Extraction and Transformation of Data from Semi-Structured Text Files Using a Declarative Approach. Ricardo Fortuna Raminhos Faculdade de Ciências e Tecnologia Universidade Nova de Lisboa. 1. 2. 3. 4. 5. Motivação Abordagem Solução Caso de Estudo Conclusões e Trabalho Futuro.
E N D
Extraction and Transformation of Data from Semi-Structured Text Files Using a Declarative Approach • Ricardo Fortuna Raminhos • Faculdade de Ciências e Tecnologia Universidade Nova de Lisboa
1. 2. 3. 4. 5. Motivação Abordagem Solução Caso de Estudo Conclusões e Trabalho Futuro
Motivação - O quê? ETL = Extracção + Transformação + Carregamento (Loading)
Motivação – Pressupostos Comuns ao ETL Abordagem comum ao ETL: + Dados Estruturados BD XML + Fontes de Dados Técnicas + Metadados e Documentação Mas... Novas Fontes de Dados: Informação Semi-Estruturada Fontes de Dados Simples Ficheiros Metadados ou Documentação Reduzidos APIs JMS
Motivação – Dados Semi-Estruturados Metadados sobre o Ficheiro Metadados sobre os Dados Dados :Data_list: 20050430_ace_mag_1m.txt :Created: 2005 May 01 0009 UT # Prepared by the U.S. Dept. of Commerce, NOAA, Space Environment Center. # Please send comments and suggestions to SEC.Webmaster@noaa.gov # # Magnetometer values are in GSM coordinates. # # Units: Bx, By, Bz, Bt in nT # Units: Latitude degrees +/- 90.0 # Units: Longitude degrees 0.0 - 360.0 # Status(S): 0 = nominal data, 1 to 8 = bad data record, 9 = no data # Missing data values: -999.9 # Source: ACE Satellite - Magnetometer # # 1-minute averaged Real-time Interplanetary Magnetic Field Values # # Modified Seconds # UT Date Time Julian of the ---------------- GSM Coordinates --------------- # YR MO DA HHMM Day Day S Bx By Bz Bt Lat. Long. #------------------------------------------------------------------------------------ 2005 04 30 0000 53490 0 0 8.5 -3.1 -9.9 13.4 -47.5 339.9 2005 04 30 0001 53490 60 0 8.5 -1.8 -10.3 13.5 -50.0 347.9 2005 04 30 0002 53490 120 0 7.7 -0.9 -10.9 13.4 -54.4 353.2 2005 04 30 0003 53490 180 0 6.7 0.5 -11.6 13.4 -60.0 3.9 2005 04 30 0004 53490 240 0 7.6 -3.3 -9.4 12.6 -48.5 336.5 2005 04 30 0005 53490 300 0 7.4 -0.5 -10.3 12.7 -54.1 356.3 2005 04 30 0006 53490 360 0 7.7 -0.9 -10.1 12.7 -52.3 353.3 2005 04 30 0007 53490 420 0 8.0 -1.2 -9.7 12.6 -50.3 351.5 2005 04 30 0008 53490 480 0 8.1 -2.0 -9.4 12.6 -48.3 346.2 2005 04 30 0009 53490 540 0 8.5 -1.9 -9.0 12.6 -46.0 347.4 2005 04 30 0010 53490 600 0 8.7 -2.2 -8.9 12.6 -44.8 346.1
Motivação – Fontes de Dados Comuns Perito Informático Documentação Interface Interface de Acesso aos Dados Modelo Relacional Perito Domínio Modelo XML Modelo de Troca de Mensagens Modelo Base de Dados MSG XML Dados
Motivação – Novas Fontes de Dados ???? Perito Informático Dados OK! Perito Domínio Sistema SESS + Simplicidade de Acesso aos Dados + Informação Semi-Estruturada + Dificuldade na compreensão do domínio por não especialistas Como identificar os dados relevantes?
Motivação – Interacção Apropriada? ) ( Identificação de dados relevantes I D Codificação do processo de extracção Regras de qualidade de dados Codificação das regras de qualidade Informação relevante e formato dos dados Codificação, Codificação, Codificação Múltiplas validações e sugestões... Correções, Correções, Correções... X 100 Interacção Demorada! Erros de Modelação e Validação Frequentes!
Abordagem – Divisão do Conhecimento? ETL Clássico Extraction: Dados Normalizados + Qualidade Dados + Metadados Descritivos Conhecimento de Domínio Conhecimento Informático Conhecimento = Domínio + Informático Como dividir? Staging Area Extraction Transformation Data Delivery Integration Loading Aquisição de dados Qualidade dos dados Transformação de formatos Entrega de informação relevante Integração de dados de fontes diferentes Integração de dados temporais Formatação para carregamento Execução da rotina de carregamento ETL = ETD + IL (Tese)
Abordagem – Como Implementar? + Abstracção e Adequação ao Conhecimento de Domínio - Editor gráfico que permite a anotação sobre os dados através de interacção gráfica Editor gráfico Abordagem declarativa X Código fonte
Solução - Requisitos Desenho da Solução Engenharia da Implementação • Modularidade • Reutilização • Escalabilidade • Desempenho • Tolerância a Falhas + Interacção Intuitiva + Correcção + Validação + Rastreabilidade + Completude
Solução - Arquitectura File Format Definition Language
Solução - Tecnologias Web Services SWT XML XML Schema XML File Format Definition Language
Solução – Modelo da Linguagem Sectioned File + Section Definitions Field Partioned File + Field Definitions Transformed File + Transformation Definitions + Field Partioned File Data Delivery File + Data Delivery Definitions Input File
Solução – Fluxo do Editor Validação do FFD E T D
Solução – Editor / Extracção Dividir para conquistar Seccionamento = Delimitado V Contíguo Qualidade da estrutura: Regras de Validação Campos = Singulares V Tabulares Qualidade de dados = Tipagem + Regras de Validação Mapeamento interno para expressões regulares
Solução – Editor / Transformação f() output V f(input) output input = Campo extraído V Resultado transformação Biblioteca de transformações (abordagem de plugins) Tipagem de dados ao nível de cada transformação Representação clássica como um grafo
Solução – Editor / Entrega de Dados Interface entre ETD e IL Definição de raíz versus template pré-definido = E x Campos Extraídos + T x Resultados Transformação Tipagem de dados
Caso de Estudo - Conceito SESS = Space Environment Support System Dados = Ambiente Espacial (Spaceweather) + Telemetria
Caso de Estudo - Utilização Fontes (8) = FTP (2) + HTTP (5) + Web Services (1) Ficheiros (63) = Ambiente Espacial (62) + Telemetria (1) Parâmetros (749) = Ambiente Espacial (636) + Telemetria (113) E funciona? Sim!
Caso de Estudo - Estatísticas 62% 4000 Ficheiros descarregados diariamente 140 MB tráfego rede = 40 MB compressão em disco 1 KB <= Tamanho Ficheiro <= 3,5 MB (Telemetria) Tamanho Médio = 35KB 1 segundo <= Tempo Processamento <= 30 segundos Tempo Médio = 2 segundos E a criação de definições de formatos? Projecto SEIS (sem Editor Gráfico) 4 meses (1 pessoa) Projecto SESS 1 + ½ meses (1 pessoa)
Conclusões e Trabalho Futuro Em muitos casos ETD + IL é a melhor abordagem ao ETL Extensão das capacidades do Editor + Interacção com o utilizador + Inteligência + Tipos de ficheiros de dados (e.g. HTML)
Obrigado! Ricardo Raminhos raminhos.ricardo@gmail.com http://raminhos.ricardo.googlepages.com/