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

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

使用连接器和连接AmazonGlue 工作室

Amazon Glue提供对最常用的数据存储(例如Amazon Redshift、Amazon Aurora、Microsoft SQL Server、MySQL、MongoDB 和 PostgreSQL)。Amazon Glue还允许您在提取、转换和加载 (ETL) 作业中使用自定义 JDBC 驱动程序。对于本机不支持的数据存储(如 SaaS 应用程序),可以使用连接器。

A连接器是一个可选的代码包,可帮助访问AmazonGlue 工作室。您可以订阅中提供的几个连接器 Amazon Web Services Marketplace 。

创建 ETL 作业时,您可以使用本机支持的数据存储, Amazon Web Services Marketplace 或您自己的自定义连接器。如果使用连接器,则必须首先为连接器创建连接。A连接包含连接到特定数据存储所需的属性。您将使用与 ETL 作业中的数据源和数据目标的连接。连接器和连接协同工作,方便访问数据存储。

使用连接器和连接的概述

A连接包含连接到特定数据存储所需的属性。当您创建连接时,它将存储在Amazon Glue Data Catalog。选择一个连接器,然后创建基于该连接器的连接。

您可以在 Amazon Web Services Marketplace ,然后在创建连接时使用这些连接器。开发人员还可以创建自己的连接器,您可以在创建连接时使用它们。

注意

使用Amazon Glue控制台不会显示在AmazonGlue 工作室。使用自定义或 Amazon Web Services Marketplace 连接器在AmazonGlue 工作室出现在Amazon Glue控制台,类型设置为UNKNOWN

以下步骤介绍了在AmazonGlue 工作室:

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

  2. 检查连接器使用率信息。您可以在中找到这些信息。用量选项卡上的连接器产品页面上。例如,如果您单击用量选项卡,Amazon GlueGoogle 大查询连接器,您可以在其他资源部分指向有关使用此连接器的博客的链接。其他连接器可能包含指向概述部分的连接器产品页面上显示云监视日志连接器Amazon Glue

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

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

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

  6. 通过添加转换或其他数据存储来自定义 ETL 作业,如在中编辑 ETL 作业AmazonGlue 工作室

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

  8. 通过配置作业属性来自定义作业运行环境,如修改作业属性

  9. 运行作业。

将连接器添加到AmazonGlue 工作室

连接器是一段代码,它可以帮助您的数据存储和Amazon Glue。您可以订阅 Amazon Web Services Marketplace ,或者您也可以创建自己的自定义连接器。

订阅 Amazon Web Services Marketplace 连接器

AmazonGlue 工作室可以轻松地从 Amazon Web Services Marketplace 。

要添加连接器,请从 Amazon Web Services Marketplace 到AmazonGlue 工作室

  1. 在AmazonGlue 工作室控制台,选择连接器在控制台导航窗格中。

  2. 在存储库的连接器页面上,选择转到 Amazon Web Services Marketplace

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

    如果要使用其中一个功能连接器,请选择查看产品。如果使用搜索来查找连接器,请选择连接器的名称。

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

  5. 提供付款信息,然后选择继续配置

  6. 在存储库的配置此软件页面上,选择部署方法和要使用的连接器版本。然后选择 。继续启动

  7. 在存储库的启动此软件页面上,您可以查看使用说明由连接器提供程序提供。准备好继续后,选择在中激活连接AmazonGlue 工作室

    经过一小段时间后,控制台将显示创建商城连接页面位于AmazonGlue 工作室。

  8. 创建使用此连接器的连接,如创建连接器的连接

    或者,您也可以选择仅激活连接器以在此时跳过创建连接。您必须在以后某个日期创建连接才能使用连接器。

创建自定义连接器

您还可以构建自己的连接器,然后将连接器代码上传到AmazonGlue 工作室。

自定义连接器集成到AmazonGlue 工作室通过Amazon GlueSpark 运行时 API。这些区域有:Amazon GlueSpark 运行时允许您插入任何符合 Spark、Athena 或 JDBC 接口的连接器。它允许您传递自定义连接器可用的任何连接选项。

您可以将所有连接属性封装为Amazon Glue连接并为 ETL 作业提供连接名称。通过与数据目录连接的集成,您可以在单个 Spark 应用程序中或跨不同应用程序的多个调用中使用相同的连接属性。

您可以为连接指定其他选项。作业脚本AmazonGlue 工作室生成包含Datasource条目,该条目使用连接通过指定的连接选项插入连接器。例如:

Datasource = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"dbTable":"Account","connectionName":"my-custom-jdbc- connection"}, transformation_ctx = "DataSource0")

将自定义连接器添加到AmazonGlue 工作室

  1. 为自定义连接器创建代码。有关更多信息,请参阅 开发自定义连接器

  2. 增加了对 的支持Amazon Glue功能添加到连接器。以下是这些功能的一些示例,以及如何在AmazonGlue 工作室:

    • 数据类型映射— 连接器可以在从基础数据存储中读取列的同时对列进行类型化。例如,一个dataTypeMapping{"INTEGER":"STRING"}转换所有类型为Integer转换为类型的列String解析记录并构造DynamicFrame。这有助于用户将列转换为他们选择的类型。

      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存储凭证-数据目录连接还可以包含secretId,以获取存储在Amazon Secrets Manager。这些区域有:Amazon密钥可以安全地存储身份验证和凭据信息,并在运行时将其提供给 ETL 作业。或者,您也可以指定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 GlueSpark 运行时还允许用户向下推送 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 作业运行中处理新的数据记录。Job 书签使用主键作为书签键的默认列,前提是此列按顺序增加或减少。有关任务书签的更多信息,请参阅。作业书签中的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. 测试您的自定义连接器。有关更多信息,请参阅 GitHub 上的说明:Glue 定制连接器:本地验证测试指南

  5. 在AmazonGlue 工作室控制台,选择连接器在控制台导航窗格中。

  6. 在存储库的连接器页面上,选择创建自定义连接器

  7. 在存储库的创建自定义连接器页面上,输入以下信息:

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

    • 连接器的名称,该名称将由AmazonGlue 工作室。

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

    • 自定义代码中的入口点的名称AmazonGlue 工作室调用使用连接器。

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

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

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

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

  8. 选择创建连接器

  9. 连接器页面上,创建使用此连接器的连接,如创建连接器的连接

创建连接器的连接

网络 ACL 和安全组都允许 (因此可到达您的实例) 的发起 ping 的Amazon Glue连接是存储特定数据存储的连接信息的 Data Catalog 对象。这些连接存储登录凭证、URI 字符串、Virtual Private Cloud (VPC) 等信息。在 Data Catalog 中创建连接,无需在每次创建作业时都指定所有连接详细信息。

注意

使用Amazon Glue控制台不会显示在AmazonGlue 工作室。

为连接器创建连接

  1. 在AmazonGlue 工作室控制台,选择连接器在控制台导航窗格中。

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

  3. 在存储库的创建连接页面上,为您的连接输入名称和(可选)描述。

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

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

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

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

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

    您将返回到连接器页面,信息性横幅指示已创建的连接。现在,您可以在AmazonGlue 工作室作业,如创建使用连接器的作业

使用自定义连接器创作作业

您可以将连接器和连接用于AmazonGlue 工作室。

创建使用数据源连接器的作业

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

创建使用数据源或数据目标连接器的作业

  1. 登录到Amazon Web Services Management Console并打开AmazonGlue 工作室控制台https://console.aws.amazon.com/gluestudio/

  2. 在存储库的连接器页面上,在您的连接资源列表中,选择要在作业中使用的连接,然后选择创建作业

    或者,在AmazonGlue 工作室作业页面,在创建作业中,选择已添加到图形中的源和目标。在下拉列表中,选择要在作业中使用的自定义连接器。还可以为选择连接器目标

    
              该图像是 “作业” 页面的屏幕截图,其中选择了 “源” 下拉列表,显示了可以为作业选择的各种数据源,包括连接器。
  3. 选择Create以打开可视作业编辑器。

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

  5. 通过添加转换、其他数据存储和数据目标继续创建 ETL 作业,如在中编辑 ETL 作业AmazonGlue 工作室

  6. 通过配置作业属性来自定义作业运行环境,如修改作业属性

  7. 保存并运行作业。

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

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

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

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

    
              该图像是AmazonGlue Studio 可视化作业编辑器页面,其中在图形中选择了一个数据源节点。右侧的 “数据源属性” 选项卡处于选中状态。为数据源属性显示的字段包括 “连接”(可用连接的下拉列表,后跟 “刷新” 按钮)和 “添加架构” 按钮。其他连接选项部分以折叠状态显示。
  2. 数据源属性选项卡上,选择要用于此作业的连接。

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

    JDBC
    • 数据源输入类型:选择以提供表名称或 SQL 查询作为数据源。根据您的选择,您需要提供以下额外的信息:

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

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

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

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

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

    • Partition Column:(可选)您可以选择对数据读取进行分区,方法是提供Partition Column下限上限, 和Partition 数

      这些区域有:lowerBoundupperBound值用于确定分区步长,而不是用于过滤表中的行。表中的所有行都将被分区并返回。

      注意

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

      • 如果您的查询格式为"SELECT col1 FROM table1",然后通过附加一个WHERE子句,在使用分区列的查询结尾。

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

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

      例如,如果您在数据源中有三个使用Float数据类型,并指示Float数据类型应转换为 JDBCString数据类型,则使用Float数据类型将转换为String数据类型。

    • Job 书签键:作业书签可帮助 Amazon Glue 维护状态信息,并可防止重新处理旧数据。指定一个多个列或多个列作为书签键。AmazonGlue Studio 使用书签键来跟踪上次运行 ETL 作业期间已处理的数据。用于自定义书签密钥的任何列都必须是严格单调增加或减少, 但是允许存在差距.

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

    • Job 书签键排序顺序:选择键值是按顺序递增还是递减。

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

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

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

      例如,对于 Elasticsearch,您可以输入以下键值对,如教程:使用开源弹性搜索火花连接器

      • 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

    有关要使用的最小连接选项的示例,请参阅测试脚本示例最小闪光连接器测试。斯卡拉,它显示了您通常在连接中提供的连接选项。

    Athena
    • 表名称:数据源中表的名称。如果您使用连接器从雅典娜 CloudWatch 日志读取,则需要输入表名all_log_streams

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

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

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

    • 其他连接选项:根据需要输入其他键值对以提供其他连接信息或选项。

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

  3. (可选)提供所需信息后,您可以通过选择输出架构选项卡中的节点详细信息面板。此选项卡上显示的方案将被添加到作业图中的任何子节点使用。

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

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

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

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

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

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

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

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

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

    Spark
    • Connection:选择要与连接器一起使用的连接。如果以前未创建连接,请选择创建连接来创建一个配置文件。有关如何创建连接的信息,请参阅。创建连接器的连接

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

      例如,对于 Elasticsearch,您可以输入以下键值对,如教程:使用开源弹性搜索火花连接器

      • 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

    有关要使用的最小连接选项的示例,请参阅测试脚本示例最小闪光连接器测试。斯卡拉,它显示了您通常在连接中提供的连接选项。

  3. 提供所需信息后,您可以通过选择输出架构选项卡中的节点详细信息面板。

管理连接器和连接

您可以使用连接器页面位于AmazonGlue 工作室管理您的连接器和连接。

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

您可以在您的连接器您的连接资源表连接器页. 要查看详细信息,请执行以下步骤。

注意

使用Amazon Glue控制台不会显示在AmazonGlue 工作室。

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

  1. 在AmazonGlue 工作室控制台,选择连接器在控制台导航窗格中。

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

  3. 选择操作,然后选择查看详细信息以打开该连接器或连接的详细信息页面。

  4. 在详情页面上,您可以选择编辑或者Delete标签 > 连接器或连接。

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

    • 对于连接,可以选择创建作业创建使用连接的任务。

编辑连接器和连接

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

修改连接器或连接

  1. 在AmazonGlue 工作室控制台,选择连接器在控制台导航窗格中。

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

  3. 选择 Actions,然后选择 Edit

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

  4. 在存储库的编辑连接器或者编辑连接页面上,更新相应信息,然后选择Save

删除连接器和连接

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

从中删除连接器AmazonGlue 工作室

  1. 在AmazonGlue 工作室控制台,选择连接器在控制台导航窗格中。

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

  3. 选择 Actions,然后选择 Delete

    还可以选择查看详细信息,然后在连接器或连接详细信息页面上,可以选择Delete

  4. 确认您要删除连接器或连接,方法是输入Delete,然后选择Delete

    删除连接器时,为该连接器创建的所有连接也将被删除。

使用已删除连接的任何作业将不再工作。您可以编辑作业以使用其他数据存储,也可以删除作业。有关如何删除任务的信息,请参阅。删除作业

如果删除连接器,则不会取消 Amazon Web Services Marketplace 。要删除已删除的连接器的订阅,请按照取消连接器的订阅

取消连接器的订阅

从中删除连接和连接器后AmazonGlue 工作室,您可以在 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. 选择管理订阅

  3. 在存储库的管理订阅页面上,选择Manage要取消的连接器订阅旁边。

  4. 选择操作,然后选择取消订阅

  5. 选中复选框以确认正在运行的实例将由您的账户收费,然后选择是,取消订阅

开发自定义连接器

您可以编写从数据存储中读取数据或向数据存储写入数据的代码,并将数据格式化以便与AmazonGlue 工作室的工作. 您可以为 Spark、Athena 和 JDBC 数据存储创建连接器。GitHub 上发布的示例代码概述了您需要实现的基本接口。

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

开发 Spark 连接器

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

创建自定义 Spark 连接器

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

开发 Athena 连接器

您可以创建一个 Athena 连接器,供Amazon Glue和AmazonGlue 工作室查询自定义数据源。

创建自定义 Athena 连接器

按中的步骤操作。Amazon GlueGitHub 示例库,用于开发 Athena 连接器,位于https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/Athena

开发 JDBC 连接器

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

创建自定义 JDBC 连接器

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

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

    在您的代码中创建一个入口点AmazonGlue 工作室用来定位您的连接器。这些区域有:类名称字段应该是 JDBC 驱动程序的完整路径。

  3. 使用GlueContextAPI 使用连接器读取数据。用户可以在AmazonGlue Studio 控制台配置与数据源的连接(如有必要)。有关演示如何使用自定义 JDBC 连接器读取和写入 JDBC 数据库的代码示例,请参阅自定义和。 Amazon Web Services Marketplace connectionType 值

使用自定义连接器的示例AmazonGlue 工作室

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

开发Amazon Glue连接器 Amazon Web Services Marketplace

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

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

使用连接器和连接的限制AmazonGlue 工作室

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

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

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

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

  • 目前,您无法将与数据预览一起使用自定义连接器。