tMongoDBInputの標準プロパティ - Cloud - 8.0

MongoDB

Version
Cloud
8.0
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

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

[Standard] (標準)tMongoDBInputコンポーネントは、ビッグデータファミリーとデータベースNoSQLファミリーに属しています。

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

基本設定

[Use existing connection] (既存の接続を使用)

定義済みの接続の詳細を再利用するには、このチェックボックスをオンにして、[Component List] (コンポーネントリスト)ドロップダウンリストで目的の接続コンポーネントを選択します。

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

ドロップダウンリストで、使用したいデータベースのバージョンを選択します。

このフィールドは、[Use an existing connection] (既存の接続を使用)チェックボックスが選択されていない場合に利用できます。

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

このオプションを選択し、MongoDB Atlas URIを使って接続を確立します。右側のフィールドにURIを入力します。関連情報は、接続文字列のURI形式をご覧ください。

このオプションは、[DB Version] (DBバージョン)ドロップダウンリストからMongoDB 4.4.X and laterを選択する場合に利用できます。

注: このオプションは、TalendのR2021-12以降のStudio月次アップデートをインストールした場合のみ利用できます。詳細は管理者にお問い合わせください。

[Use replica set address] (レプリカセットのアドレスの使用)

このチェックボックスをオンにすると、[Replica address] (レプリカアドレス)テーブルが表示されます。

[Replica address] (レプリカアドレス)テーブルでは、フェイルオーバー用に複数のMongoDBデータベースサーバーを定義できます。

このフィールドは、[Use an existing connection] (既存の接続を使用)チェックボックスが選択されていない場合に利用できます。

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

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

これらのフィールドは、[Use existing connection] (既存の接続を使用)チェックボックスと[Use replica set address] (レプリカセットアドレスを使用)チェックボックスが選択されていない場合に利用できます。

[Database] (データベース)

データベースの名前を入力します。

[Use SSL connection (Configure the SSL authentication in tSetKeystore or in Studio preferences)] (SSL接続を使用(tSetKeystoreまたはStudio設定でSSL認証を構成))

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

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

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

[Set read preference] (読み取り環境設定の設定)

このチェックボックスをオンにして、[Read preference] (読み取り環境設定)ドロップダウンリストが表示されたら、読み取りオペレーションをダイレクトする必要のあるメンバーを選択します。

このチェックボックスをオフのままにすると、ジョブはデフォルトの読み取り環境設定を使用します。すなわち、レプリカセット内のプライマリーメンバーが使用されます。

詳細は、MongoDBのドキュメンテーションで複製とその読み取り環境設定に関する説明をご覧ください。

[Required authentication] (必要な認証)

このチェックボックスをオンにすると、データベース認証が有効になります。

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

SCRAM-SHA-256認証メカニズムがMongoDB 4.x以降のみにサポートされているため、SCRAM-SHA-256 SASLオプションは[DB Version] (DBバージョン)ドロップダウンリストからMongoDB 4.4.X and laterが選択されている時のみ利用できます。

注: X509オプションは、TalendのR2021-12以降のStudio月次アップデートをインストールした場合のみ利用できます。詳細は管理者にお問い合わせください。

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

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

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

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

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

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

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

このフィールドは、[Required authentication] (必要な認証)チェックボックスが選択されている場合に利用できます。

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

[Collection] (コレクション)

MongoDBデータベースにコレクションの名前を入力します。

[Schema] (スキーマ)[Edit Schema] (スキーマを編集)

スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。

スキーマを変更するには[Edit schema] (スキーマを編集)をクリックします。現在のスキーマがリポジトリータイプの場合は、3つのオプションを利用できます。

  • [View schema] (スキーマの表示): スキーマのみを表示する場合は、このオプションを選択します。

  • [Change to built-in property] (組み込みのプロパティに変更): ローカルで変更を行うためにスキーマを組み込みに変更する場合は、このオプションを選択します。

  • [Update repository connection] (リポジトリー接続をアップデート): リポジトリーに保存されているスキーマに変更を加え、変更後にそのコンテンツをすべてのジョブにプロパゲートするかどうかを決める場合は、このオプションを選択します。

    変更を現在のジョブにのみ反映する場合は、変更後、[No] (いいえ)を選択し、[Repository Content] (リポジトリーのコンテンツ)ウィンドウで再びこのスキーマのメタデータを選択します。

データベースのカラムがJSONドキュメントで、ドキュメント全体を読み取る必要がある場合は、引用符を使用せずに[DB column] (DBカラム)内でアスタリスク(*)を付けます。

[Query] (クエリー)

クエリー条件を指定します。このフィールドは、[Query type] (クエリータイプ)ドロップダウンリストから[Find query] (クエリーを検索)を選択した場合のみ利用できます。

たとえば、[Collection] (コレクション)フィールドで指定したコレクションからid4のレコードを取得するには、"{id:4}"と入力します。

注:

MongoDBクライアントソフトウェアの必須クエリーステートメントとは異なり、このクエリーは{id:4}対MongoDBクライアントクエリーdb.blog.find({id:4})など、find()内のコンテンツを参照しています。

[Specify fields to return] (返すフィールドを指定)

このチェックボックスを選択すると、データベースから返されるドキュメントでフィールドのセットが定義されます。

[Return only these fields] (これらのフィールドのみ返す)

このテーブルのデータから返されるフィールドの名前を入力します。

このフィールドは、[Basic settings] (基本設定)ビューで[Specify fields to return] (返すフィールドを指定)をオンにした場合のみ利用できます。

[Aggregation stages] (集計ステージ)

ドキュメントが通過するステージを追加してMongoDB集計パイプラインを作成し、ドキュメントからの集計結果を取得します。このテーブルは、[Query type] (クエリータイプ)ドロップダウンリストから[Aggregation pipeline query] (集計パイプラインクエリー)を選択した場合のみ利用できます。

この[Aggregation stages] (集計ステージ)テーブルでは、1行につき1ステージのみが許可され、ステージはこのテーブルに配置した順序で1つずつ実行されます。

たとえば、$match$groupのステージを使用して顧客に関するドキュメントを集計する場合、この[Aggregation stages] (集計ステージ)テーブルに2つの行を追加し、以下の2つのステージを定義します:
"{$match : {status : 'A'}}"
"{$group : {_id : '$cust_id', total : {$sum : '$amount'}}}"

この集計では、ステータスAの顧客ドキュメントが選択されます。その後、選択された顧客の中で同じ顧客IDでグルーピングされ、同じ顧客の[amount] (金額)フィールドの値が合計されます。

使用できるステージと関連する演算子の完全なリストは、Aggregation pipeline operatorsをご覧ください。

MongoDB集計パイプラインの詳細は、Aggregation pipelineをご覧ください。

[Mapping] (マッピング)

このコンポーネント用に定義されたスキーマの各カラムは、読み取るドキュメントのフィールドを表します。このテーブルで、これらのフィールドの親ノードがあればそれを指定する必要があります。

たとえば、次のようなドキュメントがあるとします。
{
               _id: ObjectId("5099803df3f4948bd2f98391"),
               person: { first: "Joe", last: "Walker" }
            }
フィールドfirstおよびlastには親ノードpersonがありますが、_idフィールドには親ノードがありません。したがって、完了すると、この[Mapping]テーブルは次のようになります。
Column     Parent node path
_id
first       "person"
last        "person"

[Sort by] (ソート条件)

カラムを指定し、並べ替え操作の順序を選択します。

このフィールドは、[Query type] (クエリータイプ)ドロップダウンリストから[Find query] (クエリーを検索)を選択した場合のみ利用できます。

[Limit] (制限事項)

取得するレコードの最大数を入力します。

このフィールドは、[Query type] (クエリータイプ)ドロップダウンリストから[Find query] (クエリーを検索)を選択した場合のみ利用できます。

[Skip] (スキップ)

取得行のうち何行スキップするか指定します。ただし、1行目からはスキップされます。

注: このオプションは、TalendのR2022-01以降のStudio月次アップデートをインストールした場合のみ利用できます。詳細は管理者にお問い合わせください。

[Batch size] (バッチサイズ)

1つのバッチで取得できる最大行数を指定します。エラーが発生する可能性あるので、このオプションは1には設定しないでください。

注: このオプションは、TalendのR2022-01以降のStudio月次アップデートをインストールした場合のみ利用できます。詳細は管理者にお問い合わせください。

詳細設定

[tStatCatcher Statistics] (tStatCatcher統計)

このチェックボックスをオンにすると、コンポーネントレベルでログデータを収集できます。

[No query timeout] (クエリータイムアウトなし)

アイドルカーソルの非アクティブ状態が10分間続いた時にMongoDBサーバーがカーソルを停止することを防ぐには、このチェックボックスをオンにします。この状況では、このカーソルの結果が枯渇するか、またはcursor.close()方式を使用して手動で閉じるまで、アイドルカーソルが開いたままとなります。

MongoDBのカーソルはクエリーの結果セットを指すポインターです。デフォルトでは、すなわち、このチェックボックスがオフの場合、MongoDBサーバーは、メモリの過剰使用を避けるために、非アクティブ状態が特定の期間続くと、アイドルカーソルを自動的に停止します。MongoDBカーソルの詳細は、https://docs.mongodb.org/manual/core/cursors/をご覧ください。

[Convert BSON document to string] (BSONドキュメントを文字列に変換)

このチェックボックスを選択して、BSONの値をすべて文字列に変換します。配列タイプの値は基本オブジェクトリストです。

このオプションは、Mongo DB 3.5.x、4.4.x以降のバージョンでのみ利用できます。

[Global Variables] (グローバル変数)

[Global Variables] (グローバル変数)

NB_LINE: 入力コンポーネントによって読み取られた行の数、または出力コンポーネントに転送された行の数。これはAfter変数で、整数を返します。

ERROR_MESSAGE: エラーが発生した時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。この変数はコンポーネントにこのチェックボックスが存在し、[Die on error] (エラー発生時に強制終了)がオフになっている場合のみ機能します。

Flow変数はのコンポーネントの実行中に機能し、After変数はコンポーネントの実行後に機能します。

フィールドまたは式に変数を入れるには、Ctrl + スペースを押して変数リストにアクセスし、リストから使用する変数を選択します。

変数の詳細は、 Talend Studio ユーザーガイドをご覧ください。

使用方法

[Usage rule] (使用ルール)

tMongoDBInputは、開始コンポーネントとしてMongoDBデータベースのコレクションからレコードを取得し、後続コンポーネントに転送して表示または保存します。