Apache Spark StreamingのtCassandraOutputプロパティ
これらのプロパティは、Spark Streamingジョブのフレームワークで実行されているtCassandraOutputを設定するために使われます。
Spark StreamingのtCassandraOutputコンポーネントは、データベースファミリーに属しています。
このコンポーネントはTalend Real-Time Big Data PlatformとTalend Data Fabricで利用できます。
基本設定
[Property type] (プロパティタイプ) |
[Built-in] (組み込み)と[Repository] (リポジトリー)のいずれかです。 [Built-In] (組み込み): 一元的に保存されるプロパティデータはありません。 [Repository] (リポジトリー): プロパティが保存されているリポジトリーファイルを選択します。 |
[Sync columns] (カラムを同期) |
ジョブで接続された前のコンポーネントからスキーマを取得するには、このボタンをクリックします。 |
[Keyspace] |
データの書き込み先にキースペースの名前を入力します。 |
[Action on keyspace] (キースペースのアクション) |
使用するキースペースで実行する操作を選択します:
|
[Column family] (カラムファミリー) |
データの書き込み先にキースペースの名前を入力します。 |
[Action on column family] (カラムファミリーのアクション) |
使用するカラムファミリーで実行する操作を選択します:
このリストは、[Action on data] (データでのアクション)ドロップダウンリストから、[Update] (アップデート)、[Upsert] (アップサート)、[Insert] (挿入)のいずれかが選択されている場合のみ利用できます。 |
[Action on data] (データでのアクション) |
定義されたテーブルのデータで実行できる操作は次のとおりです。
詳細な操作は、[Advanced settings] (詳細設定)ビューを使用します。 |
[Schema] (スキーマ)と[Edit schema] (スキーマを編集) |
スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。 スキーマを変更するには[Edit schema] (スキーマを編集)をクリックします。現在のスキーマがリポジトリータイプの場合は、3つのオプションを利用できます。
このコンポーネントのスキーマは、オブジェクトタイプとリストタイプに対応していません。 |
|
[Built-in] (組み込み): そのコンポーネントに対してのみスキーマを作成し、ローカルに保管します。 |
|
[Repository] (リポジトリー): スキーマは作成済みで、リポジトリーに保管されています。さまざまなプロジェクトやジョブデザインで再利用できます。 再利用するスキーマに整数またはファンクションのデフォルト値が指定されている場合は、これらのデフォルト値を引用符で囲まないようにご注意ください。引用符で囲まれている場合は手動で削除します。 詳細は、テーブルスキーマを取得をご覧ください。 |
詳細設定
[Configuration] (設定) |
Cassandraにアップサートするデータでカスタマイズする必要があるCassandraのプロパティを追加します。
以下のリストは、入力できる数値と、その値で示される一貫性レベルを示しています:
テーブルに行を追加する場合は、[Property name] (プロパティ名)カラムの新しい行をクリックして、 使用可能なプロパティの一覧を表示し、カスタマイズするプロパティを選択する必要があります。これらの各プロパティの詳細は、https://github.com/datastax/spark-cassandra-connector/Blob/master/doc/5_saving.mdのリンクのチューニングセクションをご覧ください。 |
[Use unlogged batch] (UNLOGGEDバッチを使用) |
このチェックボックスを選択すると、データをバッチ処理できますが、CassandraのUNLOGGEDアプローチが使用されます。このフィーチャーは[Insert] (挿入)、[Update] (アップデート)および[Delete] (削除)の3つの操作で利用できます。 次に、バッチモードの動作を設定する必要があります:
Cassandraでバッチを使用する理想的な状況には、少数のテーブルで挿入またはアップデートするデータを同期する場合などが挙げられます。 このUNLOGGEDアプローチでは、ジョブは、Cassandraのバッチログシステムにバッチを書き込まないため、この書き込みによって発生するパフォーマンスの問題を回避します。CassandraのBATCHステートメントおよびUNLOGGEDアプローチの詳細は、バッチをご覧ください。 |
[Insert if not exists] (存在しない場合は挿入) |
このチェックボックスを選択すると、行が挿入されます。この行の挿入は、ターゲットテーブルに存在しない場合のみ行われます。 このフィーチャーは[Insert] (挿入)操作でのみ利用できます。 |
[Delete if exists] (存在する場合は削除) |
このチェックボックスを選択すると、受信フロー内の同じレコードを持つ行のみがターゲットテーブルから削除されます。 このフィーチャーは[Delete] (削除)操作でのみ利用できます。 |
[Use TTL] (TTLを使用) |
このチェックボックスを選択すると、ターゲットテーブルにTTLデータが書き込まれます。表示されるカラムリストで、TTLカラムとして使用されるカラムを選択する必要があります。このカラムのデータベース型はIntにする必要があります。 このフィーチャーは[Insert] (挿入)操作および[Update] (アップデート)操作でのみ利用できます。 |
[Use Timestamp] (タイムスタンプを使用) |
このチェックボックスを選択すると、ターゲットテーブルにタイムスタンプデータが書き込まれます。表示されるカラムリストで、タイムスタンプデータの保管に使用するカラムを選択する必要があります。このカラムのDBタイプは[BigInt]にする必要があります。 このフィーチャーは、[Insert] (挿入)、[Update] (アップデート)および[Delete] (削除)のアクションで利用可能です。 |
[IF condition] (IF条件) |
[Update] (アップデート)または[Delate] (削除)操作を実行するために満たす条件を追加します。この条件を使用すると、アップデートまたは削除するカラムについて正確な操作が可能になります。 |
[Special assignment operation] (特別な割り当て操作) |
このテーブルを完成して、[Update] (アップデート)操作をより具体的にするためのCassandraの高度なSETコマンドを構成します。たとえば、指定されたカラムの先頭または特定の位置にレコードを追加します。 このテーブルの[Update column] (カラムのアップデート)カラムで、アップデートされたカラムを選択し、[Operation] (操作)カラムから使用する操作を選択する必要があります。以下の操作を実行できます:
|
[Row key in the List type] (リストタイプの行キー) |
CassandraのWHERE句を構成するために使用するカラムを選択し、[Update] (アップデート)または[Delete] (削除)操作を実行します。このテーブルで使用されるカラムは、Cassandraテーブルのプライマリキーカラムのセットから選ぶ必要があります。 |
[Delete collection column based on postion/key] (位置/キーに基づいてコレクションカラムを削除) |
削除する特定の行を参照する際に使用するカラムを選択します。 このフィーチャーは[Delete] (削除)操作でのみ利用できます。 |
使用方法
使用ルール |
このコンポーネントは、終了コンポーネントとして使用され、入力リンクを必要とします。 このコンポーネントでは、同じジョブに存在するtCassandraConfigurationコンポーネントを1つのみ使用して、Cassandraに接続する必要があります。同じジョブに複数のtCassandraConfigurationコンポーネントが存在すると、ジョブの実行が失敗します。 このコンポーネントは、所属するSpark Batchのコンポーネントのパレットと共に、Spark Batchジョブを作成している場合にだけ表示されます。 特に明記していない限り、このドキュメンテーションのシナリオでは、標準ジョブ、つまり従来の Talend Data Integrationジョブだけを扱います。 |
[Spark Connection] (Spark接続) |
[Run] (実行)ビューの[Spark configuration] (Spark設定)タブで、ジョブ全体でのSparkクラスターへの接続を定義します。また、ジョブでは、依存jarファイルを実行することを想定しているため、Sparkがこれらのjarファイルにアクセスできるように、これらのファイルの転送先にするファイルシステム内のディレクトリーを指定する必要があります。
この接続は、ジョブごとに有効になります。 |