メイン コンテンツをスキップする 補完的コンテンツへスキップ

Apache Spark BatchのtKuduOutputプロパティ

これらのプロパティは、Spark Batchジョブのフレームワークで実行されているtKuduOutputを設定するために使われます。

Spark BatchtKuduOutputコンポーネントは、データベースファミリーに属しています。

このフレームワーク内のコンポーネントは、ビッグデータ対応のTalend 製品すべて、およびTalend Data Fabricで使用できます。

基本設定

[Use an existing configuration] (既存の設定を使用)

定義済みの接続の詳細を再利用する場合は、このチェックボックスをオンにして、[Component List] (コンポーネントリスト)ドロップダウンリストから、目的の接続コンポーネントを選択します。

[Server connection] (サーバー接続)

[+]ボタンをクリックして、使う必要があるKuduマスターと同じ数の行を追加します。各行はマスター用です。

次に、使うKuduサービスのマスターノードの場所とリスニングポートを入力します。

このコンポーネントは、ClouderaにインストールされたApache Kuduサービスのみをサポートします。

Apache KuduとClouderaの間の互換性情報については、Clouderaの関連ドキュメンテーション(Compatibility Matrix for Apache Kudu)をご覧ください。

[Schema] (スキーマ)[Edit schema] (スキーマを編集)

スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。

  • [Built-in] (組み込み): そのコンポーネントに対してのみスキーマを作成し、ローカルに保管します。

  • [Repository] (リポジトリー): スキーマは作成済みで、リポジトリーに保管されています。さまざまなプロジェクトやジョブデザインで再利用できます。

 
情報メモ注: Kuduテーブルのスキーマは、1つ以上のカラムで構成されるプライマリキーを宣言する必要があります。これらのカラムはNULL不可である必要があり、ブール型、浮動小数点型、または倍精度型であってはなりません。

スキーマを変更するには[Edit schema] (スキーマを編集)をクリックします。現在のスキーマがリポジトリータイプの場合は、3つのオプションを利用できます。

  • [View schema] (スキーマを表示): スキーマのみを表示する場合は、このオプションを選択します。

  • [Change to built-in property] (組み込みのプロパティに変更): ローカルで変更を行うためにスキーマを組み込みに変更する場合は、このオプションを選択します。

  • [Update repository connection] (リポジトリー接続をアップデート): リポジトリーに保存されているスキーマに変更を加え、変更後にそのコンテンツをすべてのジョブにプロパゲートするかどうかを決める場合は、このオプションを選択します。変更を現在のジョブにのみ反映する場合は、変更後、[No] (いいえ)を選択し、[Repository Content] (リポジトリーコンテンツ)ウィンドウで再びこのスキーマのメタデータを選択します。

[Kudu table] (Kuduテーブル)

作成、変更、または削除するテーブルの名前を入力します。

[Action on table] (テーブルでのアクション)

定義されたテーブルに対して実行する操作を選択します。

  • [None] (なし): 操作は行われません。

  • [Drop and create table] (ドロップしてテーブルを作成): テーブルが削除され、再作成されます。

  • [Create table] (テーブルを作成): テーブルが存在しないため、作成されます。

  • [Create table if not exists] (テーブルが存在しない場合は作成): テーブルが存在しない場合は作成されます。

  • [Drop table if exist and create] (テーブルが存在する場合はドロップして作成): テーブルが既に存在する場合は削除されて再作成されます。

[Action on data] (データでのアクション)

定義されたテーブルのデータに対して実行する操作を選択します。

  • [Insert] (挿入): テーブルに新しいエントリーを追加します。重複が見つかると、ジョブは停止します。

  • [Update] (アップデート): 既存のエントリーが変更されます。

  • [Upsert]: 指定された参照を使用してレコードをアップデートします。レコードが存在しない場合は、新しいレコードが挿入されます。

  • [Delete] (削除): 入力フローに対応するエントリーを削除します。

[Replicas] (レプリカ)

このテーブルのレプリカファクターを二重引用符なしで入力して、テーブルとそのタブレットのコピーを作成します。

KuduタブレットとKudu複製ポリシーの詳細は、Distribution and Fault Toleranceをご覧ください。

[Hash partitions] (ハッシュパーティション)

Kuduテーブルを作成する時は、このテーブルのパーティション方法を定義することをお勧めします。デフォルトでは、テーブルはパーティショニングされていません。

  1. [+]ボタンをクリックして、どの行がハッシュパーティショニングされているかを基準にカラムを追加します。たとえば、hostカラムとmetricカラムです。

    これらのカラムは、データおよびtKuduOutputで定義したスキーマに存在する必要があります。

  2. [Number of buckets] (バケット数)には、パーティションの保管に使用するバケットの数を二重引用符なしで入力します。これらのバケットはオンザフライで作成されます。

ランタイムに、行はこれらのバケットの1つにハッシュ値によって分散されます。この [Hash partitions] (ハッシュパーティション)テーブルを空のままにすると、テーブルの作成中にハッシュパーティショニングは適用されません。

Kuduでのハッシュパーティションの詳細は、Hash partitioningをご覧ください。

[Range partitions] (範囲パーティション)

Kuduテーブルを作成する時は、このテーブルのパーティション方法を定義することをお勧めします。デフォルトでは、テーブルはパーティショニングされていません。

  1. [+]ボタンをクリックして、どの行が連続セグメントにパーティショニングされているかを基準にプライマリキーカラムを追加します。たとえばtimeカラムです。

    これらのカラムは、データおよびtKuduOutputで定義したスキーマに存在する必要があります。

  2. [N. Partition] (N.パーティション)に、作成するパーティションのID番号として使う数字を二重引用符なしで入力します。たとえば、1を入力してパーティション1を作成します。
  3. [Lower boundary] (下限)[Upper boundary] (上限)に、行を分割する境界を入力します。上限は除外され、境界間のデータ(下限を含む)のみがKuduテーブルに書き込まれます。

    たとえば、[Date] (日付)タイプのtimeカラムに基づいてデータをパーティショニングしていて、時間データの形式がyyyy-mm-ddである場合は、二重引用符なしでTalendDate.parseDate("yyyy-MM-dd", "2016-01-01")と入力することにより、下限を2016-01-01に設定できます。また、同じようにして上限を2018-01-01に設定できます。このように設定すると、2つの境界の間で日付を持つ行のみがこのパーティションに入ります。

ランタイムにこれらのカラムの行は、この[Range partitions] (範囲パーティション)テーブルに追加したカラムの値を使って分散されます。このテーブルを空のままにすると、テーブルの作成中には範囲パーティショニングが適用されません。

Kuduでのハッシュパーティションの詳細は、Range partitioningをご覧ください。

[Die on error] (エラー発生時に強制終了)

このチェックボックスを選択すると、エラー発生時にジョブの実行が停止されます。

使用方法

使用ルール

このコンポーネントは、終了コンポーネントとして使用され、入力リンクを必要とします。

[Spark Connection] (Spark接続)

[Run] (実行)ビューの[Spark configuration] (Spark設定)タブで、ジョブ全体でのSparkクラスターへの接続を定義します。また、ジョブでは、依存jarファイルを実行することを想定しているため、Sparkがこれらのjarファイルにアクセスできるように、これらのファイルの転送先にするファイルシステム内のディレクトリーを指定する必要があります。
  • Yarnモード(YarnクライアントまたはYarnクラスター):
    • Google Dataprocを使用している場合、[Spark configuration] (Spark設定)タブの[Google Storage staging bucket] (Google Storageステージングバケット)フィールドにバケットを指定します。

    • HDInsightを使用している場合、[Spark configuration] (Spark設定)タブの[Windows Azure Storage configuration] (Windows Azure Storage設定)エリアでジョブのデプロイメントに使用するブロブを指定します。

    • Altusを使用する場合は、[Spark configuration] (Spark設定)タブでジョブのデプロイにS3バケットまたはAzure Data Lake Storageを指定します。
    • Quboleを使用する場合は、ジョブにtS3Configurationを追加し、QuboleでS3システム内に実際のビジネスデータを書き込みます。tS3Configurationを使用しないと、このビジネスデータはQubole HDFSシステムに書き込まれ、クラスターをシャットダウンすると破棄されます。
    • オンプレミスのディストリビューションを使用する場合は、クラスターで使われているファイルシステムに対応する設定コンポーネントを使用します。一般的に、このシステムはHDFSになるため、tHDFSConfigurationを使用します。

  • [Standalone mode] (スタンドアロンモード): クラスターで使われているファイルシステム(tHDFSConfiguration Apache Spark BatchtS3Configuration Apache Spark Batchなど)に対応する設定コンポーネントを使用します。

    ジョブ内に設定コンポーネントがない状態でDatabricksを使用している場合、ビジネスデータはDBFS (Databricks Filesystem)に直接書き込まれます。

この接続は、ジョブごとに有効になります。

このページは役に立ちましたか?

このページまたはコンテンツに、タイポ、ステップの省略、技術的エラーなどの問題が見つかった場合は、お知らせください。改善に役立たせていただきます。