Apache Spark BatchのtMongoDBConfigurationプロパティ - 7.3

MongoDB

Version
7.3
Language
日本語 (日本)
Product
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Open Studio for Big Data
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > サードパーティーシステム > NoSQLコンポーネント > MongoDB
データガバナンス > サードパーティーシステム > NoSQLコンポーネント > MongoDB
データクオリティとプレパレーション > サードパーティーシステム > NoSQLコンポーネント > MongoDB

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

Spark Batch tMongoDBConfigurationコンポーネントはデータベースファミリーとデータベースNoSQLファミリーのコンポーネントです。

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

基本設定

[Property type] (プロパティタイプ)

[Built-In] (組み込み)または[Repository] (リポジトリー)のいずれか。

[Built-In] (組み込み): プロパティデータは一元的に保存されません。

[Repository] (リポジトリー): プロパティを保存するリポジトリーファイルを選択します。

[DB Version] (DBバージョン)

接続する必要のあるMongDBデータベースのバージョンを選択します。

[Use replica set address or multiple query routers] (レプリカセットのアドレスまたは複数クエリールーターを使用します)

このチェックボックスをオンにして[Server addresses] (サーバーアドレス)テーブルを表示します。

[Server addresses] (サーバーアドレス)テーブルで、接続先とするシャードMongoDBデータベースまたはMongoDBレプリカセットを定義します。

[Server] (サーバー)[Port] (ポート)

データベースサーバーのIPアドレスとリスニングポート番号を入力します。

[Use replica set address or multiple query routers] (レプリカセットのアドレスまたは複数クエリールーターを使用します)チェックボックスがオフの時に使用できます。

[Database] (データベース)

接続先とするMongoDBデータベースの名前を入力します。

[Use SSL connection] (SSL接続の使用)

SSLまたはTLS暗号化接続を有効にする場合は、このチェックボックスをオンにします。

次に、同じジョブ内のtSetKeystoreコンポーネントを使用して暗号化情報を指定する必要があります。

また、[Run] (実行)ビューの[Spark configuration] (Spark設定)タブにある[Advanced properties] (詳細プロパティ)テーブルで、spark.executor.extraJavaOptionsプロパティを設定します。たとえば次のような場合です。
"spark.executor.extraJavaOptions" :
"-Djavax.net.ssl.trustStorePassword
=password 
-Djavax.net.ssl.trustStore=
/tmp/keystore.jks 
-Djavax.net.ssl.trustStoreType=JKS"
このプロパティは、tSetKeystoreがSparkエグゼキューターに対して設定するのと同じパラメーターを設定するので、値をtSetKeystoreからコピーできます。さらに、完全に同じロケーションですべてのワーカーノードにキーストアをデプロイする必要があります。上記のサンプルでは、/tmp/keystore.jksです。

SSL接続はMongoDBのバージョン2.4 +でのみ利用可能です。

認証の利用

使用するMongoDBデータベースが認証を必要とする場合は、このチェックボックスをオンにしてデータベース認証を有効にします。

Kerberosを使用していない場合は、[Authentication mechanism] (認証メカニズム)ドロップダウンリストにリスト表示されているメカニズムのうち、[NEGOTIATE]が推奨されます。使用しているMongoDBバージョンに最もよく対応している認証メカニズムが自動的に選択されるためです。

このリスト内の他のメカニズムについては、MongoDBのドキュメンテーションでMongoDB Authenticationを参照してください。

[Set Authentication database] (認証データベースの設定)

MongoDBへの接続に使用するユーザー名がMongoDBの特定の認証データベース内で作成済みの場合は、このチェックボックスをオンにして、表示される[Authentication database] (認証データベース)フィールドに、この認証データベースの名前を入力します。

MongoDB認証データベースについては、User Authentication databaseを参照してください。

[Username] (ユーザー名)[Password] (パスワード)

DBユーザー認証データ。

パスワードを入力するには、パスワードフィールドの横にある[...]ボタンをクリックし、ポップアップダイアログボックスにパスワードを二重引用符の間に入力し、[OK] をクリックして設定を保存します。

[Use authentication] (認証の利用)チェックボックスがオンの場合に使えます。

[Authentication mechanism] (認証方式)ドロップダウンリストでKerberosをセキュリティシステムに選択した場合は、[Username] (ユーザー名)[Password] (パスワード)のフィールドではなく、[User principal] (プリンシパルを使用)[Realm] (レルム)[KDC server] (KDCサーバー)のフィールドに入力します。

詳細設定

[Connection string options] (接続文字列オプション)

[Basic settings] (基本設定)タブで定義したプロパティに加えて、MongoDBへの接続用に、このテーブルでその他のプロパティを定義できます。

たとえば、次のオプションを追加して、この接続にタイムアウト値を指定できます。
connectTimeoutMS=300000

このテーブルで追加が可能なオプションについては、Connection optionsを参照してください。

使用方法

使用ルール

このコンポーネントは、他のコンポーネントに接続せずに使用されます。

tMongoDBConfigurationコンポーネント内の設定は、同じジョブ内のMongoDB関連のコンポーネントにのみ適用されます。言い換えると、tRunJob経由で呼び出した子ジョブまたは親ジョブ内で使用するMongoDBコンポーネントは、この設定を再利用できません。

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

特に明記していない限り、このドキュメントのシナリオでは、[Standard] (標準)ジョブ、つまり従来の Talend データ統合ジョブだけを扱います。

[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を指定します。
    • Quboleを使用する場合は、ジョブにtS3Configurationを追加し、QuboleでS3システム内に実際のビジネスデータを書き込みます。tS3Configurationを使用しないと、このビジネスデータはQubole HDFSシステムに書き込まれ、クラスターをシャットダウンすると破棄されます。
    • オンプレミスのディストリビューションを使用する場合は、クラスターで使用されているファイルシステムに対応する設定コンポーネントを使用します。一般的に、このシステムはHDFSになるため、tHDFSConfigurationを使用します。

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

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

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