执行 Amazon Redshift COPY
从您的查询工具登录 Amazon Redshift 集群并使用下面的 DDL 创建客户表。
SQL
2.现在,您可以成功运行下面的 COPY 语句。
SQL
注意:替换账户 B 中的 IAM 角色 ARN,用逗号隔开,周围不加任何空格。
3.运行下面的示例查询,以确认数据已成功加载。
SQL
为要查询的 Redshift Spectrum 设置 AWS Glue 数据目录表
现在,我们在账户 B 中创建 AWS Glue 爬网程序,以对相同的
客户数据进行爬网,并按照下面的步骤在 AWS Glue 数据目录数据库
spectrumdb_account_b 中创建称为
客户的表:
在 AWS Glue 控制台中导航至数据库并选择添加数据库以创建称为
spectrumdb_account_b 的 AWS Glue 数据目录数据库,如下所示。
在 AWS Glue 控制台中导航至爬网程序并选择添加爬网程序,如下所示。
如下所示创建爬网程序
customerxacct。
注意:爬网程序作业名称(在此案例中为
customerxacct)与爬网程序创建的表名称不同(经常容易混淆)。表名称从前缀中自动选择,文件夹名称从 S3 存储桶和文件夹结构中自动选择。如果需要,您还可以选择附加表名称前缀。 __
选择下一步进入
客户表的数据存储详细信息,如下所示。
选择下一步进入添加另一个数据存储,我们保留默认设置否,因为我们没有要添加的任何其他数据存储。
选择下一步,为要使用的爬网程序选择早前创建的 IAM 角色
glue_service_role_account_b,如下所示。
选择下一步进入计划页面,然后选择您希望此爬网程序作业运行的计划。在此示例中,我们可以选择按需运行。
选择下一步,以将 AWS Glue 数据目录数据库 spectrumdb_account_b(早前通过创建外部架构命令创建)选为爬网程序输出位置。
选择下一步以进入查看页面。
查看详细信息后,选择完成以完成爬网程序的创建。
现在,我们通过如下所示选择作业并选择运行爬网程序来运行爬网程序作业。
等待作业完成。作业状态从正在开始改变为停止,再改变为就绪。您可以选择刷新按钮来了解最新状态。
如果作业失败,失败情况将记录在 Amazon CloudWatch Logs 中。要查看日志,请选择前面的屏幕截图中所示的日志,然后您将进入 CloudWatch Logs。
现在,我们进入 AWS Glue 数据目录数据库,以确保表格存在。
选择数据库,选择
spectrumdb_account_b 数据库,然后选择查看表,或选择数据库名称的超链接。您应该会看到如下所示的客户表。
选择客户超链接以进入外部表,详细信息如下。
由于数据文件没有标题记录,AWS Glue 爬网程序已分配一个默认的列命名约定,如前所示。对于客户表,该命名从列 0 到列 7
选择编辑架构并按照下面的映射分配适当的列名称。
c0 => c_custkey
c1 => c_name
c2 => c_address
c3 => c_city
c4 => c_nation
c5 => c_region
c6 => c_phone
c7 => c_mktsegment
完成时,选择保存。
本文转载自 AWS 技术博客。
评论