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

Apache Spark BatchのtPartitionプロパティ

Availability-note非推奨

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

Spark BatchtPartitionコンポーネントは、変換処理ファミリーに属しています。

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

基本設定

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

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

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

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

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

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

    変更を現在のジョブにのみ反映する場合は、変更後、[No] (いいえ)を選択し、[Repository Content] (リポジトリーコンテンツ)ウィンドウで再びこのスキーマのメタデータを選択します。

ジョブで接続している先行コンポーネントからスキーマを取得するためには、[Sync columns] (カラムを同期)をクリックします。

 [Number of partitions] (パーティションの数)

入力データセットを分割するパーティション数を入力します。

[Repartition by range] (範囲ごとに再パーティショニング)

このチェックボックスを選択して、データセットを複数のパーティションに分割します。詳細は、の公式Sparkドキュメンテーションをご覧ください。

このオプションは、データセットモードでのみ使用できます。

情報メモ注: tPartitionコンポーネントは、以下の時にのみSpark Dataset APIをサポートします:
  • ジョブがSparkV2以降を使用する。
  • ジョブの[Spark configuration] (Spark設定)ビューからの[Use Dataset API] (Dataset APIを使用)チェックボックスが選択されている。
  • ジョブがカスタムパーティショナーもカスタムコンパレーターも使用しない。

[Use coalesce] (融合を使用)

このチェックボックスを選択して、返されるパーティション数を減らします。詳細は、の公式Sparkドキュメンテーションをご覧ください。

このオプションは、データセットモードでのみ使用できます。

情報メモ注: tPartitionコンポーネントは、以下の時にのみSpark Dataset APIをサポートします:
  • ジョブがSparkV2以降を使用する。
  • ジョブの[Spark configuration] (Spark設定)ビューからの[Use Dataset API] (Dataset APIを使用)チェックボックスが選択されている。
  • ジョブがカスタムパーティショナーもカスタムコンパレーターも使用しない。

[Partition key] (パーティションキー)

このテーブルに入力して、パーティショニングに使うキーを定義します。

[Partition key] (パーティションキー)テーブルで、スキーマのカラムが[Column] (カラム)カラムに自動的に追加されます。[Partition column] (パーティションカラム)カラムでは、パーティショニングのキーとして使うカラムに対応するチェックボックスをオンにする必要があります。

このパーティショニングはハッシュモードで行われます。つまり、同じ基準(キー)を満たすレコードが同じパーティションに転送されます。

[Use custom partitioner] (カスタムパーティショナーを使用)

Talend Studio外からインポートする必要があるSparkパーティショナーを使う場合は、このチェックボックスをオンにします。たとえば、自分で開発したパーティショナーです。この状況では、次の情報を提供する必要があります。
  • [Custom partitioner FQCN] (カスタムパーティショナーFQCN): インポートするパーティショナーの完全修飾クラス名を入力します。

  • [Custom partitioner JAR] (カスタムパーティショナーJAR): 追加する行の数と同じ回数、[+]ボタンをクリックします。各行で[...]ボタンをクリックして、このパーティショナークラスとその依存jarファイルを含むjarファイルをインポートします。

[Sort within partitions] (パーティション内でソート)

各パーティションでレコードをソートする場合は、このチェックボックスをオンにします。

この機能は、パーティションに複数の異なるキー値が含まれている場合に役立ちます。
  • [Natural key order] (自然なキー順序): キーが自然な順序、たとえばアルファベット順にソートされます。

  • [Custom comparator] (カスタムコンパレーター): キーをソートするためにカスタムプログラムが使えます。

    [Custom comparator FQCN] (カスタムコンパレーターFQCN)フィールドにインポートするコンパレーターの完全修飾クラス名を入力し、[Custom comparator JAR] (カスタムコンパレーターJAR)テーブルにロードするjarファイルを追加する必要があります。

使用方法

使用ルール

このコンポーネントは中間ステップとして使用されます。

このコンポーネントは、所属するSpark Batchのコンポーネントのパレットと共に、Spark Batchジョブを作成している場合にだけ表示されます。

特に明記していない限り、このドキュメンテーションのシナリオでは、標準ジョブ、つまり従来の Talend Data Integrationジョブだけを扱います。

[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を指定します。
    • オンプレミスのディストリビューションを使用する場合は、クラスターで使われているファイルシステムに対応する設定コンポーネントを使用します。一般的に、このシステムはHDFSになるため、tHDFSConfigurationを使用します。

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

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

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

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

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