# Apache Spark BatchのtMapRDBConfigurationプロパティ

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

Spark BatchのtMapRDBConfigurationコンポーネントは、ストレージファミリーとデータベースファミリーに属しています。

このフレームワークのコンポーネントは、すべてのサブスクリプションベースのビッグデータ対応のTalend製品およびTalend Data Fabricで利用できます。

## 基本設定

| プロパティ | 説明 |
| --- | --- |
| [Property type] (プロパティタイプ) | [Built-in] (組み込み)と[Repository] (リポジトリー)のいずれかです。<br><br>[Built-In] (組み込み): 一元的に保存されるプロパティデータはありません。<br><br>[Repository] (リポジトリー): プロパティが保存されているリポジトリーファイルを選択します。<br><br>プロパティは、リポジトリーツリーのHadoopクラスターノードに一元的に保存されます。 |
| [Distribution] (ディストリビューション)と[Version] (バージョン) | 使用するMapRディストリビューションを選択します。MapR V5.2以上のみがMapRDBのコンポーネントでサポートされます。<br><br>MapRDBデータベースと併用する必要のあるディストリビューションがこのMapRBDのコンポーネントによって正式にサポートされていない場合、つまり、このディストリビューションがMapRでも、このコンポーネントの[Version] (バージョン)ドロップダウンリストに表示されていないか、このディストリビューションがMapRではない場合は、[Custom] (カスタム)を選択します。<br><br><ol> <li> <p><span>[Import from existing version] (既存のバージョンからインポート)</span>を選択すると、正式にサポートされているディストリビューションをベースとしてインポートしてから、ベースディストリビューションで提供されていない他の必要なjarファイルを追加できます。</p> </li> <li> <p><span>[Import from zip] (zipからインポート)</span>を選択すると、使用するカスタムディストリビューションの設定zipファイルをインポートできます。zipファイルには、Hadoopの各種エレメントのライブラリーおよびこれらのライブラリーのインデックスファイルが含まれている必要があります。 </p> <p><span><span>Talend</span></span>はカスタムバージョンを公式にサポートしていません。<span><span>Talend</span></span>とそのコミュニティでは、<span>Talend Studio</span>からカスタムバージョンに接続するための方法を紹介していますが、Hadoopのディストリビューションとバージョンの種類は幅広いため、選択したバージョンの設定がスムーズに機能するかどうかは保証できません。そのような接続のセットアップは、Hadoopについてどんな問題でもご自身で対処できる十分な経験をお持ちの場合のみ行ってください。</p> <div><span>情報メモ</span><span>注:</span> <p>カスタムディストリビューションとこのコンポーネント間で作成する接続に関わるjarファイルがインポートされるように、このダイアログボックスのアクティブなチェックボックスをオフにしないでください。</p> </div> <p>カスタムディストリビューションの接続方法、および接続の共有方法のステップ例は、<a href="https://help.qlik.com/talend/r/ja-JP/8.0/hortonworks" target="_blank">Hortonworks</a>をご覧ください。</p> </li> </ol> |
| [Zookeeper quorum] (Zookeeperクォーラム) | Talend Studioとデータベース間のトランザクションを調整するZooKeeperサービスの名前またはURLを入力します。ZooKeeperを設定する時に、*zookeeper.znode.parent*プロパティを明示的に設定して、データベースで作成および使用されているZnodeがすべて含まれているルートZnodeへのパスを定義し、[Set Zookeeper znode parent] (親Zookeeper znodeを設定)チェックボックスをオンにしてこのプロパティを定義しなければならない場合があります。 |
| [Zookeeper client port] (Zookeeperクライアントポート) | 使用しているZooKeeperサービスのクライアントリスニングポートの数を指定します。 |
| [Use Kerberos authentication] (Kerberos認証を使用) | 使用するデータベースでKerberosセキュリティが実行される場合は、このチェックボックスを選択し、[HBase Master principal] (Hbaseマスタープリンシパル)フィールドと[HBase Region Server principal] (HBaseリージョンサーバープリンシパル)フィールドにプリンシパル名を入力します。この情報は、使用するクラスターの*hbase-site.xml*ファイルの中にあります。<br><br>ログインにKerberosのkeytabファイルが必要な場合は、[Use a keytab to authenticate] (認証にkeytabを使用)チェックボックスをオンにします。keytabファイルには、Kerberosのプリンシパルと暗号化されたキーのペアが含まれています。使用するプリンシパルを[Principal] (プリンシパル)フィールドに入力し、keytabファイルへのアクセスパスを[Keytab] フィールドに入力します。このキータブファイルは、ジョブが実際に実行されているマシン(Talend JobServerなど)に保存する必要があります。<br><br>keytabが有効なジョブは、プリンシパルに任命されたユーザーでなくても実行できますが、使用するkeytabファイルの読み取り権限が必要です。たとえば*user1*というユーザー名でジョブを実行し、使用するプリンシパルが*guest*の場合、*user1*に使用するキータブファイルの読み取り権限があることをご確認ください。<br><br>MapRクラスターでKerberosをデータベース用に設定する方法は、[Kerberos認証を設定](http://doc.mapr.com/display/MapR/Configure+Kerberos+Authentication+for+the+HBase+REST+Gateway)をご覧ください。 |
| [HBase Properties] (HBaseプロパティ) | データベースにカスタム設定を使用する必要がある場合は、カスタマイズするプロパティをこのテーブルで設定します。ランタイムに、カスタマイズされたプロパティは、データベース用に以前に定義した対応するプロパティを上書きします。<br><br>たとえば、データベースの設定で、*dfs.replication*プロパティの値を*1*に定義する必要があります。次に、プラスボタンを使用してこのテーブルに1行を追加し、このプロパティの名前と値をこの行に入力する必要があります。 |

## 使用方法

| 使用方法のガイダンス | 説明 |
| --- | --- |
| **使用ルール** | このコンポーネントは、必ず他のMapRDBコンポーネントと共に使い、SparkへのMapR-DB接続を提供します。 |
| 前提条件 | 始める前に、データベースで想定されているループバックIPの前提条件を満たしていることをご確認ください。<br><br>*Talend Studio* との操作を確実に行うには、Hadoopディストリビューションを適切にインストールする必要があります。以下のリストに、MapR関連の情報などを示します。<br><br><ul> <li> <p>MapRクライアントは必ず<span>Talend Studio</span>のあるマシンにインストールして、そのマシンのPATH変数にMapRクライアントライブラリーを追加します。MapRのドキュメンテーションによると、各OSバージョンに対応するMapRクライアントのライブラリーは、<em>MAPR_INSTALL\ hadoop\hadoop-VERSION\lib\native</em>にあります。たとえば、Windows版のライブラリーは、<em>\lib\native\MapRClient.dll</em>にあるMapRクライアントのjarファイルにあります。</p> <p>指定のライブラリーを追加しないと、<span>no MapRClient in java.library.path</span>というエラーが発生する可能性があります。</p> </li> <li> <p>たとえば、<span>[Window] (ウィンドウ)</span>メニューの<span>[Preferences] (環境設定)</span>ダイアログボックスにある<span>[Run/Debug] (実行/デバッグ)</span>ビューの<span>[Job Run VM arguments] (ジョブ実行VMの引数)</span>エリアで、<span>-Djava.library.path</span>引数を設定します。この引数により、そのMapRクライアントのネイティブライブラリーへのパスが<span>Talend Studio</span>に渡されるので、サブスクリプションベースのユーザーは<span>データビューアー</span>をフルに活用して、MapRに保存されたデータを<span>Talend Studio</span>でローカルに表示できます。</p> </li> </ul><br><br>Hadoopディストリビューションのインストール方法の詳細は、使用しているHadoopディストリビューションに対応するマニュアルをご覧ください。 |
| [Spark Connection] (Spark接続) | [Run] (実行)ビューの[Spark configuration] (Spark設定)タブで、ジョブ全体でのSparkクラスターへの接続を定義します。また、ジョブでは、依存jarファイルを実行することを想定しているため、Sparkがこれらのjarファイルにアクセスできるように、これらのファイルの転送先にするファイルシステム内のディレクトリーを指定する必要があります。<br><br><ul> <li> <div> <span>Yarnモード</span>(YarnクライアントまたはYarnクラスター):<ul> <li> <p>Google Dataprocを使用している場合、<span>[Spark configuration] (Spark設定)</span>タブの<span>[Google Storage staging bucket] (Google Storageステージングバケット)</span>フィールドにバケットを指定します。</p> </li> <li> <p>HDInsightを使用している場合、<span>[Spark configuration] (Spark設定)</span>タブの<span>[Windows Azure Storage configuration] (Windows Azure Storage設定)</span>エリアでジョブのデプロイメントに使用するブロブを指定します。</p> </li> <li>Altusを使用する場合は、<span>[Spark configuration] (Spark設定)</span>タブでジョブのデプロイにS3バケットまたはAzure Data Lake Storageを指定します。</li> <li> <p>オンプレミスのディストリビューションを使用する場合は、クラスターで使われているファイルシステムに対応する設定コンポーネントを使用します。一般的に、このシステムはHDFSになるため、<a href="https://help.qlik.com/talend/r/ja-JP/8.0/components/hdfs/thdfsconfiguration">tHDFSConfiguration</a>を使用します。</p> </li> </ul> </div> </li> <li> <p> <span>[Standalone mode] (スタンドアロンモード)</span>: クラスターで使われているファイルシステム(<a href="https://help.qlik.com/talend/r/ja-JP/8.0/components/hdfs/thdfsconfiguration-properties-for-apache-spark-batch">tHDFSConfiguration Apache Spark Batch</a>や<a href="https://help.qlik.com/talend/r/ja-JP/8.0/components/amazon-s3/ts3configuration-properties-for-apache-spark-batch">tS3Configuration Apache Spark Batch</a>など)に対応する設定コンポーネントを使用します。</p> <p>ジョブ内に設定コンポーネントがない状態でDatabricksを使用している場合、ビジネスデータはDBFS (Databricks Filesystem)に直接書き込まれます。</p> </li> </ul><br><br>この接続は、ジョブごとに有効になります。 |