# tPartitioner

入力データをパーティショニングすることで、tCollectorが並列実行プロセスに転送できるようにします。

tPartitionerは入力レコードを特定の数のスレッドに分割し、それをtCollectorが並列実行のために送ります。

Talend Studioではまた、並列コンポーネントを使用せずにジョブ全体に並列の自動実装を行うことができます。Talendでは、この方式をお勧めします。詳細は、[データフローの並列化を有効にする](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/enabling-parallelization-of-data-flows)をご覧ください。ただし、これらの特定の並列コンポーネントの使い方を理解する必要がある場合は、並列コンポーネントが互いに密接に連携して特定の処理を並列実行することを考慮しておく必要があります:tPartitionerコンポーネントは、入力レコードを特定数のスレッドに転送します。tCollectorコンポーネントは、それらのスレッドを並列実行のために後続のコンポーネントに送信します。tDepartitionerコンポーネントは、処理された並列スレッドの出力を再グルーピングします。tRecollectorコンポーネントは、特定のtDepartitionerコンポーネントの出力をキャプチャーし、キャプチャーしたデータを次のコンポーネントに送信します。

デフォルトで、このコンポーネントはTalend Studioと共には出荷されていません。機能マネージャーを使ってインストールする必要があります。 詳細は、[機能マネージャーを使って機能をインストール](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/install-features-to-talend-studio)をご覧ください。

## tPartitionerの標準プロパティ

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

標準のtPartitionerコンポーネントは、オーケストレーション化ファミリーに属しています。

このコンポーネントは、ビッグデータ、Talend Data Management Platform、Talend Data Services Platform、Talend Data Fabric対応のTalend製品で利用できます。

## 基本設定

| プロパティ | 説明 |
| --- | --- |
| [Schema] (スキーマ)と[Edit Schema] (スキーマを編集) | スキーマとは行の説明で、処理された後に次のコンポーネントに渡されるフィールドの数を定義するものです。スキーマは[Built-in] (組み込み)か、[Repository] (リポジトリー)にリモートで保存されます。<br><br>スキーマを変更するには[Edit schema] (スキーマを編集)をクリックします。現在のスキーマがリポジトリータイプの場合は、3つのオプションを利用できます。<br><br><ul> <li> <p> <span>[View schema] (スキーマを表示)</span>: スキーマのみを表示する場合は、このオプションを選択します。</p> </li> <li> <p> <span>[Change to built-in property] (組み込みのプロパティに変更)</span>: ローカルで変更を行うためにスキーマを<span>組み込み</span>に変更する場合は、このオプションを選択します。</p> </li> <li> <p> <span>[Update repository connection] (リポジトリー接続をアップデート)</span>: リポジトリーに保存されているスキーマに変更を加え、変更後にそのコンテンツをすべてのジョブにプロパゲートするかどうかを決める場合は、このオプションを選択します。</p> <p>変更を現在のジョブにのみ反映する場合は、変更後、<span>[No] (いいえ)</span>を選択し、<span>[Repository Content] (リポジトリーコンテンツ)</span>ウィンドウで再びこのスキーマのメタデータを選択します。</p> </li> </ul><br><br>ジョブで接続している先行コンポーネントからスキーマを取得するためには、[Sync columns] (カラムを同期)をクリックします。 |
| [Number of Child Threads] (子スレッドの数) | 入力レコードを複数スレッドに分割する場合のスレッド数を入力します。<br><br>この数字はN-1にすることを推奨します。ここで、Nはデータを処理するマシンのCPU数またはコア数を表します。 |
| [Buffer Size] (バッファーサイズ) | この行数を超えるとメモリが解放されます。<br><br>生成された個別のスレッドでキャッシュする行数です。 |
| [Use a key hash for partitions] (分割用にキーハッシュを使用) | ハッシュモードを使って入力レコードをスレッドに転送するには、このチェックボックスをオンにします。<br><br>これを選択すると、[Key Columns] (キーカラム)テーブルが表示されるため、ハッシュモードを適用するカラムをこのテーブルに設定します。ハッシュモードでは、同じ条件を満たすレコードが同じスレッドに転送されます。<br><br>このチェックボックスをオフにすると、転送モードは総当たり方式となり、レコードはローテーションで1件ずつ処理されて各スレッドに転送され、最後のレコードが転送されるまで続きます。このモードでは、同じ条件を満たすレコードが必ずしも同じスレッドに入らないことにご注意ください。 |

## 詳細設定

| プロパティ | 説明 |
| --- | --- |
| [tStatCatcher Statistics] (tStatCatcher統計) | このチェックボックスをオンにすると、コンポーネントレベルでログデータを収集できます。 |

## グローバル変数

| 変数 | 説明 |
| --- | --- |
| グローバル変数 | ERROR\_MESSAGE: エラーが発生した時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。この変数はコンポーネントにこのチェックボックスが存在し、[Die on error] (エラー発生時に強制終了)がオフになっている場合のみ機能します。<br><br>NB\_LINE: 処理された行の数。これはAfter変数で、整数を返します。<br><br>Flow変数はのコンポーネントの実行中に機能し、After変数はコンポーネントの実行後に機能します。<br><br>フィールドまたは式に変数を入力する場合は、Ctrl + スペースを押して変数リストにアクセスし、使用する変数を選択します。<br><br>変数の詳細は、[コンテキストと変数を使用](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/contexts-and-variables)をご覧ください。 |

## 使用方法

| 使用方法のガイダンス | 説明 |
| --- | --- |
| **使用ルール** | このコンポーネントは、入力コンポーネントの後ろに、そしてtCollectorの前に置きます。<br><br>このコンポーネントは、tCollectorへの接続に[Trigger] (トリガー) &gt; [Start] (開始)リンクのみを使用できます。 |
| [Connections] (接続) | 外部リンク(このコンポーネントから別のコンポーネントへのリンク):<br><br>[Trigger] (トリガー): 開始。<br><br>受信リンク(あるコンポーネントからこのコンポーネントへのリンク):<br><br>[Row] (行): メイン。<br><br>接続の詳細は、[ジョブにおける接続の使い方](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/using-connections-in-job)をご覧ください。 |

**関連概念**

* [大規模な顧客データを並列ソートする](https://help.qlik.com/talend/ja-JP/components/8.0/orchestration/tdepartitioner-tpartitioner-trowgenerator-sorting-customer-data-of-large-size-in-parallel-standard-component-platform-the-job)