翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
このステップでは、サンプルデータと 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 でターゲットのキースペースとテーブルを作成します。
-
cqlsh
で Amazon Keyspaces に接続し、次の例のサービスエンドポイント、ユーザー名、およびパスワードをそれぞれ自分の値に置き換えます。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
を作成します。非同期的なリソース作成と、リソースが利用可能かどうかを確認する方法については、「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) );
-