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

CosmosDB

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

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

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

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

基本設定

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

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

API

使うデータベースAPIを選択します。定義が必要な対応するパラメーターが、[Component] (コンポーネント)ビューに表示されます。

このコンポーネントの現在のバージョンでは、MongoDB APIのみがサポートされています。このため、MongoDBデータベースはCosmosDBのコンポーネントのドキュメンテーションで頻繁に触れられています。

[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データベースの名前を入力します。

[Set write concern] (書き込み確認の設定)

このチェックボックスをオンにすると、書き込み操作で要求される確認応答のレベルを設定できます。この操作のレベルを選択する必要があります。

詳細は、http://docs.mongodb.org/manual/core/write-concern/で、関連するMongoDBのドキュメンテーションをご覧ください。

[Bulk write] (バルク書き込み)

データを一括で挿入、アップデート、または削除するには、このチェックボックスをオンにします。この機能は、使っているMongoDBのバージョンが 2.6+の場合のみ利用できます。

[Ordered] (順序指定)または[Unordered] (順序指定なし)を選択して、MongoDBデータベースがStudioから送信されたデータを処理する方法を定義する必要があります。
  • [Ordered] (順序指定)を選択すると、MongoDBはクエリーを順番に処理します。

  • [Unordered] (順序指定なし)を選択すると、MongoDBは、個々の操作がバルク書き込みに挿入された順序を維持せずに、バルク書き込み操作を最適化します。

[Bulk write size] (バルク書き込みサイズ)フィールドに、MongoDBによって処理する各クエリーグループのサイズを入力します。MongoDBのドキュメンテーションでは、このサイズに関する一部の制限と予想される動作が説明されています。詳細は、http://docs.mongodb.org/manual/core/bulk-write-operations/をご覧ください。

[Authentication mechanism] (認証メカニズム)

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サーバー)のフィールドに入力します。

[Collection] (コレクション)

データベースのコレクションの名前。

[Drop collection if exist] (存在する場合はコレクションをドロップ)

このチェックボックスをオンにすると、既に存在する場合はコレクションが削除されます。

[Action on data] (データでのアクション)

以下の操作を実行できます:
  • [Insert] (挿入): ドキュメントを挿入します。

  • [Set] (設定): 既存のドキュメントの既存のフィールドを変更し、このドキュメント内に存在しない場合はフィールドを追加します。

    使用するコレクション内のすべてのドキュメントにこのアクションを適用する必要がある場合は、表示される[Update all document] (すべてのドキュメントをアップデート)チェックボックスをオンにします。これがオフの場合、最初のドキュメントのみがアップデートされます。

  • [Update] (アップデート): 既存のドキュメントを受信データに置換しますが、これらのドキュメントのテクニカルIDは保持されます。

  • [Upsert]: 存在しない場合はドキュメントを挿入しますが、存在する場合は[Update] (アップデート)と同じルールを適用します。

  • [Upsert with set] (セットでアップサート): 存在しない場合はドキュメントを挿入しますが、存在する場合は[Set] (セット)と同じルールを適用します。

    使用するコレクション内のすべてのドキュメントにこのアクションを適用する必要がある場合は、表示される[Update all document] (すべてのドキュメントをアップデート)チェックボックスをオンにします。これがオフの場合、最初のドキュメントのみがアップデートされます。

  • [Delete] (削除): ドキュメントを削除します。

    使用するコレクション内のすべてのドキュメントにこのアクションを適用する必要がある場合は、表示される[Delete all documents] (ドキュメントをすべて削除)チェックボックスをオンにします。これがオフの場合は1つのドキュメントしか削除されません。

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

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

[Built-in] (組み込み): このコンポーネントに対してのみスキーマを作成し、ローカルに保管します。

[Repository] (リポジトリー): スキーマは作成済みで、リポジトリーに保管されています。さまざまなプロジェクトやジョブデザインで再利用できます。

再使用するスキーマに整数またはファンクションのデフォルト値が指定されている場合は、これらのデフォルト値を引用符で囲まないようにご注意ください。引用符で囲まれている場合は手動で削除します。

詳細は、Talend Studioユーザーガイドでテーブルスキーマに関連する説明をご覧ください。

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

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

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

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

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

[Sync columns] (カラムを同期)をクリックすると、ジョブで接続している先行コンポーネントからスキーマが取得されます。

このコンポーネントによって、コレクションにドキュメントを挿入する際にダイナミックスキーマがサポートされます。ダイナミックスキーマ機能を使用するためには、スキーマに含まれているカラムが1つだけであることを確認し、[DB column] (DBカラム)*に、そして[Type] (タイプ)文字列に(入力タイプが文字列の場合)、またはオブジェクトに(入力タイプがオブジェクトの場合)に設定する必要があります。

注:
  • ダイナミックスキーマ機能は、[Action on data] (データでのアクション)ドロップダウンリストで[Insert] (挿入)が選択されている場合のみ利用できます。
  • ダイナミックスキーマは、Talendが提供する8.0.1-R2022-07以降のStudio月次アップデートをインストールした場合のみ利用できます。詳細は管理者にお問い合わせください。

Mapping

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

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

[Advanced settings] (詳細設定)[Generate JSON Document] (JSONドキュメントを生成)チェックボックスがオンになっている場合は利用できません。

[Die on error] (エラー発生時に強制終了)

このチェックボックスをオンにすると、エラー時に行をスキップし、エラーの発生していない行の処理が完了されます。デフォルトでは選択されていません。

詳細設定

[Generate JSON Document] (JSONドキュメントを生成)

JSON設定のためにこのチェックボックスをオンにします。

[Configure JSON Tree] (JSONツリーを設定): [...]ボタンをクリックして、JSONツリー設定のインターフェイスを開きます。詳細は、JSONツリーを設定をご覧ください。

[Create empty element if needed] (必要に応じて空のエレメント作成): XMLツリーエディターの[Related Column] (関連カラム)にNULL値がある場合、またはXMLノードに関連付けられているカラムがない場合、このオプションを実行すると予想される場所に開閉タグが作成されます。このチェックボックスはデフォルトで選択されています。

[Ignore service attributes for empty elements] (空のエレメントのサービス属性を無視する): このオプションを選択すると、入力ノードがnullであるにもかかわらずサービス属性(@type@class@arrayなど)を持つ場合に、コンポーネントがノードを生成することを防止できます。このオプションは、[Create empty element if needed] (必要に応じて空のエレメントを作成)オプションが選択されていない場合に利用可能です。

[Group by] (分類基準): [+]ボタンをクリックして行を追加し、レコードを分類するための入力カラムを選択します。

[Remove root node] (ルートノードを削除): ルートノードを削除するには、このチェックボックスをオンにします。

[Data node] (データノード)[Query node] (クエリーノード) (アップデートアクションとアップサートアクションで利用可能): JSONツリー上に設定されたデータノードとクエリーノードの名前を入力します。

これらのノードは、更新とアップサートのアクションに必須です。これらはデータベースには保管されませんが、更新とアップサートのアクションを有効にすることを目的としています。

[Node] (ノード) ([Set] (セット)アクションと[Upsert with set] (セットでアップサート)アクションで使用可能): 特定のJSONノードに対する更新操作を指定します。更新操作を追加するためには、このフィールドの下部にあるプラスボタンをクリックして更新演算子を入力するか、[Node type] (ノードタイプ)カラムにあるドロップダウンリストから更新演算子を選択し、[Node reference] (ノード参照)カラムにノード名を二重引用符で囲んで入力します。更新演算子に関する情報は、更新演算子をご覧ください。
注: このフィールドは、TalendのR2022-01以降のStudio月次アップデートをインストールした場合のみ利用できます。詳細は管理者にお問い合わせください。

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

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

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

[tStatCatcher Statistics] (tStatCatcher統計)

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

使用方法

使用ルール

tCosmosDBOutputは、ジョブ内の先行するコンポーネントからのフローをベースに、データベースのコレクションで定義されているアクションを実行します。

制限事項

  • 複数のドキュメントを一度に更新できる"multi"パラメーターは、サポートされていません。したがって、2つのドキュメントに同じキーがある場合、最初のドキュメントは常に更新されますが、2番目のドキュメントは決して更新されません。

  • 更新操作では、キーはJSON配列にできません。