创建自定义连接器 - Amazon Glue
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

创建自定义连接器

您还可以构建自己的连接器,然后将连接器代码上载到 Amazon Glue Studio。

自定义连接器Amazon Glue Studio通过 Amazon Glue Spark 运行时集成到API。Amazon GlueSpark 运行时允许你插入任何符合 Spark、Athena 或接口的连接器。JDBC它允许您传递自定义连接器可用的连接选项。

您可以使用 Connections 封装所有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
  1. 为自定义连接器创建代码。有关更多信息,请参阅 开发自定义连接器

  2. 连接器增加了对 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")
    • Job 书签-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")
  3. 将自定义连接器打包为JAR文件,然后将该文件上传到 Amazon S3。

  4. 测试您的自定义连接器。有关更多信息,请参阅 Glu GitHub e 自定义连接器:本地验证测试指南中的说明。

  5. 在 Amazon Glue Studio 控制台中,在导航窗格中选择 Connectors (连接器)

  6. Connectors (连接器) 页面上,选择 Create custom connector (创建自定义连接器)

  7. Create custom connector (创建自定义连接器) 页面上,输入以下信息:

    • 自定义代码JAR文件在 Amazon S3 中的位置路径。

    • Amazon Glue Studio 将使用的连接器的名称。

    • 您的连接器类型,可以是 SparkAthena 之一。JDBC

    • 自定义代码中入口点的名称,Amazon Glue Studio 将调用以使用连接器。

      • 对于JDBC连接器,此字段应为JDBC驱动程序的类名。

      • 对于 Spark 连接器,此字段应该是完全限定的数据源类名称或其别名,您可以使用 format 运算符。

    • (JDBC仅限)JDBC连接URL用于数据存储的基础。

    • (可选)自定义连接器的描述。

  8. 选择 Create connector (创建连接器)

  9. Connectors (连接器) 页面中,创建使用此连接器的连接,如为连接器创建连接中所示。

将连接器添加到 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
  1. 在 Amazon Glue Studio 控制台中,在导航窗格中选择 Connectors (连接器)

  2. Connectors (连接器) 页面上,选择 Go to Amazon Web Services Marketplace(转到 Amazon Web Services Marketplace)

  3. 在 Amazon Web Services Marketplace精选产品中,选择要使用的连接器。您可以选择其中一个特色连接器,也可以进行搜索。您可以搜索连接器的名称或类型,也可以使用选项来优化搜索结果。

    如果您要使用其中一个特色连接器,请选择 View product (查看产品)。如果通过搜索来查找连接器,请选择连接器的名称。

  4. 在连接器的产品页面上,使用选项卡查看有关连接器的信息。如果您决定购买此连接器,请选择 Continue to Subscribe (继续订阅)

  5. 提供付款信息,然后选择 Continue to Configure (继续配置)

  6. Configure this software (配置此软件) 页面上,选择部署方法和要使用的连接器版本。然后选择 Continue to Launch (继续启动) 以继续。

  7. Launch this software (启动此软件) 页面上,您可以查看连接器提供程序提供的 Usage Instructions (使用说明)。准备就绪后,选择 Activate connection in Amazon Glue Studio (激活 Amazon Glue Studio Glue Studio 中的连接)

    一小段时间后,控制台将显示 Amazon Glue Studio 中的 Create marketplace connection (创建 Marketplace 连接) 页面。

  8. 创建使用此连接器的连接,如为连接器创建连接中所述。

    或者,您可以选择 Activate connector only (仅激活连接器) 以跳过此时创建连接。您稍后必须创建连接才能使用该连接器。