AWS Glue
Gabriel Passos
O que é?
● ETL (extrair, transformar e carregar dados);
● + simples;
● > custo benefício;
● capaz de organizar, enriquecer, limpar e movimentar os
dados de uma fonte de dados para outra.
https://docs.aws.amazon.com/glue/latest/dg/what-is-glue.html
Características
● serverless
○ não é necessário a configuração, provisionar e governar o servidor
○ + agilidade
○ - custo**
● inferência da estrutura de dados
○ com uso de um componente, capaz de extrair da fonte de dados um
esquema e construir um catálogo.
○ persiste o esquema em tabelas.
Data Sources
● Data stores
○ S3
○ RDS
■ banco relacional no ambiente amazon
○ bancos com conexão JDBC
○ DynamoDB
■ NoSql
■ Chave-Valor (com suporte para armazenar documentos)
● Data stream
○ Apache Kafka
○ Amazon Kinesis Data Streams
Data Targets
● Data stores
○ S3
○ RDS
○ bancos com conexão JDBC
Componentes
● Data Sources
○ Fonte dos dados.
● Connection
○ Objeto com as propriedades para a conexão com determinada data
source.
Componentes
● Classifier
○ determina o tipo dos dados
○ suporte à JSON, CSV, AVRO, XML, bancos relacionais com conexão JDBC
○ customizável (pode ser escrito o próprio classifier)
● Crawler
○ programa capaz de conectar-se no data store (input e output)
○ filtra dentre os possíveis classificadores para construir as tabelas
Componentes
● Data Catalog
○ repositório centralizado de metadados
○ contêm definições de tabelas, jobs e outras
informações de controle para gerenciamento.
○ cada conta possui um catálogo por região
● Database
○ Conjunto de tabelas do catálogo organizadas em um
grupo lógico
Componentes
● Table
○ Definição da estrutura dos dados. Metadados
○ Consiste em por exemplo:
■ nome de colunas
■ tipificação
■ particionamento
○ Não contêm os dados em si
● Dynamic Frame
○ Tabela que suporta dados complexos como arrays e objetos
○ Pode ser combinado com Apache Spark no processo de ETL
Componentes
● Scripts
○ código que extrai, transforma e carrega os dados
○ AWS Glue gera código em PySpark e Scala
Componentes
● Job
○ scripts com a lógica de negócio que realiza a transformação dos dados
○ execução sob demanda ou a partir de triggers
● Triggers
○ inicialização do job
○ baseado em tempo - schedule
○ baseado em evento
Aws glue

Aws glue

  • 1.
  • 2.
    O que é? ●ETL (extrair, transformar e carregar dados); ● + simples; ● > custo benefício; ● capaz de organizar, enriquecer, limpar e movimentar os dados de uma fonte de dados para outra. https://docs.aws.amazon.com/glue/latest/dg/what-is-glue.html
  • 3.
    Características ● serverless ○ nãoé necessário a configuração, provisionar e governar o servidor ○ + agilidade ○ - custo** ● inferência da estrutura de dados ○ com uso de um componente, capaz de extrair da fonte de dados um esquema e construir um catálogo. ○ persiste o esquema em tabelas.
  • 4.
    Data Sources ● Datastores ○ S3 ○ RDS ■ banco relacional no ambiente amazon ○ bancos com conexão JDBC ○ DynamoDB ■ NoSql ■ Chave-Valor (com suporte para armazenar documentos) ● Data stream ○ Apache Kafka ○ Amazon Kinesis Data Streams
  • 5.
    Data Targets ● Datastores ○ S3 ○ RDS ○ bancos com conexão JDBC
  • 7.
    Componentes ● Data Sources ○Fonte dos dados. ● Connection ○ Objeto com as propriedades para a conexão com determinada data source.
  • 8.
    Componentes ● Classifier ○ determinao tipo dos dados ○ suporte à JSON, CSV, AVRO, XML, bancos relacionais com conexão JDBC ○ customizável (pode ser escrito o próprio classifier) ● Crawler ○ programa capaz de conectar-se no data store (input e output) ○ filtra dentre os possíveis classificadores para construir as tabelas
  • 9.
    Componentes ● Data Catalog ○repositório centralizado de metadados ○ contêm definições de tabelas, jobs e outras informações de controle para gerenciamento. ○ cada conta possui um catálogo por região ● Database ○ Conjunto de tabelas do catálogo organizadas em um grupo lógico
  • 10.
    Componentes ● Table ○ Definiçãoda estrutura dos dados. Metadados ○ Consiste em por exemplo: ■ nome de colunas ■ tipificação ■ particionamento ○ Não contêm os dados em si ● Dynamic Frame ○ Tabela que suporta dados complexos como arrays e objetos ○ Pode ser combinado com Apache Spark no processo de ETL
  • 11.
    Componentes ● Scripts ○ códigoque extrai, transforma e carrega os dados ○ AWS Glue gera código em PySpark e Scala
  • 12.
    Componentes ● Job ○ scriptscom a lógica de negócio que realiza a transformação dos dados ○ execução sob demanda ou a partir de triggers ● Triggers ○ inicialização do job ○ baseado em tempo - schedule ○ baseado em evento