View a markdown version of this page

第 1 步:引导基础架构然后 Amazon Glue 作业 - Amazon Keyspaces(Apache Cassandra 兼容)
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

第 1 步:引导基础架构然后 Amazon Glue 作业

在此步骤中,您将使用 keyspaces-bulk-cli CLI 创建和配置将亚马逊密钥空间表自动数据导出到 Amazon S3 存储桶所需的所有 Amazon 资源。 Amazon Glue该bootstrap命令只需一个步骤即可执行所有设置任务。

bootstrap命令自动执行以下任务。

  1. 使用创建 Amazon S3 存储桶 IAM 服务角色 Amazon CloudFormation。

  2. 下载 Apache Spark Cassandra 连接器 SigV4 身份验证插件 Apache Spark 扩展。

  3. 使用 Maven 下载并构建 Keyspaces 重试策略助手。

  4. 将所有 JAR 文件和keyspaces-application.conf配置文件上传到 Amazon S3 存储桶。

  5. 部署三个 Amazon Glue 任务:导出(将表导出到 Amazon S3)、导入(将数据从 Amazon S3 导入到表中)和计数(计算表中的行数)。

  6. 将堆栈配置保存到本地.keyspaces-bulk-cli.json文件以供后续命令使用。

引导基础架构和 Amazon Glue 作业
  1. aws-glue 存储库中的文件克隆 GitHub 到您的本地计算机上。

    $ git clone https://github.com/aws-samples/amazon-keyspaces-examples.git $ cd amazon-keyspaces-examples/scala/datastax-v4/aws-glue
  2. 运行 bootstrap 命令。以下示例使用默认堆栈名称,aksglue并将密钥空间和表指定为已部署任务的默认值。运行、或等单个命令时 exportimport,可以覆盖这些值count

    $ ./keyspaces-bulk-cli bootstrap --stack aksglue --keyspace catalog --table book_awards

    下表描述了您可以传递用于自定义引导程序的可选参数。

    Option 默认值 说明
    --stack aksglue Amazon CloudFormation 堆栈名称前缀
    --bucket Auto-generated 来自堆栈和账户 存放工件的 Amazon S3
    --role-name Auto-generated 来自堆栈 IAM 服务角色名称
    --keyspace mykeyspace 已部署任务的默认密钥空间
    --table mytable 已部署任务的默认表
    --s3-uri s3://{bucket}/export 导出数据的默认 Amazon S3 路径
    --format parquet 默认数据格式
    --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 aksglue,修复潜在问题,然后再次运行引导命令。bootstrap 命令是指数性的,会跳过已经存在的资源。

引导完成并创建所有资源后,继续操作。第 2 步:运行导出任务