本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用带有 Amazon Glue Studio 的连接器和连接
Amazon Glue 使用 JDBC 连接为常用数据存储(例如 Amazon Redshift、Amazon Aurora、Microsoft SQL Server、MySQL、MongoDB 和 PostgreSQL)提供内置支持。Amazon Glue 还允许您在数据提取、转换和加载(ETL)任务中使用自定义 JDBC 驱动程序。对于本地不支持的数据存储(如 SaaS 应用程序),您可以使用连接器。
连接器是一个可选代码包,可帮助访问 Amazon Glue Studio 中的数据存储。您可以订阅 Amazon Web Services Marketplace 中提供的几个连接器。
创建 ETL 任务时,您可以使用本地支持的数据存储、Amazon Web Services Marketplace 中的连接器或您自己的自定义连接器。如果您使用连接器,您必须首先为连接器创建连接。连接包含连接到特定数据存储所需的属性。您将使用与 ETL 任务中的数据源和数据目标的连接。连接器和连接协同工作,方便访问数据存储。
主题
连接器和连接使用概览
连接包含连接到特定数据存储所需的属性。当您创建连接时,它将存储于 Amazon Glue Data Catalog 中。选择一个连接器,然后创建基于该连接器的连接。
您可以为 Amazon Web Services Marketplace 中非本地支持的数据存储订阅连接器,然后在创建连接时使用这些连接器。开发人员还可以创建自己的连接器,您可以在创建连接时使用它们。
注意
在 Amazon Glue Studio 中使用自定义或 Amazon Web Services Marketplace 连接器创建的连接不会在类型设置为 UNKNOWN
的 Amazon Glue 控制台中显示。
以下步骤介绍了 Amazon Glue Studio 中连接器的总体使用流程。
-
订阅 Amazon Web Services Marketplace 中的连接器,或者开发自己的连接器并将其上载到 Amazon Glue Studio。有关更多信息,请参阅将连接器添加到 Amazon Glue Studio:
-
查看连接器使用信息。您可以在连接器产品页面上的 Usage (使用) 选项卡上找到此类信息。例如,如果您单击此产品页面上的 “使用情况” 选项卡,即 Co Amazon Gluennector for Google BigQuery
,则可以在 “其他资源” 部分看到有关使用此连接器的博客链接。其他连接器可能包含指向 Overview (概览) 部分中说明的链接,正如适用于 Amazon Glue 的 Cloudwatch Logs 连接器 的连接器产品页面上所示。 -
创建连接。您可以选择要使用的连接器并为连接提供附加信息,例如登录凭证、URI 字符串和 Virtual Private Cloud(VPC)信息。有关更多信息,请参阅为连接器创建连接:
-
为您的任务创建 IAM 角色。作业代入您在创建它时指定的 IAM 角色的权限。此 IAM 角色必须具有对数据存储进行身份验证、从中提取数据和向其写入数据所需的权限。有关更多信息,请参阅审核 ETL 任务所需的 IAM 权限和使用连接器所需的权限。
-
创建 ETL 任务并配置 ETL 任务的数据源属性。按照自定义连接器提供程序的指示提供连接选项和身份验证信息。有关更多信息,请参阅使用自定义连接器编写任务:
-
添加转换或其他数据存储以自定义 ETL 任务,如在 Amazon Glue Studio 中编辑 ETL 任务中所示。
-
如果为数据目标使用连接器,请为 ETL 任务配置数据目标属性。按照自定义连接器提供程序的指示提供连接选项和身份验证信息。有关更多信息,请参阅使用自定义连接器编写任务:
-
配置任务属性以自定义任务运行环境,如修改任务属性中所示。
-
运行作业。
将连接器添加到 Amazon Glue Studio
连接器是一段代码,便于您在数据存储和 Amazon Glue 之间通信。您可以订阅 Amazon Web Services Marketplace 中提供的连接器,或者您还可以创建自己的自定义连接器。
订阅 Amazon Web Services Marketplace 连接器
Amazon Glue Studio 助力轻松地从 Amazon Web Services Marketplace 添加连接器。
将连接器从 Amazon Web Services Marketplace 添加到 Amazon Glue Studio
-
在 Amazon Glue Studio 控制台中,在导航窗格中选择 Connectors (连接器)。
-
在 Connectors (连接器) 页面上,选择 Go to Amazon Web Services Marketplace (转到 Amazon Web Services Marketplace)。
-
在 Amazon Web Services Marketplace 中的 Featured products (特色产品) 中,选择要使用的连接器。您可以选择其中一个特色连接器,也可以进行搜索。您可以搜索连接器的名称或类型,也可以使用选项来优化搜索结果。
如果您要使用其中一个特色连接器,请选择 View product (查看产品)。如果通过搜索来查找连接器,请选择连接器的名称。
-
在连接器的产品页面上,使用选项卡查看有关连接器的信息。如果您决定购买此连接器,请选择 Continue to Subscribe (继续订阅)。
-
提供付款信息,然后选择 Continue to Configure (继续配置)。
-
在 Configure this software (配置此软件) 页面上,选择部署方法和要使用的连接器版本。然后选择 Continue to Launch (继续启动) 以继续。
-
在 Launch this software (启动此软件) 页面上,您可以查看连接器提供程序提供的 Usage Instructions (使用说明)。准备就绪后,选择 Activate connection in Amazon Glue Studio (激活 Amazon Glue Studio Glue Studio 中的连接)。
一小段时间后,控制台将显示 Amazon Glue Studio 中的 Create marketplace connection (创建 Marketplace 连接) 页面。
-
创建使用此连接器的连接,如为连接器创建连接中所述。
或者,您可以选择 Activate connector only (仅激活连接器) 以跳过此时创建连接。您稍后必须创建连接才能使用该连接器。
创建自定义连接器
您还可以构建自己的连接器,然后将连接器代码上载到 Amazon Glue Studio。
自定义连接器通过 Amazon Glue Spark 运行时 API 集成到 Amazon Glue Studio。Amazon Glue Spark 运行时允许您插入兼容 Spark、Athena 或 JDBC 接口的连接器。它允许您传递自定义连接器可用的连接选项。
您可以使用 Amazon Glue 连接封装所有连接属性并为 ETL 任务提供连接名称。与数据目录连接集成,您可以在单个 Spark 应用程序中或跨不同应用程序的多个调用使用相同的连接属性。
您可以指定连接的其他选项。Amazon Glue Studio 生成的任务脚本包含 Datasource
条目,该条目使用连接通过指定的连接选项插入连接器。例如:
Datasource = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"dbTable":"Account","connectionName":"my-custom-jdbc- connection"}, transformation_ctx = "DataSource0")
将自定义连接器添加到 Amazon Glue Studio
-
为自定义连接器创建代码。有关更多信息,请参阅开发自定义连接器:
-
连接器增加了对 Amazon Glue 功能的支持。下面举例说明了这些功能,以及如何在 Amazon Glue Studio 生成的任务脚本内使用这些功能。
-
数据类型映射 – 连接器可以在从基础数据存储中读取列的同时对列进行类型化。例如,解析记录并构造
DynamicFrame
时,dataTypeMapping
的{"INTEGER":"STRING"}
会将所有类型为Integer
的列转换为类型为String
的列。这有助于用户将列转换为他们选择的类型。DataSource0 = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"dataTypeMapping":{"INTEGER":"STRING"}", connectionName":"test-connection-jdbc"}, transformation_ctx = "DataSource0")
-
分区以进行并行读取 – Amazon Glue 允许对列上的数据进行分区,以便从数据存储中读取并行数据。您必须指定分区列、下分区界限、上分区界限和分区数。此功能使您能够利用数据并行性以及为 Spark 应用程序分配的多个 Spark 执行程序。
DataSource0 = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"upperBound":"200","numPartitions":"4", "partitionColumn":"id","lowerBound":"0","connectionName":"test-connection-jdbc"}, transformation_ctx = "DataSource0")
-
使用 Amazon Secrets Manager 存储凭证 – 数据目录连接还可以包含 Amazon Secrets Manager 中所存储密钥的
secretId
。Amazon 密钥可以安全地存储身份验证和凭证信息,并在运行时将其提供给 Amazon Glue。或者,您还可以在 Spark 脚本中指定secretId
,如下所示:DataSource = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"connectionName":"test-connection-jdbc", "secretId"-> "my-secret-id"}, transformation_ctx = "DataSource0")
-
使用行谓词和列投影筛选源数据 – Amazon Glue Spark 运行时还允许用户向下推送 SQL 查询,以使用行谓词和列投影在源处筛选数据。这样一来,ETL 任务能够更快地从支持推送的数据存储加载筛选的数据。向下推送到 JDBC 数据源的 SQL 查询示例如下:
SELECT id, name, department FROM department WHERE id < 200.
DataSource = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"query":"SELECT id, name, department FROM department WHERE id < 200","connectionName":"test-connection-jdbc"}, transformation_ctx = "DataSource0")
-
任务书签 – Amazon Glue 支持从 JDBC 源增量加载数据。Amazon Glue 从数据存储中跟踪上次处理的记录,并在后续 ETL 任务运行中处理新的数据记录。任务书签使用主键作为书签键的默认列,前提是此列按顺序增加或减少。有关任务书签的更多信息,请参阅《Amazon Glue 开发人员指南》中的任务书签。
DataSource0 = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"jobBookmarkKeys":["empno"], "jobBookmarkKeysSortOrder" :"asc", "connectionName":"test-connection-jdbc"}, transformation_ctx = "DataSource0")
-
-
将自定义连接器打包为 JAR 文件,然后将文件上载到 Amazon S3。
-
测试您的自定义连接器。有关更多信息,请参阅 Glue 自定义连接器:本地验证测试指南
处 Googs 上的 GitHub 说明。 -
在 Amazon Glue Studio 控制台中,在导航窗格中选择 Connectors (连接器)。
-
在 Connectors (连接器) 页面上,选择 Create custom connector (创建自定义连接器)。
-
在 Create custom connector (创建自定义连接器) 页面上,输入以下信息:
-
指向 Amazon S3 中自定义代码 JAR 文件位置的路径。
-
Amazon Glue Studio 将使用的连接器的名称。
-
您的连接器类型,可以是 JDBC、Spark 或者 Athena。
-
自定义代码中入口点的名称,Amazon Glue Studio 将调用以使用连接器。
-
对于 JDBC 连接器,此字段应该是 JDBC 驱动程序的类名称。
-
对于 Spark 连接器,此字段应该是完全限定的数据源类名称或其别名,您可以使用
format
运算符。
-
-
(仅限 JDBC)JDBC 连接用于数据存储的基本 URL。
-
(可选)自定义连接器的描述。
-
-
选择 Create connector (创建连接器)。
-
在 Connectors (连接器) 页面中,创建使用此连接器的连接,如为连接器创建连接中所示。
为连接器创建连接
Amazon Glue 连接是存储特定数据存储的连接信息的数据目录对象。这些连接存储登录凭证、URI 字符串、Virtual Private Cloud (VPC) 等信息。在数据目录中创建连接,就可以不必在每次创建任务时都指定所有连接详细信息。
注意
使用 Amazon Glue 控制台创建的连接不会在 Amazon Glue Studio 中显示。
为连接器创建连接
-
在 Amazon Glue Studio 控制台中,在导航窗格中选择 Connectors (连接器)。
-
选择要为其创建连接的连接器,然后选择 Create connection (创建连接)。
-
在 Create connection (创建连接) 页面上,为您的连接输入名称以及(可选)描述。
-
输入连接详细信息。根据所选连接器的类型,系统会提示您输入附加信息:
-
输入请求的身份验证信息(如用户名和密码),或选择 Amazon 密钥。
-
对于使用 JDBC 的连接器,请输入为数据存储创建 JDBC URL 所需的信息。
-
如果您使用 Virtual Private Cloud(VPC),请为 VPC 输入网络信息。
-
-
选择 Create connection (创建连接)。
您将返回到 Connectors (连接器) 页面,信息性广告条会指示已创建的连接。您现在可以在您的 Amazon Glue Studio 任务中使用连接,如创建使用连接器的任务中所示。
创建 Kafka 连接
创建 Kafka 连接时,从下拉菜单中选择 Kafka 将显示要配置的其他设置:
-
Kafka 集群详细信息
-
身份验证
-
加密
-
网络操作
配置 Kafka 集群详细信息
-
选择集群位置。可以从 Amazon Managed for Apache Kafka (MSK) 集群或 Customer managed Apache Kafka(客户管理的 Apache Kafka)集群中选择。有关 Amazon Managed Streaming for Apache Kafka 的更多信息,请参阅 Amazon Managed Streaming for Apache Kafka (MSK)。
注意
Amazon Managed Streaming for Apache Kafka 仅支持 TLS 和 SASL/SCRAM-SHA-512 身份验证方法。
-
输入 Kafka 引导服务器的 URL。通过用逗号分隔每台服务器,可以输入多个服务器。通过在 URL 末尾附加
:<port number>
,包含端口号。例如:
b-1.vpc-test-2.034a88o.kafka-us-east-1.amazonaws.com:9094
选择身份验证方法

Amazon Glue 支持用于身份验证的简单身份验证和安全层 (SASL) 框架。SASL 框架支持各种身份验证机制,且 Amazon Glue 提供 SCRAM 协议(用户名和密码)和 GSSAPI(Kerberos 协议)。
从下拉菜单中选择身份验证方法时,可以选择以下客户端身份验证方法:
-
无 – 不进行身份验证。如果是为进行测试而创建连接,这非常有用。
-
SASL/SCRAM-SHA-512 - 选择此身份验证方法以指定身份验证凭证。有两个可用的选项:
-
使用 Amazon Secrets Manager(推荐)- 如果选择此选项,则可以将凭证存储在 Amazon Secrets Manager 中,然后让 Amazon Glue 在需要时访问该信息。指定存储 SSL 或 SASL 身份验证凭证的密钥。
-
直接提供用户名和密码。
-
-
SASL/GSSAPI (Kerberos) – 如果选择此选项,则可以选择 keytab 文件、krb5.conf 文件的位置,然后输入 Kerberos 主体名称和 Kerberos 服务名称。keytab 文件和 krb5.conf 文件的位置必须位于 Amazon S3 位置。由于 MSK 尚不支持 SASL/GSSAPI,所以此选项仅适用于客户管理的 Apache Kafka 集群。有关更多信息,请参阅 MIT Kerberos 文档:keytab
。 -
SSL 客户端身份验证 – 如果选择此选项,则可以通过浏览 Amazon S3 来选择 Kafka 客户端密钥库的位置。或者,您可以输入 Kafka 客户端密钥库密码和 Kafka 客户端密钥密码。

配置加密设置
-
如果 Kafka 连接需要 SSL 连接,请选中 Require SSL connection(需要 SSL 连接)复选框。请注意,如果无法通过 SSL 连接,则连接将失败。用于加密的 SSL 可以与任何身份验证方法(SASL/SCRAM-SHA-512、SASL/GSSAPI、SSL 客户端身份验证)一起使用,并且是可选的。
如果身份验证方法设置为 SSL client authentication(SSL 客户端身份验证),则系统将自动选择并禁用此选项,以防止出现任何更改。
-
(可选)。选择来自证书颁发机构 (CA) 的私有证书的位置。请注意,证书的位置必须在 S3 位置。选择 Browse(浏览),从连接的 S3 存储桶中选择文件。路径必须采用
s3://bucket/prefix/filename.pem
格式。它必须以文件名和 .pem 扩展名结尾。 -
可以选择跳过验证证书颁发机构 (CA) 的证书。选择复选框 Skip validation of certificate from certificate authority (CA) [跳过验证证书颁发机构(CA)的证书]。如果未选中此框,则 Amazon Glue 会验证三种算法的证书:
-
SHA256withRSA
-
SHA384withRSA
-
SHA512withRSA
-

(可选)网络选项
下面是配置 VPC、子网和安全组的可选步骤。如果您的 Amazon Glue 任务需要在 virtual private cloud (VPC) 子网中的 Amazon EC2 实例上运行,必须提供其他特定于 VPC 的配置信息。
-
选择包含您的数据源的 virtual private cloud (VPC)。
-
选择您的 VPC 所在的子网。
-
选择允许访问 VPC 子网中数据存储的一个或多个安全组。安全组与附加到子网的 ENI 相关联。必须为所有 TCP 端口选择至少一个具有自引用入站规则的安全组。

使用自定义连接器编写任务
您可以在 Amazon Glue Studio 中为数据源节点和数据目标节点使用连接器和连接。
创建任务,为数据源使用连接器
创建新任务时,可以为数据源和数据目标选择连接器。
创建任务,为数据源或数据目标使用连接器
登录 Amazon Web Services Management Console,然后通过以下网址打开 Amazon Glue Studio 控制台:https://console.aws.amazon.com/gluestudio/
。 -
在 Connectors (连接器) 页面的 Your connections (您的连接) 资源列表中,选择要在任务中使用的连接,然后选择 Create job (创建任务)。
或者,在 Amazon Glue Studio Jobs (任务) 页面的 Create job (创建任务) 下面,选择 Source and target added to the graph (已添加到图形中的源和目标)。在 Source (源) 下拉列表中,选择要在任务中使用的自定义连接器。还可以为 Target (目标) 选择连接器。
-
选择 Create (创建) 以打开可视化任务编辑器。
-
配置数据源节点,如为使用连接器的节点配置源属性中所示。
-
添加转换、其他数据存储和数据目标以继续创建 ETL 任务,如在 Amazon Glue Studio 中编辑 ETL 任务中所示。
-
配置任务属性以自定义任务运行环境,如修改任务属性中所示。
-
保存并运行任务。
为使用连接器的节点配置源属性
创建为数据源使用连接器的任务后,可视任务编辑器将显示任务图,其中包含为连接器配置的数据源节点。您必须为该节点配置数据源属性。
为使用连接器的数据源节点配置属性
-
选择任务图中的连接器数据源节点,或者添加新节点,然后为 Node type (节点类型) 选择连接器。然后,在右侧的节点详细信息面板中,选择 Data source properties (数据源属性) 选项卡(如果尚未选择)。
-
在 Data source properties (数据源属性) 选项卡上,选择要用于此任务的连接。
输入每种连接类型所需的附加信息:
-
(可选)提供所需信息后,您可以选择节点详细信息面板中的 Output schema (输出架构) 选项卡,查看生成的数据架构。此选项卡上显示的架构将由您添加到任务图的子节点使用。
-
(可选)配置节点属性和数据源属性后,您可以选择节点详细信息窗格中的 Data preview (数据预览) 选项卡来预览数据源的数据集。当您首次为任务中的任何节点选择此选项卡时,系统会提示您提供 IAM 角色以访问数据。使用此功能会产生相关费用,并且一旦您提供 IAM 角色,则会立即开始计费。
为使用连接器的节点配置目标属性
如果将连接器用于数据目标类型,则必须配置数据目标节点的属性。
为使用连接器的数据目标节点配置属性
-
在任务图中选择连接器数据目标节点。然后,在右侧的节点详细信息面板中,选择 Data target properties (数据目标属性) 选项卡(如果尚未选择)。
-
在 Data target properties (数据目标属性) 选项卡上,选择用于写入目标的连接。
输入每种连接类型所需的附加信息:
-
提供所需信息后,您可以选择节点详细信息面板中的 Output schema (输出架构) 选项卡,查看生成的数据架构。
管理连接器和连接
您可以在 Amazon Glue Studio 中使用 Connectors (连接器) 页面管理您的连接器和连接。
查看连接器和连接详细信息
您可以在 Connectors (连接) 页面上的 Your connectors (您的连接器) 和 Your connections (您的连接) 资源表中,查看关于您的连接器和连接的摘要信息。要查看详细信息,请执行以下步骤。
注意
使用 Amazon Glue 控制台创建的连接不会在 Amazon Glue Studio 中显示。
查看连接器或连接详细信息
-
在 Amazon Glue Studio 控制台中,在导航窗格中选择 Connectors (连接器)。
-
选择要查看其详细信息的连接器或连接。
-
选择 Actions (操作),然后选择 View details (查看详细信息),打开相应连接器或连接的详细信息页面。
-
在详细信息页面上,您可以选择 Edit(编辑)或 Delete(删除)连接器或连接。
-
对于连接器,可以选择 Create connection (创建连接),创建使用连接器的新连接。
-
对于连接,您可以选择 Create job (创建任务),创建使用连接的任务。
-
编辑连接器和连接
您可以使用 Connectors (连接器) 页面更改您的连接器和连接中存储的信息。
修改连接器或连接
-
在 Amazon Glue Studio 控制台中,在导航窗格中选择 Connectors (连接器)。
-
选择要更改的连接器或连接。
-
选择 Actions,然后选择 Edit。
您还可以选择 View details (查看详细信息),然后在连接器或连接详细信息页面上,选择 Edit (编辑)。
-
在 Edit connector (编辑连接器) 或者 Edit connection (编辑连接) 页面上,更新信息,然后选择 Save (保存)。
删除连接器和连接
您可以使用 connector (连接器) 页面删除连接器和连接。如果删除某个连接器,还应删除为该连接器创建的所有连接。
要从 Amazon Glue Studio 中删除连接器,请执行以下操作
-
在 Amazon Glue Studio 控制台中,在导航窗格中选择 Connectors (连接器)。
-
选择要删除的连接器或连接。
-
选择 Actions,然后选择 Delete。
您还可以选择 View details (查看详细信息),然后在连接器或连接详细信息页面上,选择 Delete (删除)。
-
确认您要删除连接器或连接,方法是输入
Delete
,然后选择 Delete (删除)。删除某个连接器时,还应删除为该连接器创建的所有连接。
使用已删除连接的任务将不再运行。您可以编辑任务以使用其他数据存储,也可以删除任务。有关如何删除任务的信息,请参阅删除任务。
如果您删除连接器,此操作不会取消 Amazon Web Services Marketplace 中该连接器的订阅。要删除已删除连接器的订阅,请按取消连接器的订阅中的说明操作。
取消连接器的订阅
从 Amazon Glue Studio 中删除连接和连接器后,如果您不再需要该连接器,您可以在 Amazon Web Services Marketplace 中取消订阅。
注意
如果您取消对连接器的订阅,则不会从您的账户中删除连接器或连接。使用该连接器和相关连接的任务将无法再使用该连接器,并且会失效。
在您从 Amazon Web Services Marketplace 中取消订阅或重新订阅之前,您应先删除与该 Amazon Web Services Marketplace 产品关联的现有连接和连接器。
取消 Amazon Web Services Marketplace 中连接器的订阅
-
登录 Amazon Web Services Marketplace,然后通过以下网址打开 控制台:https://console.aws.amazon.com/marketplace
。 -
选择 Manage subscriptions (选择订阅)。
-
在 Manage subscriptions (管理订阅) 页面上,选择要取消的连接器订阅旁边的 Manage (管理)。
-
依次选择 Actions (操作) 和 Delete Subscriptions (删除订阅)。
-
选中此复选框,确认正在运行的实例会向您的账户收取费用,然后选择 Yes, cancel subscription (是,取消订阅)。
开发自定义连接器
您可以编写从数据存储中读取数据或向数据存储写入数据的代码,并将数据格式化以用于 Amazon Glue Studio 任务。您可以为 Spark、Athena 和 JDBC 数据存储创建连接器。发布的示例代码 GitHub 概述了您需要实现的基本接口。
您需要用于创建连接器代码的本地开发环境。您可以使用任意 IDE,甚至只使用命令行编辑器来编写连接器。开发环境示例包括:
-
具有本地 Amazon Glue ETL Maven 库的本地 Scala 环境,正如《Amazon Glue 开发人员指南》中的使用 Scala 本地开发所述。
-
IntelliJ IDE,可从 https://www.jetbrains.com/idea/
下载 IDE。
主题
开发 Spark 连接器
您可以使用 Spark DataSource API V2(Spark 2.4)创建 Spark 连接器来读取数据。
若要创建自定义 Spark 连接器
按照Amazon Glue GitHub 示例库中的步骤开发 Spark 连接器,该库位于 https://github.com/aws-samples/aws-glue-samples /tree/ /developententGlueCustomConnectors /Spark/rea.me.md
开发 Athena 连接器
您可以创建 Athena 连接器,供 Amazon Glue 和 Amazon Glue Studio 查询自定义数据源。
若要创建自定义 Athena 连接器
按照Amazon Glue GitHub 示例库中的步骤开发 Athena 连接器,该库位于 https://github.com/aws-samples/aws-glue-samples /tree/master/ ///develogmGlueCustomConnectors ent/Athena
开发 JDBC 连接器
您可以创建使用 JDBC 访问数据存储的连接器。
创建自定义 JDBC 连接器
-
在本地开发环境中安装 Amazon Glue Spark 运行时库。请参阅Amazon Glue GitHub 示例库中的说明,网址为 https://github.com/aws-samples/aws-glue-samples /tree/master/ /developmentGlueCustomConnectors/GlueSparkRuntime/readme.md
。 -
实施负责从数据源检索数据的 JDBC 驱动程序。请参阅适用于 Java SE 8 的 Java 文档
。 在您的代码内创建入口点,Amazon Glue Studio 将其用于查找您的连接器。Class name (类名称) 字段应该是 JDBC 驱动程序的完整路径。
-
借助连接器使用
GlueContext
API 读取数据。用户可以在 Amazon Glue Studio 控制台中添加更多输入选项,配置与数据源的连接(如有必要)。有关演示如何使用自定义 JDBC 连接器读取和写入 JDBC 数据库的代码示例,请参阅自定义和 Amazon Web Services Marketplace connectionType 值。
将自定义连接器与 Amazon Glue Studio 结合使用的示例
有关使用自定义连接器的示例,您可以参考以下博客:
-
Apache Hudi:使用 Amazon Glue 自定义连接器写入 Apache Hudi 表
-
Google BigQuery:使用Amazon Glue自定义连接器 BigQuery ,将数据从 Google 迁移Amazon S3
-
Snowflake(JDBC):使用 Snowflake 和 Amazon Glue 执行数据转换
-
SingleStore: 使用 SingleStore 和快速构建 ETLAmazon Glue
Salesforce:使用 CData JDBC 自定义连接器和 Amazon Glue 将 Salesforce 数据提取到 Amazon S3
- -
MongoDB:使用 Amazon DocumentDB(与 MongoDB 兼容)和 MongoDB 构建 Amazon Glue Spark ETL 任务
-
Amazon Relational Database Service(Amazon RDS):使用您自己的适用于 Amazon RDS 的 JDBC 驱动程序构建 Amazon Glue Spark ETL 任务
为 Amazon Web Services Marketplace 开发 Amazon Glue 连接器
作为 Amazon 合作伙伴,您可以创建自定义连接器并将其上载到 Amazon Web Services Marketplace 以销售给 Amazon Glue 客户。
开发连接器代码的过程与自定义连接器相同,但上载和验证连接器代码的过程更为详细。请参阅 GitHub 网站上的 “创建连接器
Amazon Glue Studio 中连接器和连接的使用限制
当您从 Amazon Web Services Marketplace 使用自定义连接器或连接器,请注意以下限制:
-
为自定义连接器创建的连接不支持 testConnection API。
-
自定义连接器不支持数据目录连接密码加密。
-
如果为使用 JDBC 连接器的数据源节点指定筛选条件谓语,则无法使用任务书签。