本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
步骤 4:在亚马逊密钥空间中准备源数据和目标表
在此步骤中,您将创建一个包含示例数据和 Amazon Keyspaces 表的源文件。
-
创建源文件。您可以选择以下选项之一:
-
在本教程中,您将使用名为逗号分隔的值 (CSV) 文件
keyspaces_sample_table.csv
作为数据迁移的源文件。提供的示例文件包含名为的表的几行数据book_awards
。-
下载示例 CSV 文件 (
keyspaces_sample_table.csv
) 包含在以下存档文件中samplemigration.zip。解压缩存档并记下路径keyspaces_sample_table.csv
。
-
-
如果您想按照自己的 CSV 文件将数据写入 Amazon Keyspaces,请确保数据是随机化的。直接从数据库读取或导出到平面文件的数据通常按分区和主键排序。将有序数据导入 Amazon Keyspaces 可能会导致将其写入较小的 Amazon Keyspaces 分区段,从而导致流量分布不均匀。这可能会导致性能下降和错误率更高。
相比之下,随机化数据通过更均匀地在分区之间分配流量,有助于利用 Amazon Keyspaces 的内置负载平衡功能。您可以使用各种工具对数据进行随机化。举一个使用开源工具的例子舒夫
,参见步骤 2:准备数据在数据迁移教程中。以下是一个示例,显示了如何将数据随机排列 DataFrame
。import org.apache.spark.sql.functions.randval shuffledDF = dataframe.orderBy(rand())
-
-
在 Amazon 密钥空间中创建目标密钥空间和表。
-
使用以下方式连接到亚马逊密钥空间
cqlsh
,并将以下示例中的服务终端节点、用户名和密码替换为您自己的值。cqlsh
cassandra.us-east-2.amazonaws.com
9142 -u"111122223333"
-p"wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
--ssl -
用名字创建一个新的密钥空间
catalog
如以下示例所示。CREATE KEYSPACE
catalog
WITH REPLICATION = {'class': 'SingleRegionStrategy'}; -
在新密钥空间的状态为可用后,使用以下代码创建目标表
book_awards
。要了解有关异步资源创建以及如何检查资源是否可用的更多信息,请参阅在亚马逊密钥空间中创建密钥空间。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) );
-