翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ステップ 4: Amazon Keyspaces でソースデータとターゲットテーブルを準備する
このステップでは、サンプルデータと Amazon Keyspaces テーブルがあるソースファイルを作成します。
-
ソースファイルを作成します。次のいずれかのオプションを選択できます。
-
このチュートリアルでは、
keyspaces_sample_table.csvという名前のカンマ区切り値 (CSV) ファイルをデータ移行用のソースファイルとして使用します。提供されたサンプルファイルには、book_awardsという名前のテーブルに関する数行のデータが含まれています。-
次のアーカイブファイル samplemigration.zip にあるサンプル CSV ファイル (
keyspaces_sample_table.csv) をダウンロードします。アーカイブを解凍し、keyspaces_sample_table.csvへのパスをメモしておきます。
-
-
自分の CSV ファイルで Amazon Keyspaces にデータを書き込む場合は、データがランダム化されていることを確認してください。データベースから直接読み取られるデータやフラットファイルにエクスポートされるデータは、通常、パーティションとプライマリキーによって順序付けられます。注文したデータを Amazon Keyspaces にインポートすると、Amazon Keyspaces パーティションの小さなセグメントに書き込まれて、トラフィックが偏って分散するおそれがあります。その場合、パフォーマンスが低下し、エラー率が高くなるおそれがあります。
対照的に、トラフィックをパーティション間でより均等に分散してデータをランダム化すれば、Amazon Keyspaces に組み込まれている負荷分散機能を活かすことができます。データのランダム化にはさまざまなツールを使用できます。オープンソースツールの Shuf
の使用例については、データ移行チュートリアルの「ステップ 2: DSBulk を使用してアップロード対象のデータを準備する」を参照してください。以下に示した例は、 DataFrameとしてデータをシャッフルする方法です。import org.apache.spark.sql.functions.randval shuffledDF = dataframe.orderBy(rand())
-
-
Amazon Keyspaces でターゲットのキースペースとテーブルを作成します。
-
を使用して Amazon Keyspaces に接続します
cqlsh-expansion。cqlsh-expansionのインストール手順については、「cqlsh-expansion による Amazon Keyspaces までの接続」を参照してください。次の例のサービスエンドポイントを独自の値に置き換えます。
cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl -
次の例に示すように、
catalogという名前の新しいキースペースを作成します。CREATE KEYSPACEcatalogWITH REPLICATION = {'class': 'SingleRegionStrategy'}; -
新しいキースペースが利用可能な状態になったら、次のコードを使用してターゲットテーブル
book_awardsを作成します。非同期的なリソース作成と、リソースが利用可能かどうかを確認する方法については、「Amazon Keyspaces でキースペースの作成ステータスを確認する」を参照してください。CREATE TABLEcatalog.book_awards( year int, award text, rank int, category text, book_title text, author text, publisher text, PRIMARY KEY ((year, award), category, rank) );
-