# Sparkモードの選択

使用するSparkモードに応じて、ジョブをSparkモードにできます。

Sparkドキュメンテーションの「[Spark設定](https://spark.apache.org/docs/2.3.0/configuration.html)」には、Sparkプロパティとそのデフォルト値の包括的なリストがあります。Talend StudioでデザインしたSparkジョブでは、[Spark configuration] (Spark設定)タブ、またはジョブで使用するコンポーネントで明示的に定義したプロパティを除いて、このデフォルト設定が使用されます。

## 手順

1. [Run] (実行)をクリックしてビューを開き、[Spark configuration] (Spark設定)タブをクリックして、Spark接続を設定するビューを開きます。
2. [Use local mode] (ローカルモードを使用)チェックボックスをオンにしてジョブをローカルでテストします。

   ローカルモードでは、ジョブを実行するためのSpark環境がTalend Studioによって即座に構築されます。計算の実行のために、ローカルマシンの各プロセッサーがSparkワーカーとして使用されます。

   このモードでは、ローカルファイルシステムが使われます。したがって、リモートファイルシステムへの接続情報を提供するtS3ConfigurationやtAzureFSConfigurationなどのコンポーネントがジョブ内に配置されている場合は、これらの設定コンポーネントを無効にします。

   これ以上は何も設定せずにジョブを起動できます。
3. [Use local mode] (ローカルモードを使用)チェックボックスをオフにして、利用可能なHadoopディストリビューションのリストを表示し、使用するSparkクラスターに相当するディストリビューションをこのリストから選択します。

   ディストリビューションには以下が含まれます:
   * [Databricks](https://help.qlik.com/talend/r/ja-JP/8.0/databricks)

   * [Amazon EMR](https://help.qlik.com/talend/r/ja-JP/8.0/amazon-emr)

     このディストリビューションについてはTalendでは以下がサポートされます:

     * Yarnクライアント

     * Yarn cluster (Yarnクラスター)

     情報メモ重要: Amazon EMR上で、Delta Lakeはサポートされていません。

   * [Cloudera](https://help.qlik.com/talend/ja-JP/components/8.0/spark-batch/tkuduoutput-tkuduconfiguration-tmap-defining-cloudera-connection-parameters-spark-batch-component-enter?id=4566)

     このディストリビューションについてはTalendでは以下がサポートされます:

     * スタンドアロン

     * Yarnクライアント

     * Yarn cluster (Yarnクラスター)

   * [Cloudera Altus](https://help.qlik.com/talend/ja-JP/components/8.0/spark-batch/defining-cloudera-altus-connection-parameters-spark-batch-component)

     このディストリビューションについてはTalendでは以下がサポートされます:

     * Yarnクラスター

       Altusクラスターは、以下のクラウドプロバイダーで実行する必要があります:

       * Azure

         AzureでAltusがサポートされるのは、テクニカルプレビュー機能になります。

       * AWS

   データはAvroに依存してコンポーネント間のデータ移動を行っているので、Kryoを使ってAvroタイプを処理するようお使いのクラスターを設定することをお勧めします。これによって[Avroに関するこの既知の問題](https://issues.apache.org/jira/browse/AVRO-1891)を回避できるだけでなく、本来のパフォーマンス向上も実現できます。お使いのクラスターで設定が必要なSparkプロパティは:
   ```
   spark.serializer org.apache.spark.serializer.KryoSerializer
   ```

   このドロップダウンリストで対応するディストリビューションが見つからなければ、接続したいディストリビューションをTalendが公式にはサポートしていないことを意味します。その場合、[Custom] (カスタム)を選択してから、接続するクラスターの[Spark version] (Sparkバージョン)を選択し、[+]ボタンをクリックして、表示されるダイアログボックスで以下の選択を行います:
   1. [Import from existing version] (既存のバージョンからインポート)を選択すると、正式にサポートされているディストリビューションをベースとしてインポートしてから、ベースディストリビューションで提供されていない他の必要なjarファイルを追加できます。

   2. [Import from zip] (zipからインポート)をオンにすると、使用するカスタムディストリビューションの設定zipファイルをインポートできます。Zipファイルには、Hadoop/Sparkの各種エレメントのライブラリーおよびライブラリーのインデックスファイルを含める必要があります。

      Talendはカスタムバージョンを公式にはサポートしていません。Talendとそのコミュニティでは、Talend Studioからカスタムバージョンに接続するための方法を紹介していますが、選択したバージョンの設定がスムーズに機能するかどうかは保証できません。そのような接続のセットアップは、HadoopおよびSparkについてどんな問題でもご自身で対処できる十分な経験をお持ちの場合のみ行ってください。

   カスタムディストリビューションの接続方法、および接続の共有方法のステップ例は、[Hortonworks](https://help.qlik.com/talend/r/ja-JP/8.0/hortonworks)をご覧ください。