# Spark UniversalでCloudera Data Engineering接続パラメーターを定義

## このタスクについて

Talend Studioは、Cloudera Data Engineering (CDE)サービスに接続してこのクラスターからSparkジョブを実行します。

## 手順

1. デザインワークスペースの下にある[Run] (実行)ビューをクリックした後に、[Spark configuration] (Spark設定)ビューをクリックします。
2. [Property type] (プロパティタイプ)ドロップダウンリストから[Built-in] (組み込み)を選択します。

   [Hadoop接続を一元管理](https://help.qlik.com/talend/ja-JP/studio-user-guide/8.0-R2026-07/Hadoop接続を一元管理https://help.talend.com/ja-JP/studio-user-guide/8.0/centralizing-hadoop-connection)で説明されているとおり、既に[Repository] (リポジトリー)で接続パラメーターが設定されている場合は簡単に再利用できます。再利用するためには、[Property type] (プロパティタイプ)ドロップダウンリストから[Repository] (リポジトリー)を選択し、[...]ボタンをクリックし、[Repository Content] (リポジトリーコンテンツ)ダイアログボックスを開いて、使用するHadoop接続を選択します。

   情報メモヒント: [Repository] (リポジトリー)で接続を設定すると、ジョブの[Spark configuration] (Spark設定)ビューで必要になるたびにその接続を設定しなくても済みます。フィールドが自動的に入力されます。
3. [Distribution] (ディストリビューション)ドロップダウンリストからUniversalを、[Version] (バージョン)ドロップダウンリストからSparkバージョンを、[Runtime mode/environment] (ランタイムモード/環境)ドロップダウンリストからCloudera Data Engineeringをそれぞれ選択します。
4. WindowsからSparkジョブを起動する必要がある場合は、使用される*winutils.exe*プログラムの保管場所を指定します。
   * 使用する*winutils.exe*ファイルの保管場所がわかっている場合、[Define the Hadoop home directory] (Hadoopホームディレクトリーの指定)チェックボックスをオンにし、*winutils.exe*が保存されているディレクトリーを入力します。

   * 逆に、[Define the Hadoop home directory] (Hadoopホームディレクトリーの指定)チェックボックスをオフにすると、Talend Studioによってディレクトリーが作成され、このジョブで自動的に使用されます。
5. [Configuration] (設定)の基本情報を入力します:
   | オプション | 使用方法 |
   | --- | --- |
   | [Use local timezone] (ローカルタイムゾーンを使用) | このチェックボックスをオンにすると、Sparkはシステムで指定されているローカルタイムゾーンを使用します。<br><br>情報メモ注:<br><br><ul> <li>このチェックボックスをオフにすると、SparkはUTCタイムゾーンを使用します。</li> <li>コンポーネントによっては<span>[Use local timezone for date] (日付にローカルタイムゾーンを使用)</span>チェックボックスもあります。コンポーネントのチェックボックスをオフにすると、Spark設定からのタイムゾーンが継承されます。</li> </ul> |
   | [Use dataset API in migrated components] (移行したコンポーネントでデータセットAPIを使用) | このチェックボックスを選択し、コンポーネントにResilient Distribued Dataset (RDD) APIの代わりにDataset (DS) APIを使用させます:<br><br><ul> <li>チェックボックスを選択する場合は、ジョブ内のコンポーネントは、DSで実行されて、パフォーマンスが向上します。</li> <li>チェックボックスをオフにする場合は、ジョブ内のコンポーネントはRDDで実行されて、変更されていない状態のままです。これにより、下位互換性が保証されます。</li> </ul><br><br>このチェックボックスはデフォルトで選択されていますが、7.3以降のジョブをインポートした場合、これらのジョブはRDDで実行されるため、チェックボックスはクリアされます。<br><br>情報メモ重要: ジョブにtDeltaLakeInputコンポーネントとtDeltaLakeOutputコンポーネントが含まれている場合は、このチェックボックスを選択する必要があります。 |
   | [Use timestamp for dataset components] (データセットコンポーネントにタイムスタンプを使用) | このチェックボックスをオンにすると、日付でjava.sql.Timestamp使われます。<br><br>情報メモ注: このチェックボックスをオフのままにしておくと、パターンに応じてjava.sql.Timestampかjava.sql.Dateが使われます。 |
   | [Parallelize output files writing] (出力ファイルの書き込みを並列化) | このチェックボックスを選択すると、Sparkバッチジョブが出力ファイルの書き込み時に複数のスレッドを並行して実行できるようになります。このオプションによって実行時間のパフォーマンスが改善されます。<br><br>このチェックボックスがオフのままになっていると、出力ファイルは1つのスレッド内で順次書き込まれます。<br><br>サブジョブレベルでは、各サブジョブが順次処理されます。サブジョブ内の出力ファイルのみが並列化されます。<br><br>このオプションは、次の出力コンポーネントが含まれているSparkバッチジョブでのみ使用できます:<br><br><ul> <li>tAvroOutput</li> <li>tFileOutputDelimited (<span>[Use dataset API in migrated components] (移行したコンポーネントでデータセットAPIを使用)</span>チェックボックスが選択されている場合のみ)</li> <li>tファイルOutputParquet </li> </ul><br><br>情報メモ重要: ジョブ実行中のメモリに関する問題を避けるため、このパラメーターを使用する前に、書き込まれるファイルのサイズと実行環境の容量を考慮する必要があります。 |
6. [CDE configuration] (CDE設定)のパラメーターを完成させます:
   | パラメーター | 使用方法 |
   | --- | --- |
   | [CDE API endpoint] (CDE APIエンドポイント) | CDE APIエンドポイントを入力します。このURLはJOBS API URLリンクにあります。 |
   | [CDE API token] (CDE APIトークン) | API認証に使用したいCDEトークンを入力します。URLは [BASE\_URL]/gateway/authtknという形式であることが必要です。詳細は、Clouderaのドキュメンテーションで[CDE API access token](https://docs.cloudera.com/data-engineering/cloud/api-access/topics/cde-api-get-access-token.html)をご覧ください。<br><br>このプロパティは、[Auto generate token] (トークンを自動生成)チェックボックスがオフになっている場合のみ利用できます。 |
   | [Auto generate token] (トークンを自動生成) | ジョブを送信する前に新しいトークンを作成する場合は、このチェックボックスをオンにします。<br><br><ul> <li> <span>[CDE token endpoint] (CDEトークンエンドポイント)</span>: 使用したいCDEトークンを入力します。</li> <li> <span>[Workload user] (ワークロードユーザー)</span>: 新しいトークンの生成に使用したいCDPワークロードを入力します。詳細は、Clouderaのドキュメンテーションで<a href="https://docs.cloudera.com/management-console/cloud/user-management/topics/mc-um-workload-user.html" target="_blank">CDP workload user</a>をご覧ください。</li> <li> <span>[Workload password] (ワークロードパスワード)</span>: ワークロードユーザーに関連付けられているパスワードを入力します。</li> </ul> |
   | [Enable client debugging] (クライアントデバッギングを有効化) | CDE APIクライアントのデバッグロギングが有効にする場合は、このチェックボックスをオンにします。 |
   | [Override dependencies] (依存項目を上書き) | Sparkに必要な依存項目を上書きする場合は、このチェックボックスをオンにします。 |
   | [Job status/logs polling interval (in ms)] (ジョブステータス/ログのポーリング間隔(ミリ秒)) | Talend StudioがジョブのステータスをSparkに要求する時間間隔(ミリ秒)を引用符なしで入力します。 |
   | [Fetch driver logs] (ドライバーログをフェッチ) | ドライバーログをフェッチする場合は、このチェックボックスをオンにします。チェックボックスをオンにすれば、次の情報をフェッチできます。<br><br><ul> <li> <span>[Standard output] (標準出力)</span> </li> <li> <span>[Error output] (エラー出力)</span> </li> </ul> |
   | [Advanced parameters] (詳細パラメーター) | 次のCDE APIパラメーターを入力する場合は、このチェックボックスをオンにします。<br><br><ul> <li> <span>[Number of executors] (エグゼキューターの数)</span>: エグゼキューターの数を入力します。</li> <li> <span>[Driver cores] (ドライバーコア)</span>: ドライバーコアの数を入力します。</li> <li> <span>[Driver memory] (ドライバーメモリ)</span>: ドライバーによって使用されるメモリの割り当て量を入力します。</li> <li> <span>[Executor cores] (エグゼキューターコア)</span>: エグゼキューターコアの数を入力します。</li> <li> <span>[Executor memory] (エグゼキューターメモリ)</span>: 各エグゼキューターによって使用されるメモリの割り当て量を入力します。</li> </ul> |
7. [Spark "scratch" directory] (Spark "scratch"ディレクトリー)フィールドに、jarファイルを転送するなどTalend Studioがローカルシステムに一時ファイルを保存するディレクトリーを入力します。Windowsでジョブを起動する場合、デフォルトのディスクは*C:*です。このフィールドを*/tmp*のままにすると、このディレクトリーは*C:/tmp*になります。
8. [Activate checkpointing] (チェックポイントを有効化)
9. [Advanced properties] (詳細プロパティ)テーブルに、Talend Studioによって使用されるデフォルトのプロパティを上書きするために必要なSparkプロパティを追加します。

## タスクの結果

これで接続詳細が完全なものになったので、ジョブの実行をスケジュールしたり、すぐに実行したりできます。