Apache Spark StreamingのtMongoDBConfigurationプロパティ - Cloud - 8.0

MongoDB

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

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

Spark StreamingtMongoDBConfigurationコンポーネントは、データベースファミリーとデータベースNoSQLファミリーに属しています。

このコンポーネントはTalend Real-Time Big Data PlatformTalend Data Fabricで利用できます。

基本設定

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

[Built-in] (組み込み)[Repository] (リポジトリー)のいずれかです。

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

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

[DB Version] (データベースバージョン)

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

[Use connection string] (接続文字列を使用)

このチェックボックスをオンにすると、URI (Uniform Resource Identifier)を使って接続が確立されます。

次に[...]ボタンをクリックし、表示される[Enter a new password] (新しいパスワードを入力)ポップアップダイアログボックスに二重引用符で囲んだURIを入力して、最後にOKをクリックして設定を保存します。

URIではユーザー名とパスワードが直接入力されるので、[Username] (ユーザー名)パラメーターと[Password] (パスワード)パラメーターは利用できません。

重要: Spark StreamingジョブではMongoDB Atlas URI形式がサポートされていません。

詳細は、MongoDBのドキュメンテーションでConnection String URI Formatをご覧ください。

このオプションは、Talendが提供する8.0.1 R2023-05以降のTalend Studioマンスリーアップデートをインストール済みであり、[DB Version] (データベースバージョン)MongoDB 4+を選択した場合のみ利用できます。

[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からコピーできます。さらに、完全に同じロケーションですべてのワーカーノードにKeystoreをデプロイする必要があります。上記のサンプルでは、/tmp/keystore.jksです。

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

認証の利用

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

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

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

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

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

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

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

データベースのユーザー認証データを入力します。

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

これらのオプションは、[Use authentication] (認証を使用)チェックボックスがオンであり、[Use connection string] (接続文字列を使用)チェックボックスがオフの場合に利用できます。

[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 Streamingのコンポーネントのパレットと共に、Spark Streamingジョブを作成している場合にだけ表示されます。

特に明記していない限り、このドキュメンテーションのシナリオでは、標準ジョブ、つまり従来の Talend Data Integrationジョブだけを扱います。

[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を指定します。
    • オンプレミスのディストリビューションを使用する場合は、クラスターで使われているファイルシステムに対応する設定コンポーネントを使用します。一般的に、このシステムはHDFSになるため、tHDFSConfigurationを使用します。

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

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

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