本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
教程设置:开发终端节点教程的先决条件
开发终端节点创建了一个环境,在该环境中,您可以通过各种方式交互式地测试和调试 ETL 脚本(在将它们作为 Amazon Glue 任务运行前)。本节中的教程演示了如何使用不同的 IDE 执行此操作。所有这些教程都假定您已设置开发终端节点并爬网示例数据,以使用以下章节中的步骤在 Amazon Glue Data Catalog 中创建表。
由于您在一些情况下只使用 Amazon Simple Storage Service(Amazon S3)数据,在另一些情况下混合使用 JDBC 和 Amazon S3 数据,您将分别设置一个不在 Virtual Private Cloud(VPC)中和一个在 Virtual Private Cloud(VPC)中的开发终端节点。
爬取教程中使用的示例数据
第一步是创建一个爬网程序,它可以对某些示例数据进行爬取并在数据目录的表中记录有关该数据的元数据。所使用的示例数据提取自 http://everypolitician.org/
登录 Amazon Web Services Management Console,然后打开 Amazon Glue 控制台,网址为:https://console.aws.amazon.com/glue/
。 在 Amazon Glue 控制台的导航窗格中选择 Databases (数据库),然后选择 Add database (添加数据库)。将数据库命名为
legislators
。-
选择 Crawlers (爬网程序),然后选择 Add crawler (添加爬网程序)。将爬网程序命名为
legislator_crawler
,然后选择 Next (下一步)。 -
接受默认爬网程序源类型(Data stores (数据存储))并单击 Next (下一步)。
-
将 S3 保留为数据存储。在 Crawl data in (对以下位置的数据进行爬网) 中,选择 Specified path in another account (另一个账户中的指定路径)。然后在 Include path (包含路径) 框中,输入
s3://awsglue-datasets/examples/us-legislators/all
。选择 Next (下一步),再选择 Next (下一步) 以确认您不想添加另一个数据存储。 -
提供爬网程序运行时代入的 IAM 角色。
提供一个可访问
s3://awsglue-datasets/examples/us-legislators/all
的角色,或选择 Create an IAM role (创建 IAM 角色) 并输入一个名称以创建有权访问该位置的角色。 -
选择 Next (下一步),然后再次选择 Next (下一步) 以确认此爬网程序将在需要时运行。
-
对于 Database (数据库),选择
legislators
数据库。选择 Next (下一步),然后选择 Finish (完成) 以完成新爬网程序的创建。 -
再次在导航窗格中选择 Crawlers (爬网程序)。选中新
legislator_crawler
爬网程序旁的复选框,然后选择 Run crawler (运行爬网程序)。 -
在导航窗格中选择 Databases (数据库)。选择
legislators
数据库,然后选择 Tables in legislators (议员表)。您应该在数据目录中看到爬网程序创建的 6 个表,其中包含爬网程序检索到的元数据。
为 Amazon S3 数据创建开发终端节点
接下来一步是为 Amazon S3 数据创建开发终端节点。当您使用 JDBC 数据源或目标时,必须使用 VPC 创建开发终端节点。但是,在本教程中,如果您只想访问 Amazon S3,则不必如此。
-
在 Amazon Glue 控制台中,选择 Dev endpoints (开发终端节点)。选择 Add endpoint (添加终端节点)。
-
指定终端节点名称,如
demo-endpoint
。 -
选择一个 IAM role (IAM 角色),该角色与您用于运行 Amazon Glue ETL 任务的 IAM 角色具有相似的权限。有关更多信息,请参阅 步骤 2:为 Amazon Glue 创建 IAM 角色。选择下一步。
-
在 Networking (网络) 中,将 Skip networking information (跳过网络信息) 保持选中状态,然后选择 Next (下一步)。
-
在 SSH Public Key (SSH 公有密钥) 中,输入由 SSH 密钥生成器程序(如 ssh-keygen)(请勿使用 Amazon EC2 密钥对)生成的公有密钥。生成的公有密钥将导入到您的开发终端节点。保存相应的私有密钥以在稍后使用 SSH 连接到开发终端节点。选择下一步。有关更多信息,请参阅 Wikipedia 中的 ssh-keygen
。 注意
在 Microsoft Windows 上生成密钥时,使用当前版本的 PuTTYgen 并从 PuTTYgen 窗口将公有密钥粘贴到 Amazon Glue 控制台中。生成 RSA 密钥。不要使用公有密钥上传文件,而改用在字段 Public key for pasting into OpenSSH authorized_keys file (要粘贴到 OpenSSH authorized_keys 文件中的公有密钥) 中生成的密钥。可在 PuTTY 中使用相应的私有密钥 (.ppk) 来连接到开发终端节点。要在 Windows 上使用 SSH 连接到开发终端节点,请使用 PuTTYgen Conversion (转换) 菜单将私有密钥从
.ppk
格式转换为 OpenSSH.pem
格式。有关更多信息,请参阅使用 PuTTY 从 Windows 连接到 Linux 实例。 -
在 Review (审核) 中,选择 Finish (完成)。在开发终端节点创建后,等待其预置状态转为 READY (就绪)。
创建要用于输出的 Amazon S3 位置
如果您还没有存储桶,请按照创建存储桶中的说明进行操作,以在 Amazon S3 中设置一个存储桶,您可以在其中保存来自示例 ETL 脚本的输出。
使用 VPC 创建开发终端节点
虽然本教程不需要,但如果您的 ETL 语句同时访问 Amazon S3 和 JDBC 数据存储,则需要 VPC 开发终端节点。在这种情况下,当您创建开发终端节点时,请指定包含您的 JDBC 数据存储的 Virtual Private Cloud(Amazon VPC)的网络属性。在开始之前,请按 为 Amazon Glue 设置开发网络 中所述设置您的环境。
-
在 Amazon Glue 控制台中,选择导航窗格中的 Dev endpoints (开发终端节点)。然后选择 Add endpoint (添加终端节点)。
-
指定终端节点名称,如
vpc-demo-endpoint
。 -
选择一个 IAM role (IAM 角色),该角色与您用于运行 Amazon Glue ETL 任务的 IAM 角色具有相似的权限。有关更多信息,请参阅 步骤 2:为 Amazon Glue 创建 IAM 角色。选择下一步。
-
在 Networking (网络) 中,指定 Amazon VPC、子网和安全组。此信息用于创建可以安全地连接到您的数据资源的开发终端节点。在填写终端节点的属性时,请考虑以下建议:
如果已建立与您的数据存储的连接,可以从现有连接检索连接详细信息,以备在为您的端点配置 Amazon VPC、子网和安全组参数时使用。否则,请分别指定这些参数。
确保您的 Amazon VPC 将 Edit DNS hostnames (编辑 DNS 主机名) 设置为 yes (是)。可在 Amazon VPC 控制台(https://console.aws.amazon.com/vpc/
)中设置此参数。有关更多信息,请参阅在 VPC 中设置 DNS: 在本教程中,请确保您选择的 Amazon VPC 有一个 Amazon S3 VPC 终端节点。有关如何创建 Amazon S3 VPC 终端节点的信息,请参阅适用于 Amazon S3 的 Amazon VPC 终端节点。
-
为您的开发终端节点选择公有子网。您可以通过向 Internet 网关添加路由来将一个子网设为公有子网。对于 IPv4 流量,请创建一个 Destination (目的地) 为
0.0.0.0/0
且 Target (目标) 为 Internet 网关 ID 的路由。您的子网的路由表应与 Internet 网关 (而不是 NAT 网关) 关联。可在 Amazon VPC 控制台(https://console.aws.amazon.com/vpc/)设置此信息。例如: 有关更多信息,请参阅 Internet 网关的路由表。有关如何创建 Internet 网关的信息,请参阅 Internet 网关。
-
确保您选择具有入站自引用规则的安全组。可在 Amazon VPC 控制台 (https://console.aws.amazon.com/vpc/
) 设置此信息。例如: 有关如何设置子网的更多信息,请参阅为 Amazon Glue 设置开发网络。
选择下一步。
-
在 SSH Public Key (SSH 公有密钥) 中,输入由 SSH 密钥生成器程序(请勿使用 Amazon EC2 密钥对)生成的公有密钥。保存相应的私有密钥以在稍后使用 SSH 连接到开发终端节点。选择下一步。
注意
在 Microsoft Windows 上生成密钥时,使用当前版本的 PuTTYgen 并从 PuTTYgen 窗口将公有密钥粘贴到 Amazon Glue 控制台中。生成 RSA 密钥。不要使用公有密钥上传文件,而改用在字段 Public key for pasting into OpenSSH authorized_keys file (要粘贴到 OpenSSH authorized_keys 文件中的公有密钥) 中生成的密钥。可在 PuTTY 中使用相应的私有密钥 (.ppk) 来连接到开发终端节点。要在 Windows 上使用 SSH 连接到开发终端节点,请使用 PuTTYgen Conversion (转换) 菜单将私有密钥从
.ppk
格式转换为 OpenSSH.pem
格式。有关更多信息,请参阅使用 PuTTY 从 Windows 连接到 Linux 实例。 -
在 Review (审核) 中,选择 Finish (完成)。在开发终端节点创建后,等待其预置状态转为 READY (就绪)。
您现在已准备好尝试本节中的教程: