使用带有 Amazon Glue Studio 的连接器和连接 - Amazon Glue Studio
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

使用带有 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 控制台创建的连接不会在 Amazon Glue Studio 中显示。在 Amazon Glue Studio 中使用自定义或 Amazon Web Services Marketplace 连接器创建的连接不会在类型设置为 UNKNOWN 的 Amazon Glue 控制台中显示。

以下步骤介绍了 Amazon Glue Studio 中连接器的总体使用流程。

  1. 订阅 Amazon Web Services Marketplace 中的连接器,或者开发自己的连接器并将其上载到 Amazon Glue Studio。有关更多信息,请参阅 将连接器添加到 Amazon Glue Studio

  2. 查看连接器使用信息。您可以在连接器产品页面上的 Usage (使用) 选项卡上找到此类信息。例如,如果您在此适用于 Google BigQuery 的 Amazon Glue 连接器产品页面上单击 Usage (使用) 选项卡,则可以在 Additional Resources (其他资源) 部分查看关于此连接器的使用博客的链接。其他连接器可能包含指向 Overview (概览) 部分中说明的链接,正如适用于 Amazon Glue 的 Cloudwatch Logs 连接器的连接器产品页面上所示。

  3. 创建连接。您可以选择要使用的连接器并为连接提供附加信息,例如登录凭证、URI 字符串和 Virtual Private Cloud(VPC)信息。有关更多信息,请参阅 为连接器创建连接

  4. 为您的任务创建 IAM 角色。作业代入您在创建它时指定的 IAM 角色的权限。此 IAM 角色必须具有对数据存储进行身份验证、从中提取数据和向其写入数据所需的权限。有关更多信息,请参阅审核 ETL 任务所需的 IAM 权限使用连接器所需的权限

  5. 创建 ETL 任务并配置 ETL 任务的数据源属性。按照自定义连接器提供程序的指示提供连接选项和身份验证信息。有关更多信息,请参阅 使用自定义连接器编写任务

  6. 添加转换或其他数据存储以自定义 ETL 任务,如在 Amazon Glue Studio 中编辑 ETL 任务中所示。

  7. 如果为数据目标使用连接器,请为 ETL 任务配置数据目标属性。按照自定义连接器提供程序的指示提供连接选项和身份验证信息。有关更多信息,请参阅 使用自定义连接器编写任务

  8. 配置任务属性以自定义任务运行环境,如修改任务属性中所示。

  9. 运行作业。

将连接器添加到 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 中的 Featured products (特色产品) 中,选择要使用的连接器。您可以选择其中一个特色连接器,也可以进行搜索。您可以搜索连接器的名称或类型,也可以使用选项来优化搜索结果。

    如果您要使用其中一个特色连接器,请选择 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 中的连接)。

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

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

    或者,您可以选择 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

  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 密钥可以安全地存储身份验证和凭证信息,并在运行时将其提供给 ETL 任务。或者,您还可以在 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")
  3. 将自定义连接器打包为 JAR 文件,然后将文件上载到 Amazon S3。

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

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

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

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

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

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

    • 您的连接器类型,可以是 JDBCSpark 或者 Athena

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

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

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

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

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

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

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

为连接器创建连接

Amazon Glue 连接是存储特定数据存储的连接信息的数据目录对象。这些连接存储登录凭证、URI 字符串、Virtual Private Cloud (VPC) 等信息。在数据目录中创建连接,就可以不必在每次创建任务时都指定所有连接详细信息。

注意

使用 Amazon Glue 控制台创建的连接不会在 Amazon Glue Studio 中显示。

为连接器创建连接

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

  2. 选择要为其创建连接的连接器,然后选择 Create connection (创建连接)

  3. Create connection (创建连接) 页面上,为您的连接输入名称以及(可选)描述。

  4. 输入连接详细信息。根据所选连接器的类型,系统会提示您输入附加信息:

    • 输入请求的身份验证信息(如用户名和密码),或选择 Amazon 密钥。

    • 对于使用 JDBC 的连接器,请输入为数据存储创建 JDBC URL 所需的信息。

    • 如果您使用 Virtual Private Cloud(VPC),请为 VPC 输入网络信息。

  5. 选择 Create connection (创建连接)

    您将返回到 Connectors (连接器) 页面,信息性广告条会指示已创建的连接。您现在可以在您的 Amazon Glue Studio 任务中使用连接,如创建使用连接器的任务中所示。

使用自定义连接器编写任务

您可以在 Amazon Glue Studio 中为数据源节点和数据目标节点使用连接器和连接。

创建任务,为数据源使用连接器

创建新任务时,可以为数据源和数据目标选择连接器。

创建任务,为数据源或数据目标使用连接器

  1. 登录 Amazon Web Services Management Console,然后通过以下网址打开 Amazon Glue Studio 控制台:https://console.aws.amazon.com/gluestudio/

  2. Connectors (连接器) 页面的 Your connections (您的连接) 资源列表中,选择要在任务中使用的连接,然后选择 Create job (创建任务)

    或者,在 Amazon Glue Studio Jobs (任务) 页面的 Create job (创建任务) 下面,选择 Source and target added to the graph (已添加到图形中的源和目标)。在 Source (源) 下拉列表中,选择要在任务中使用的自定义连接器。还可以为 Target (目标) 选择连接器。

    
              该图像是已选择 Source (源) 下拉列表的 Jobs (任务) 页面的屏幕截图,显示了可以为任务选择的各种数据源,包括连接器。
  3. 选择 Create (创建) 以打开可视化任务编辑器。

  4. 配置数据源节点,如为使用连接器的节点配置源属性中所示。

  5. 添加转换、其他数据存储和数据目标以继续创建 ETL 任务,如在 Amazon Glue Studio 中编辑 ETL 任务中所示。

  6. 配置任务属性以自定义任务运行环境,如修改任务属性中所示。

  7. 保存并运行任务。

为使用连接器的节点配置源属性

创建为数据源使用连接器的任务后,可视任务编辑器将显示任务图,其中包含为连接器配置的数据源节点。您必须为该节点配置数据源属性。

为使用连接器的数据源节点配置属性

  1. 选择任务图中的连接器数据源节点,或者添加新节点,然后为 Node type (节点类型) 选择连接器。然后,在右侧的节点详细信息面板中,选择 Data source properties (数据源属性) 选项卡(如果尚未选择)。

    
              该图像是 Amazon Glue Studio 可视化任务编辑器页面屏幕截图,其中在图形中选择了一个数据源节点。已选择右侧面板中的 Data source properties (数据源属性) 选项卡。为数据源属性显示的字段为 Connection (连接)(可用连接的下拉列表,后跟 Refresh (刷新) 按钮)和 Add schema (添加架构) 按钮。其他连接选项部分以折叠状态显示。
  2. Data source properties (数据源属性) 选项卡上,选择要用于此任务的连接。

    输入每种连接类型所需的附加信息:

    JDBC
    • Data source input type (数据源输入类型):选择以提供表名称或 SQL 查询作为数据源。根据您的选择,您需要提供以下附加信息:

      • Table name (表名称):数据源中表的名称。如果数据源未使用术语,则提供适当数据结构的名称,如自定义连接器使用信息所示(Amazon Web Services Marketplace 中提供)。

      • Filter predicate (筛选条件谓词):读取数据源时使用的条件子句,类似于 WHERE 子句,用于检索数据的子集。

      • Query code (查询代码):输入用于从数据源检索特定数据集的 SQL 查询。基本 SQL 查询示例:

        SELECT column_list FROM table_name WHERE where_clause
    • Schema (架构):因为 Amazon Glue Studio 使用存储在连接中的信息来访问数据源,而不是从数据目录表中检索元数据信息,所以您必须为数据源提供架构元数据。选择 Add schema (添加架构),打开架构编辑器。

      有关如何使用架构编辑器的说明,请参阅编辑自定义转换节点的架构

    • Partition column (分区列):(可选)您可以为 Partition Column (分区列)Lower bound (下限)Upper bound (上限)Number of partitions (分区数) 提供值,对数据读取进行分区。

      lowerBoundupperBound 值用于确定分区步长,而不是用于筛选表中的行。对表中的所有行进行分区并返回。

      注意

      列分区为用于读取数据的查询添加额外的分区条件。使用查询(而不是表名称)时,您应验证查询是否适用于指定的分区条件。例如:

      • 如果您的查询格式为 "SELECT col1 FROM table1",则在使用分区列的查询结尾附加 WHERE 子句,以测试查询。

      • 如果您的查询格式为 "SELECT col1 FROM table1 WHERE col2=val",则通过 AND 和使用分区列的表达式扩展 WHERE 子句,以测试查询。

    • Data type casting (数据类型转换):如果数据源使用 JDBC 中不可用的数据类型,请使用此部分指定如何将数据源中的数据类型转换为 JDBC 数据类型。您最多可指定 50 个不同的数据类型转换。数据源中使用相同数据类型的所有列都将以相同的方式进行转换。

      例如,如果数据源中有三列使用 Float 数据类型,并且您指示 Float 数据类型应转换为 JDBC String 数据类型,则使用 Float 数据类型的所有三列将转换为 String 数据类型。

    • Job bookmark keys (任务书签键):任务书签可帮助 Amazon Glue 维护状态信息,并防止重新处理旧数据。指定一个或多个列为书签键。Amazon Glue Studio 使用书签键跟踪上次运行 ETL 任务期间已处理的数据。用于自定义书签键的列都必须严格单调递增或递减,但是允许有间隙。

      如果您输入多个书签键,它们将合并成一个复合键。复合任务书签键不应包含重复的列。如果不指定书签键,则预设情况下,Amazon Glue Studio 将使用主键作为书签键,前提是主键按顺序递增或递减(没有间隙)。如果表没有主键,但任务书签属性已启用,则必须提供自定义任务书签键。否则,无法搜索用作默认值的主键,任务运行将失败。

    • Job bookmark keys sorting order (任务书签键排序):选择键值是按顺序递增还是递减。

    Spark
    • Schema (架构):因为 Amazon Glue Studio 使用存储在连接中的信息来访问数据源,而不是从数据目录表中检索元数据信息,所以您必须为数据源提供架构元数据。选择 Add schema (添加架构),打开架构编辑器。

      有关如何使用架构编辑器的说明,请参阅编辑自定义转换节点的架构

    • Connection options (连接选项):根据需要输入其他键值对,提供其他连接信息或选项。例如,您可以输入数据库名称、表名、用户名和密码。

      例如,对于 OpenSearch,您可以输入以下键值对,如教程:使用开源 Elasticsearch Spark Connector中所述:

      • es.net.http.auth.user : username

      • es.net.http.auth.pass : password

      • es.nodes : https://<Elasticsearch endpoint>

      • es.port : 443

      • path: <Elasticsearch resource>

      • es.nodes.wan.only : true

    有关要使用的最小连接选项的示例,请参阅 GitHub 上的测试脚本示例 MinimalSparkConnectorTest.scala,显示了您通常在连接中提供的连接选项。

    Athena
    • Table name (表名称):数据源中表的名称。如果您使用从 Athena-CloudWatch logs 读取数据的连接器,则需要输入表名 all_log_streams

    • Athena schema name (Athena 架构名称):在 Athena 数据源中选择与包含该表的数据库相对应的架构。如果您使用从 Athena-CloudWatch logs 读取数据的连接器,则需要输入类似于 /aws/glue/name 的表名。

    • Schema (架构):因为 Amazon Glue Studio 使用存储在连接中的信息来访问数据源,而不是从数据目录表中检索元数据信息,所以您必须为数据源提供架构元数据。选择 Add schema (添加架构),打开架构编辑器。

      有关如何使用架构编辑器的说明,请参阅编辑自定义转换节点的架构

    • Additional connection options (其他连接选项):根据需要输入其他键值对,提供其他连接信息或选项。

    有关示例,请参阅 README.md 文件,网址为 https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/Athena。在本文档中的步骤中,示例代码显示了所需的最小连接选项,即 tableNameschemaNameclassName。代码示例将这些选项指定为 optionsMap 变量,但您可以为连接指定它们,然后使用连接。

  3. (可选)提供所需信息后,您可以选择节点详细信息面板中的 Output schema (输出架构) 选项卡,查看生成的数据架构。此选项卡上显示的架构将由您添加到任务图的子节点使用。

  4. (可选)配置节点属性和数据源属性后,您可以选择节点详细信息窗格中的 Data preview (数据预览) 选项卡来预览数据源的数据集。当您首次为任务中的任何节点选择此选项卡时,系统会提示您提供 IAM 角色以访问数据。使用此功能会产生相关费用,并且一旦您提供 IAM 角色,则会立即开始计费。

为使用连接器的节点配置目标属性

如果将连接器用于数据目标类型,则必须配置数据目标节点的属性。

为使用连接器的数据目标节点配置属性

  1. 在任务图中选择连接器数据目标节点。然后,在右侧的节点详细信息面板中,选择 Data target properties (数据目标属性) 选项卡(如果尚未选择)。

  2. Data target properties (数据目标属性) 选项卡上,选择用于写入目标的连接。

    输入每种连接类型所需的附加信息:

    JDBC
    • Connection (连接):选择要与连接器一起使用的连接。有关如何创建连接的信息,请参阅为连接器创建连接

    • Table name (表名称):数据目标中表的名称。如果数据目标未使用术语,则提供适当数据结构的名称,如自定义连接器使用信息所示(Amazon Web Services Marketplace 中提供)。

    • Batch size (批处理大小)(可选):在单个操作中输入要在目标表中插入的行数或记录数。默认值是 1000 行。

    Spark
    • Connection (连接):选择要与连接器一起使用的连接。如果以前未创建连接,请选择 Create connection (创建连接) 创建一个。有关如何创建连接的信息,请参阅为连接器创建连接

    • Connection options (连接选项):根据需要输入其他键值对,提供其他连接信息或选项。您可以输入数据库名称、表名、用户名和密码。

      例如,对于 OpenSearch,您可以输入以下键值对,如教程:使用开源 Elasticsearch Spark Connector中所述:

      • es.net.http.auth.user : username

      • es.net.http.auth.pass : password

      • es.nodes : https://<Elasticsearch endpoint>

      • es.port : 443

      • path: <Elasticsearch resource>

      • es.nodes.wan.only : true

    有关要使用的最小连接选项的示例,请参阅 GitHub 上的测试脚本示例 MinimalSparkConnectorTest.scala,显示了您通常在连接中提供的连接选项。

  3. 提供所需信息后,您可以选择节点详细信息面板中的 Output schema (输出架构) 选项卡,查看生成的数据架构。

管理连接器和连接

您可以在 Amazon Glue Studio 中使用 Connectors (连接器) 页面管理您的连接器和连接。

查看连接器和连接详细信息

您可以在 Connectors (连接) 页面上的 Your connectors (您的连接器)Your connections (您的连接) 资源表中,查看关于您的连接器和连接的摘要信息。要查看详细信息,请执行以下步骤。

注意

使用 Amazon Glue 控制台创建的连接不会在 Amazon Glue Studio 中显示。

查看连接器或连接详细信息

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

  2. 选择要查看其详细信息的连接器或连接。

  3. 选择 Actions (操作),然后选择 View details (查看详细信息),打开相应连接器或连接的详细信息页面。

  4. 在详细信息页面上,您可以选择 Edit (编辑) 或者 Delete (删除) 连接器或连接。

    • 对于连接器,可以选择 Create connection (创建连接),创建使用连接器的新连接。

    • 对于连接,您可以选择 Create job (创建任务),创建使用连接的任务。

编辑连接器和连接

您可以使用 Connectors (连接器) 页面更改您的连接器和连接中存储的信息。

修改连接器或连接

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

  2. 选择要更改的连接器或连接。

  3. 选择 Actions,然后选择 Edit

    您还可以选择 View details (查看详细信息),然后在连接器或连接详细信息页面上,选择 Edit (编辑)

  4. Edit connector (编辑连接器) 或者 Edit connection (编辑连接) 页面上,更新信息,然后选择 Save (保存)

删除连接器和连接

您可以使用 connector (连接器) 页面删除连接器和连接。如果删除某个连接器,还应删除为该连接器创建的所有连接。

要从 Amazon Glue Studio 中删除连接器,请执行以下操作

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

  2. 选择要删除的连接器或连接。

  3. 选择 Actions,然后选择 Delete

    您还可以选择 View details (查看详细信息),然后在连接器或连接详细信息页面上,选择 Delete (删除)

  4. 确认您要删除连接器或连接,方法是输入 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 中连接器的订阅

  1. 登录 Amazon Web Services Marketplace,然后通过以下网址打开 控制台:https://console.aws.amazon.com/marketplace

  2. 选择 Manage subscriptions (选择订阅)

  3. Manage subscriptions (管理订阅) 页面上,选择要取消的连接器订阅旁边的 Manage (管理)

  4. 依次选择 Actions (操作)Delete Subscriptions (删除订阅)

  5. 选中此复选框,确认正在运行的实例会向您的账户收取费用,然后选择 Yes, cancel subscription (是,取消订阅)

开发自定义连接器

您可以编写从数据存储中读取数据或向数据存储写入数据的代码,并将数据格式化以用于 Amazon Glue Studio 任务。您可以为 Spark、Athena 和 JDBC 数据存储创建连接器。GitHub 上发布的示例代码概述了您需要实现的基本接口。

您需要用于创建连接器代码的本地开发环境。您可以使用任意 IDE,甚至只使用命令行编辑器来编写连接器。开发环境示例包括:

开发 Spark 连接器

您可以使用 Spark DataSource API V2(Spark 2.4)创建 Spark 连接器来读取数据。

创建自定义 Spark 连接器

按照 Amazon Glue GitHub 示例库中的步骤开发 Spark 连接器,该库位于 https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/Spark/README.md

开发 Athena 连接器

您可以创建 Athena 连接器,供 Amazon Glue 和 Amazon Glue Studio 查询自定义数据源。

创建自定义 Athena 连接器

按照 Amazon Glue GitHub 示例库中的步骤开发 Athena 连接器,该库位于 https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/Athena

开发 JDBC 连接器

您可以创建使用 JDBC 访问数据存储的连接器。

创建自定义 JDBC 连接器

  1. 在本地开发环境中安装 Amazon Glue Spark 运行时库。请参阅 Amazon Glue GitHub 示例库中的说明,该库位于 https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/GlueSparkRuntime/README.md

  2. 实施负责从数据源检索数据的 JDBC 驱动程序。请参阅适用于 Java SE 8 的 Java 文档

    在您的代码内创建入口点,Amazon Glue Studio 将其用于查找您的连接器。Class name (类名称) 字段应该是 JDBC 驱动程序的完整路径。

  3. 借助连接器使用 GlueContext API 读取数据。用户可以在 Amazon Glue Studio 控制台中添加更多输入选项,配置与数据源的连接(如有必要)。有关演示如何使用自定义 JDBC 连接器读取和写入 JDBC 数据库的代码示例,请参阅自定义和 Amazon Web Services Marketplace connectionType 值

将自定义连接器与 Amazon Glue Studio 结合使用的示例

有关使用自定义连接器的示例,您可以参考以下博客:

为 Amazon Web Services Marketplace 开发 Amazon Glue 连接器

作为 Amazon 合作伙伴,您可以创建自定义连接器并将其上载到 Amazon Web Services Marketplace 以销售给 Amazon Glue 客户。

开发连接器代码的过程与自定义连接器相同,但上载和验证连接器代码的过程更为详细。请参阅 GitHub 网站上为 Amazon Web Services Marketplace 创建连接器中的说明。

Amazon Glue Studio 中连接器和连接的使用限制

当您从 Amazon Web Services Marketplace 使用自定义连接器或连接器,请注意以下限制:

  • 为自定义连接器创建的连接不支持 testConnection API。

  • 自定义连接器不支持数据目录连接密码加密。

  • 如果为使用 JDBC 连接器的数据源节点指定筛选条件谓语,则无法使用任务书签。