步骤 1:使用创建用于上传数据的源CSV文件和目标表 DSBulk - Amazon Keyspaces(Apache Cassandra 兼容)

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

步骤 1:使用创建用于上传数据的源CSV文件和目标表 DSBulk

在本教程中,我们使用名为逗号分隔的值 (CSV) 文件keyspaces_sample_table.csv作为数据迁移的源文件。提供的示例文件包含名为 book_awards 的表中的几行数据。

  1. 创建源文件。您可以选择以下选项之一:

    • 下载以下存档CSV文件 samplemigration.zip 中包含的示例文件 (keyspaces_sample_table.csv)。解压缩存档文件并记下指向 keyspaces_sample_table.csv 的路径。

    • 要使用存储在 Apache Cassandra 数据库中的您自己的数据填充CSV文件,可以使用dsbulk unload如下例所示使用填充源CSV文件。

      dsbulk unload -k mykeyspace -t mytable -f ./my_application.conf > keyspaces_sample_table.csv

      确保您创建CSV的文件符合以下要求:

      • 第一行包含列名称。

      • 源CSV文件中的列名与目标表中的列名相匹配。

      • 数据用逗号分隔。

      • 所有数据值均为有效的 Amazon Keyspaces 数据类型。请参阅 数据类型

  2. 在 Amazon Keyspaces 中创建目标键空间和表。

    1. 使用 cqlsh 连接到 Amazon Keyspaces,将以下示例中的服务端点、用户名和密码替换为您自己的值。

      cqlsh cassandra.us-east-2.amazonaws.com 9142 -u "111122223333" -p "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" --ssl
    2. 使用以下示例中所示的名称 catalog 创建新的键空间。

      CREATE KEYSPACE catalog WITH REPLICATION = {'class': 'SingleRegionStrategy'};
    3. 在新键空间变为可用状态后,使用以下代码创建目标表 book_awards。要了解有关异步资源创建以及如何检查资源是否可用的更多信息,请参阅在 Amazon Keyspaces 中查看密钥空间的创建状态

      CREATE TABLE catalog.book_awards ( year int, award text, rank int, category text, book_title text, author text, publisher text, PRIMARY KEY ((year, award), category, rank) );

    如果 Apache Cassandra 是您的原始数据来源,那么创建带有匹配标题的 Amazon Keyspaces 目标表的一种简单方法是从源表生成 CREATE TABLE 语句,如以下语句所示。

    cqlsh localhost 9042 -u "username" -p "password" --execute "DESCRIBE TABLE mykeyspace.mytable;"

    然后,在 Amazon Keyspaces 中创建目标表,其列名称和数据类型与 Cassandra 源表中的描述相匹配。