本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
第 1 步:引导基础架构然后 Amazon Glue 作业
在此步骤中,您将使用 keyspaces-bulk-cli CLI 创建和配置将亚马逊密钥空间表自动数据导出到 Amazon S3 存储桶所需的所有 Amazon
资源。 Amazon Glue该bootstrap命令只需一个步骤即可执行所有设置任务。
该bootstrap命令自动执行以下任务。
使用创建 Amazon S3 存储桶和 IAM 服务角色 Amazon CloudFormation。
下载 Apache Spark Cassandra 连接器
、 SigV4 身份验证插件 和 Apache Spark 扩展。 使用 Maven 下载并构建 Keyspaces 重试策略
助手。 将所有 JAR 文件和
keyspaces-application.conf配置文件上传到 Amazon S3 存储桶。部署三个 Amazon Glue 任务:导出(将表导出到 Amazon S3)、导入(将数据从 Amazon S3 导入到表中)和计数(计算表中的行数)。
将堆栈配置保存到本地
.keyspaces-bulk-cli.json文件以供后续命令使用。
引导基础架构和 Amazon Glue 作业
将 aws-glue
存储库中的文件克隆 GitHub 到您的本地计算机上。 $git clone https://github.com/aws-samples/amazon-keyspaces-examples.git$cd amazon-keyspaces-examples/scala/datastax-v4/aws-glue-
运行
bootstrap命令。以下示例使用默认堆栈名称,aksglue并将密钥空间和表指定为已部署任务的默认值。运行、或等单个命令时exportimport,可以覆盖这些值count。$./keyspaces-bulk-cli bootstrap --stackaksglue--keyspacecatalog--tablebook_awards下表描述了您可以传递用于自定义引导程序的可选参数。
Option 默认值 说明 --stackaksglueAmazon CloudFormation 堆栈名称前缀 --bucketAuto-generated 来自堆栈和账户 存放工件的 Amazon S3 --role-nameAuto-generated 来自堆栈 IAM 服务角色名称 --keyspacemykeyspace已部署任务的默认密钥空间 --tablemytable已部署任务的默认表 --s3-uris3://{bucket}/export导出数据的默认 Amazon S3 路径 --formatparquet默认数据格式 --region来自 Amazon 配置 Amazon Web Services 区域 --profile来自 Amazon 配置 Amazon 已命名的个人资料 要确认引导程序创建的 Amazon S3 存储桶是否存在,您可以使用以下 Amazon CLI 命令。
YOURACCOUNTID替换为您的 Amazon 账户 ID。$aws s3 ls s3://amazon-keyspaces-bulk-cli-aksglue-YOURACCOUNTID该命令的输出如下所示:
PRE conf/ PRE jars/ PRE scripts/要确认 Amazon Glue 导出任务已部署,可以使用以下命令。
$aws glue list-jobs输出列出了已部署的作业:
{ "JobNames": [ "AmazonKeyspacesExportToS3-aksglue", "AmazonKeyspacesImportFromS3-aksglue", "AmazonKeyspacesCount-aksglue" ] }
如果 Amazon CloudFormation 堆栈过程失败,您可以在 Amazon CloudFormation 控制台中查看有关失败堆栈的详细错误信息。要重试,请使用删除失败的堆栈aws cloudformation delete-stack --stack-name ,修复潜在问题,然后再次运行引导命令。bootstrap 命令是指数性的,会跳过已经存在的资源。aksglue
引导完成并创建所有资源后,继续操作。第 2 步:运行导出任务