Desarrollo de conectores personalizados
Puede escribir el código que lee datos del almacén de datos o escribe datos en él y los formatea para utilizarlos con trabajos de AWS Glue Studio. Puede crear conectores para los almacenes de datos de Spark, Athena y JDBC. El código de muestra publicado en GitHub proporciona información general de las interfaces básicas que debe implementar.
Será necesario un entorno de desarrollo local para crear su código de conector. Puede usar cualquier IDE o incluso solo un editor de línea de comandos para escribir su conector. Algunos ejemplos de entornos de desarrollo incluyen los siguientes:
-
Un entorno Scala local con una biblioteca AWS Glue ETL Maven local, como se describe en Desarrollo local con Scala en la Guía para desarrolladores de AWS Glue.
-
IDE de IntelliJ, mediante la descarga de IDE desde https://www.jetbrains.com/idea/
.
Temas
Desarrollo de conectores Spark
Puede crear un conector Spark con la API Spark DataSource V2 (Spark 2.4) para leer datos.
Para crear un conector Spark personalizado
Siga los pasos en la biblioteca GitHub de AWS Glue para desarrollar conectores Spark, que se encuentra en https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/Spark/README.md
Desarrollo de conectores Athena
Puede crear un conector de Athena para que lo utilice AWS Glue y AWS Glue Studio con la finalidad de consultar un origen de datos personalizado.
Para crear un conector Athena personalizado
Siga los pasos en la biblioteca GitHub de AWS Glue para desarrollar conectores Athena, que se encuentra en https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/Athena
Desarrollo de conectores JDBC
Puede crear un conector que utilice JDBC para acceder a los almacenes de datos.
Para crear un conector JDBC personalizado
-
Instale las bibliotecas de tiempo de ejecución Spark de AWS Glue en su entorno de desarrollo local. Consulte las instrucciones en la biblioteca de ejemplo GitHub de AWS Glue en https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/GlueSparkRuntime/README.md
. -
Implemente el controlador JDBC que es responsable de recuperar los datos del origen de datos. Consulte la documentación de Java
para Java SE 8. Cree un punto de entrada dentro del código que AWS Glue Studio utiliza para localizar el conector. El campo Class name (Nombre de clase) debe ser la ruta completa de su controlador JDBC.
-
Use la API
GlueContext
para leer datos con el conector. Los usuarios pueden agregar más opciones de entrada en la consola de AWS Glue Studio para configurar la conexión con el origen de datos, si es necesario. Para obtener un ejemplo de código que muestra cómo leer y escribir en una base de datos JDBC con un conector JDBC personalizado, consulte Valores personalizado y tipo de conexión AWS Marketplace.
Ejemplos de uso de conectores personalizados con AWS Glue Studio
Puede consultar los siguientes blogs para ver ejemplos de uso de conectores personalizados:
-
Desarrollar, probar e implementar conectores personalizados para los almacenes de datos con AWS Glue
-
Google BigQuery: Migrar datos de Google BigQuery a Amazon S3 mediante conectores personalizados de AWS Glue
-
Snowflake (JDBC): Performing data transformations using Snowflake and AWS Glue (Realizar transformaciones de datos con Snowflake y Glue)
-
SingleStore: Building fast ETL using SingleStore and AWS Glue (Construir ETL rápido con SingleStore y Glue)
-
Amazon Relational Database Service(Amazon RDS): Building AWS Glue Spark ETL jobs by bringing your own JDBC drivers for Amazon RDS (Crear trabajos de ETL de Glue Spark al incorporar sus propios controladores JDBC para Amazon RDS)
-
MySQL (JDBC): https://github.com/aws-samples/aws-glue-samples/blob/master/GlueCustomConnectors/development/Spark/SparkConnectorMySQL.scala
Desarrollo de conectores de AWS Glue para AWS Marketplace
Como socio de AWS, puede crear conectores personalizados y cargarlos a AWS Marketplace para vender a clientes de AWS Glue.
El proceso para desarrollar el código del conector es el mismo que para los conectores personalizados, pero el proceso de carga y verificación del código del conector es más detallado. Consulte las instrucciones en Creación de conectores para AWS Marketplace