

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

# 步骤 1：使用创建源 CSV 文件和用于上传数据的目标表 DSBulk
<a name="dsbulk-upload-source"></a>

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

1. 创建源文件。您可以选择以下选项之一：
   + 下载以下存档文件 [samplemigration.zip](samples/samplemigration.zip) 中包含的示例 CSV 文件 (`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 数据类型。请参阅[数据类型](cql.elements.md#cql.data-types)。

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

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

      ```
      cqlsh cassandra.us-east-1.amazonaws.com 9142 -u "111122223333" -p "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" --ssl
      ```

   1. 使用以下示例中所示的名称 `catalog` 创建新的键空间。

      ```
      CREATE KEYSPACE catalog WITH REPLICATION = {'class': 'SingleRegionStrategy'};
      ```

   1. 在新键空间变为可用状态后，使用以下代码创建目标表 `book_awards`。要了解有关异步资源创建以及如何检查资源是否可用的更多信息，请参阅[在 Amazon Keyspaces 中查看键空间的创建状态](keyspaces-create.md)。

      ```
      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 源表中的描述相匹配。