Apache Spark StreamingのtMQTTOutputプロパティ - 7.3

MQTT

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

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

Spark Streaming tMQTTOutputコンポーネントは、メッセージングファミリーに属しています。

このコンポーネントのストリーミングバージョンは、Talend Real Time Big Data PlatformおよびTalend Data Fabricで利用できます。

基本設定

[Broker URL] (ブローカーURL)

公開するメッセージをMQTTにルーティングするために使うMQTTブローカーのロケーションを入力します。

トピック

tMQTTOutputにメッセージを公開させるトピックの名前を入力します。

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

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

このコンポーネントのスキーマは読み取り専用です。[Edit schema] (スキーマを編集)をクリックすると、スキーマを表示できます。

この読み取り専用のpayloadカラムは、tMQTTOutputがMQTTメッセージの本文を書き込むために使います。この読み取り専用のカラムにデータを送信するには、先行コンポーネントのスキーマ内に同じpayloadカラムを定義する必要があります。

その他のカラムは、出力されるメッセージのヘッダーとして追加されます。

QoS

使うメッセージに割り当てるQoS (Quality of Service)の数値レベルを引用符で囲まずに入力します。

この品質レベルは、MQTTをメッセージ配信要求にどの程度応答させるかを示します。
  • 0: メッセージが配信されないか、1回だけ配信されることを意味します。

  • 1: メッセージが少なくとも1回配信されることを意味します。

  • 2: メッセージが1回だけ配信されることを意味します。

QoSのさまざまなレベルの説明は、http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.dev.doc/q029090_.htmをご覧ください。

詳細設定

[Encoding] (エンコーディング)

リストからエンコーディングを選択するか、[CUSTOM] (カスタム)を選択して、手動で定義します。

このエンコードは、出力されるメッセージをエンコードするためにtMQTTOutputによって使われます。

[Connection pool] (接続プール)

このエリアでは、各Sparkエグゼキューターに、同時に開いたままにする接続の数を制御するための接続プールを設定するために使われます。以下の接続プールパラメーターに与えられているデフォルト値は、ほとんどのユースケースでそのまま利用できます。

  • [Max total number of connections] (接続の最大合計数): 同時に開いたままにしておくことができる接続(アイドルまたはアクティブ)の最大数を入力します。

    デフォルトの数は8です。-1を入力すると、同時に開いておける接続の数が無制限となります。

  • [Max waiting time (ms)] (最大待機時間(ミリ秒)): 接続使用の要求に対して接続プールからレスポンスが返されるまでの最大待機時間を入力します。デフォルトでは-1(無制限)となっています。

  • [Min number of idle connections] (アイドル接続の最小数): 接続プール内に維持されるアイドル接続(使用されていない接続)の最小数を入力します。

  • [Max number of idle connections] (アイドル接続の最大数): 接続プール内に維持されるアイドル接続(使用されていない接続)の最大数を入力します。

[Evict connections] (接続を無効化)

接続プール内の接続を破棄する条件を定義する場合は、このチェックボックスをオンにします。オンにすると、以下のフィールドが表示されます。

  • [Time between two eviction runs] (2つの削除実行の間隔): コンポーネントが接続のステータスを確認し、アイドル状態の接続を破棄するまでの間隔(ミリ秒)を入力します。

  • [Min idle time for a connection to be eligible to eviction] (接続が削除可能になるまでの最小アイドル時間): アイドル接続が破棄されるまでの間隔(ミリ秒)を入力します。

  • [Soft min idle time for a connection to be eligible to eviction] (接続が削除可能になるまでのソフト最小アイドル時間): このパラメーターの機能は[Min idle time for a connection to be eligible to eviction] (接続が削除可能になるまでの最小アイドル時間)と同じですが、[Min number of idle connections] (アイドル接続の最小数)フィールドで定義したアイドル接続の最小数が維持されます。

使用方法

使用ルール

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

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

特に明記していない限り、このドキュメントのシナリオでは、標準ジョブ、つまり従来の 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)に直接書き込まれます。

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

制限事項

ライセンスの互換性の問題のため、このコンポーネントの使用に必要な1つ以上のJARが提供されていません。この特定のコンポーネントに不足しているJARをインストールするには、Component (コンポーネント)タブビューの[Install] (インストール)ボタンをクリックします。Studioの Integration パースペクティブの[Modules] (モジュール)タブでも、不足しているすべてのJARを簡単に見つけて追加できます。詳細は、外部モジュールのインストールをご覧ください。外部モジュールをインストールする方法は、Talend Help Center (https://help.talend.com)をご覧ください。