Desenvolvimento de conectores personalizados
Você pode escrever código para ler ou gravar dados no seu datastore e formatar esses dados para usá-los com trabalhos do AWS Glue Studio. Você pode criar conectores para armazenamentos de dados do Spark, Athena e JDBC. O código de exemplo publicado no GitHub fornece uma visão geral das interfaces básicas que você precisa implantar.
Você precisará de um ambiente de desenvolvimento local para criar seu código de conector. Você pode usar qualquer IDE ou até mesmo um simples editor de linha de comando para escrever seu conector. Exemplos de ambientes de desenvolvimento incluem:
-
Um ambiente Scala local com uma biblioteca local de ETL Maven do AWS Glue, conforme descrito em Desenvolver localmente com o Scala no Guia do desenvolvedor do AWS Glue.
-
IntelliJ IDE, baixando o IDE de https://www.jetbrains.com/idea/
.
Tópicos
Desenvolvimento de conectores do Spark
Você pode criar um conector do Spark para ler dados com o Spark DataSource API V2 (Spark 2.4).
Para criar um conector personalizado do Spark
Para desenvolver conectores do Spark, siga as etapas na biblioteca de exemplo do GitHub do AWS Glue, que está localizada em https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/Spark/README.md
Desenvolvimento de conectores do Athena
Você pode criar um conector do Athena para ser usado pelo AWS Glue e pelo AWS Glue Studio para consultar uma origem dos dados personalizada.
Para criar um conector personalizado do Athena
Para desenvolver conectores do Athena, siga as etapas na biblioteca de exemplo do GitHub do AWS Glue, que está localizada em https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/Athena
Desenvolvimento de conectores do JDBC
Você pode criar um conector que usa o JDBC para acessar seus armazenamentos de dados.
Para criar um conector do JDBC personalizado
-
Instale as bibliotecas do runtime Spark do AWS Glue em seu ambiente de desenvolvimento local. Consulte as instruções na biblioteca de exemplo do GitHub do AWS Glue em https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/GlueSparkRuntime/README.md
. -
Implante o driver do JDBC responsável por recuperar dados da origem dos dados. Consulte a documentação do Java
para o Java SE 8. Crie um ponto de entrada dentro do seu código que o AWS Glue Studio usará para localizar seu conector. O campo Class name (Nome da classe) deve ser o caminho completo do driver do JDBC.
-
Use a API
GlueContext
para ler dados com o conector. Os usuários podem adicionar mais opções de entrada no console do AWS Glue Studio para configurar a conexão com a origem dos dados, se necessário. Para obter um código de exemplo que mostra como ler e gravar em um banco de dados JDBC com um conector JDBC personalizado, consulte Valores de connectionType do AWS Marketplace e personalizados.
Exemplos de uso de conectores personalizados com o AWS Glue Studio
Você pode consultar os seguintes blogs para obter exemplos de uso de conectores personalizados:
-
Apache Hudi: Escrever tabelas Apache Hudi usando o AWS Glue Conector Personalizado
-
Google BigQuery: Dados migratórios do Google BigQuery para o Amazon S3 usando os AWS Glue conectores personalizados
-
Snowflake (JDBC): Realizar transformações de dados usando o Snowflake e AWS Glue
-
SingleStore: Construir ETL rápido usando o SingleStore e AWS Glue
Salesforce: Insirir dados do Salesforce no Amazon S3 usando o conector personalizado CData JDBC com AWS Glue
- -
Amazon Relational Database Service (Amazon RDS): Construir AWS Glue trabalhos Spark ETL trazendo seus próprios drivers JDBC para o Amazon RDS
-
MySQL (JDBC): https://github.com/aws-samples/aws-glue-samples/blob/master/GlueCustomConnectors/development/Spark/SparkConnectorMySQL.scala
Desenvolver conectores do AWS Glue para o AWS Marketplace
Como um parceiro da AWS, você pode criar conectores personalizados e carregá-los no AWS Marketplace para vender para clientes do AWS Glue.
O processo para desenvolver o código do conector é o mesmo que para conectores personalizados, mas o processo de carregamento e verificação do código do conector é mais detalhado. Consulte as instruções em Creating Connectors for AWS Marketplace