第 4 步:準備源數據和 Amazon Keyspaces 中的目標表 - Amazon Keyspaces (適用於 Apache Cassandra)

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

第 4 步:準備源數據和 Amazon Keyspaces 中的目標表

在此步驟中,您會建立包含範例資料和 Amazon Keyspaces 表格的來源檔案。

  1. 建立來源檔案。您可以選擇以下其中一個選項:

    • 在本自學課程中,您將使用逗號分隔值 (CSV) 檔案,其名稱keyspaces_sample_table.csv做為資料移轉的來源檔案。提供的範例檔案包含名稱為資料表的幾列資料book_awards

      1. 下載包含在下列封存CSV檔案 samplemigration.zip 中的範例檔案 (keyspaces_sample_table.csv)。解壓縮封存並記下的路徑。keyspaces_sample_table.csv

    • 如果您想要跟隨自己的CSV檔案將資料寫入 Amazon Keyspaces,請確定資料是隨機化的。直接從資料庫讀取或匯出至純資料檔的資料通常會依分割區和主索引鍵排序。將已訂購的資料匯入 Amazon Keyspaces 可能會導致將其寫入 Amazon Keyspaces 分割區的較小區段,進而導致流量分配不均勻。這可能會導致效能變慢,錯誤率較高。

      相較之下,隨機化資料有助於利用 Amazon Keyspace 的內建負載平衡功能,方法是將流量分散到分區之間更均勻。您可以使用各種工具來隨機化資料。如需使用開放原始碼工具 Shuf 的範例,請參閱〈資料移轉教學課程〉步驟 2:準備要上傳的資料 DSBulk中的〈〉。下面是一個示例,顯示如何將數據洗牌為DataFrame.

      import org.apache.spark.sql.functions.randval shuffledDF = dataframe.orderBy(rand())
  2. 在 Amazon 密鑰空間中創建目標 Keyspaces 間和表。

    1. 使用 Connect 到 Amazon 密 Keyspacescqlsh,並將下列範例中的服務端點、使用者名稱和密碼取代為您自己的值。

      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) );