本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
开发自定义连接器
您可以编写从数据存储中读取数据或向数据存储写入数据的代码,并将数据格式化以用于 AWS Glue Studio 任务。您可以为 Spark、Athena 和数据存储创建连接器。JDBC上发布的示例代码 GitHub 概述了您需要实现的基本接口。
您需要用于创建连接器代码的本地开发环境。你可以使用任何命令行编辑器,IDE甚至只使用命令行编辑器来编写连接器。开发环境示例包括:
-
带有本地 AWS Glue ETL Maven 库的本地 Scala 环境,如开发人员指南中的 “使用 Scala 进行本地开发”AWS Glue 中所述。
-
IntelliJIDE,从中下载。IDE https://www.jetbrains.com/idea/
主题
开发 Spark 连接器
你可以使用 Spark DataSource API V2 (Spark 2.4) 创建 Spark 连接器来读取数据。
若要创建自定义 Spark 连接器
按照AWS Glue GitHub 示例库中的步骤开发 Spark 连接器,该库位于 https://github.com/aws-samples/aws-glue-samples/tree/master/ /development/ GlueCustomConnectors
开发 Athena 连接器
您可以创建 Athena 连接器,供 AWS Glue 和 AWS Glue Studio 查询自定义数据源。
若要创建自定义 Athena 连接器
开发JDBC连接器
您可以创建用于访问数据存储JDBC的连接器。
创建自定义JDBC连接器
-
在本地开发环境中安装 AWS Glue Spark 运行时库。请参阅 https://github.com/aws-samples/aws-glue-samples/tree/master/ /development/ /.md AWS Glue GitHub GlueCustomConnectors
示例库中的说明。GlueSparkRuntime README -
实现负责从数据源检索数据的JDBC驱动程序。请参阅适用于 Java SE 8 的 Java 文档
。 在您的代码内创建入口点,AWS Glue Studio 将其用于查找您的连接器。类名字段应该是JDBC驱动程序的完整路径。
-
使用
GlueContext
API通过连接器读取数据。用户可以在 AWS Glue Studio 控制台中添加更多输入选项,配置与数据源的连接(如有必要)。有关显示如何使用自定义JDBC连接器读取和写入JDBC数据库的代码示例,请参阅自定义和 AWS Marketplace connectionType 值。
将自定义连接器与 AWS Glue Studio 结合使用的示例
有关使用自定义连接器的示例,您可以参考以下博客:
-
Apache Hudi:使用 AWS Glue 自定义连接器写入 Apache Hudi 表
-
谷歌 BigQuery:使用AWS Glue自定义连接器将数据从谷歌迁移 BigQuery 到亚马逊 S3
-
Snowflake (JDBC):使用 Snowflake 执行数据转换和 AWS Glue
-
SingleStore: ETL使用 SingleStore 和快速构建 AWS Glue
Salesforce:使用带有-的CDataJDBC自定义连接器将 Salesforce 数据提取到 Amazon S3 AWS Glue
-
MongoDB:使用亚马逊 DocumentDB(兼容 MongoDB)和 MongoDB AWS Glue 构建 ETL Spark 作业
-
Amazon Relational Database Service (亚马逊RDS):通过为亚马逊自带JDBC司机来创造 AWS Glue Spark ETL 就业机会 RDS
-
我的 SQL (JDBC): https://github.com/aws-samples/aws-glue-samples/blob/master/ /development/ GlueCustomConnectors
spark/ .scala SparkConnectorMy SQL
开发用于的AWS Glue连接器 AWS Marketplace
作为 AWS 合作伙伴,您可以创建自定义连接器并将其上传到以 AWS Marketplace 向AWS Glue客户销售。
开发连接器代码的过程与自定义连接器相同,但上载和验证连接器代码的过程更为详细。请参阅 GitHub 网站上的 “创建连接器