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

MongoDB

Version
7.3
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-22

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

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

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

基本設定

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

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

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

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

[MongoDB configuration] (MongoDB設定)

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

[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カラム)内でアスタリスク(*)を付けます。

[Collection] (コレクション)

使用するコレクションの名前を入力します。

MongoDBコレクションはRDBMSテーブルと同等であり、そこにはドキュメントが含まれています。

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

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

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

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

以下の操作を実行できます:

  • [Insert] (挿入): ドキュメントを挿入します。

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

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

    [Mapping]テーブル内に指定する親ノードに新しいフィールドを追加する必要がある場合は、[Append to parent] (親に追加)を選択します。このチェックボックスをオフのままにすると、この新しいフィールドはアップデートするドキュメントのルートに追加されます。

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

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

    [Mapping]テーブル内に指定する親ノードに新しいフィールドを追加する必要がある場合は、[Append to parent] (親に追加)を選択します。このチェックボックスをオフのままにすると、この新しいフィールドはアップデートするドキュメントのルートに追加されます。

[Mapping] (マッピング)

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

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

詳細設定

[Advanced Hadoop MongoDB properties] (高度なHadoop MongoDBのプロパティ)

プロパティを追加して、tMongoDBOutputにデータの書き込み時に実行させる追加のオペレーションを定義します。

使用可能なプロパティは、MongoDB Connector for Hadoopにリスト表示され、説明されています。

使用方法

使用ルール

このコンポーネントは、終了コンポーネントとして使用され、入力リンクを必要とします。

このコンポーネントは、MongoDBデータベースに接続するために同じジョブ内にあるtMongoDBConfigurationコンポーネントを使用する必要があります。tMongoDBConfigurationを使用するには、このコンポーネントと共にtMongoDBConfigurationコンポーネントをドロップし、このコンポーネントの[Basic settings] (基本設定)を指定する必要があります。

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

特に明記していない限り、このドキュメントのシナリオでは、標準ジョブ、つまり従来の 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] (スタンドアロンモード): クラスターで使われているファイルシステム(tHDFSConfiguration Apache Spark BatchtS3Configuration Apache Spark Batchなど)に対応する設定コンポーネントを使用します。

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

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