AWS Glue ETL - AWS Orientação prescritiva

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

AWS Glue ETL

AWS Glue O ETL suporta a extração de dados de várias fontes, transformando-os para atender às necessidades de sua empresa e carregá-los em um destino de sua escolha. Esse serviço usa o mecanismo Apache Spark para distribuir workloads de big data entre os nós de processamento, permitindo transformações mais rápidas com o processamento na memória.

AWS Glue suporta uma variedade de fontes de dados, incluindo Amazon Simple Storage Service (Amazon S3), Amazon DynamoDB e Amazon Relational Database Service (Amazon RDS). Para saber mais sobre as fontes de dados compatíveis, consulte Tipos de conexão e opções para ETL no AWS Glue.

Autoria em AWS Glue

AWS Glue fornece várias maneiras de criar trabalhos de ETL, dependendo de sua experiência e caso de uso:

  • As tarefas de shell do Python são projetadas para executar scripts ETL básicos criados em Python. Essas tarefas são executadas em uma única máquina e são mais adequadas para conjuntos de dados pequenos ou médios.

  • As tarefas do Apache Spark podem ser escritas em Python ou Scala. Essas tarefas utilizam o Spark para escalar horizontalmente workloads em vários nós de processamento, para que possam lidar com grandes conjuntos de dados e transformações complexas.

  • AWS Glue O ETL de streaming usa o mecanismo de streaming estruturado Apache Spark para transformar dados de streaming em trabalhos de microlote usando uma semântica de exatamente uma vez. Você pode criar trabalhos AWS Glue de streaming em Python ou Scala.

  • AWS Glue Studioé uma interface de boxes-and-arrows estilo visual para tornar o ETL baseado em Spark acessível a desenvolvedores que são novos na programação do Apache Spark.

Unidades de processamento de dados

AWS Glue usa unidades de processamento de dados (DPUs) para medir os recursos computacionais alocados para uma tarefa de ETL e calcular o custo. Cada DPU é equivalente a 4 vCPUs e 16 GB de memória. As DPUs devem ser alocadas para seu AWS Glue trabalho, dependendo da complexidade e do volume de dados. A alocação da quantidade adequada de DPUs permitirá que você equilibre as necessidades de desempenho com as restrições de custo.

AWS Glue fornece vários tipos de trabalhadores que são otimizados para várias cargas de trabalho:

  • G.1X ou G.2X (para a maioria das transformações, uniões e consultas de dados)

  • G.4X ou G.8X (para transformações de dados, agregações, junções e consultas mais exigentes)

  • G.025X (para fluxos de dados esporádicos e de baixo volume)

  • Padrão (para AWS Glue versões 1.0 ou anteriores; não recomendado para versões posteriores do AWS Glue)

Como utilizar o shell Python

Para uma tarefa de shell do Python, você pode utilizar 1 DPU para usar 16 GB de memória ou 0,0625 DPU para usar 1 GB de memória. O shell Python é destinado a trabalhos básicos de ETL com conjuntos de dados pequenos ou médios (até aproximadamente 10 GB).

Como comparar tipos de processamento

A tabela a seguir mostra os diferentes tipos de AWS Glue trabalhadores para cargas de trabalho em lote, streaming e AWS Glue Studio ETL usando o ambiente Apache Spark.

G.1X

G.2X

G.4X

G.8X

G.025X

Padrão

vCPU

4

8

16

32

2

4

Memória

16 GB

32 GB

64 GB

128 GB

4 GB

16 GB

Espaço em disco

64 GB

128 GB

256 GB

512 GB

64 GB

50 GB

Executor por processamento

1

1

1

1

2

DPU

1

2

4

8

0.25

1

O tipo de trabalhador padrão não é recomendado para a AWS Glue versão 2.0 e posterior. O tipo de trabalhador G.025X está disponível somente para trabalhos de streaming usando a AWS Glue versão 3.0 ou posterior.