すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB for HBase:機能

最終更新日:Jan 16, 2025

このトピックでは、Lindorm Streams(ApsaraDB for Lindormが提供)を使用して、Message Queue for Apache Kafkaのトピックにメッセージをパブリッシュする方法について説明します。メッセージには、ApsaraDB for HBaseパフォーマンス強化版の増分データが含まれています。このようにして、トピックをサブスクライブし、増分データを使用できます。

機能

Lindorm Streamsは、次のルールに基づいて、Message Queue for Apache Kafkaのトピックにメッセージをパブリッシュします。

  • Lindorm Streamsは、同じ行に対して実行された操作を、それらの操作が実行された順序で記録します。このようにして、記録された操作を同じ順序で再実行できます。

  • 少なくとも1回(At-least-once)のセマンティクスがサポートされています。設定した再試行ポリシーに基づいて、メッセージを複数回使用できます。正確に1回(exactly-once)のセマンティクスを指定する場合は、チケットを送信してください。

メッセージ形式

Lindorm Streamsメッセージには、更新された行の2つのバージョンを含めることができます。行が更新される前のバージョンと、行が更新された後のバージョンです。次の例は、メッセージの内容を示しています。

{
  "op" : <opType>             // 実行される操作。有効な値:Put および DeleteFamily。
  "table" : <tableName>       // テーブルの名前。
  "ts" : <defaultVersion>     // デフォルトバージョン。行に ts キーが含まれていない場合、デフォルトバージョンが使用されます。
  "keyOnly":<keyOnly>         // プライマリキーのみが含まれているかどうかを示します。
  "data" : [
    {
      "type" : <type>          // 列のデータ型。
      "name" : <name>          // 列の名前。
      "ts" : <version>         // データバージョン。このパラメーターが空の場合、dts 値がバージョンとして使用されます。
      "value" : <value>        // 列の値。このパラメーターが空の場合、テーブル内の実際の値は null です。
  },
  {
      "type" : <type>          // 列のデータ型。
      "name" : <name>          // 列の名前。
      "ts" : <version>         // データバージョン。このパラメーターが空の場合、dts 値がバージョンとして使用されます。
      "value" : <value>        // 列の値。このパラメーターが空の場合、テーブル内の実際の値は null です。
  }
  ]
}

次の表に、Lindorm Streamsメッセージに指定できるパラメーターを示します。

パラメーター

タイプ

必須

説明

key_only

boolean

いいえ

false

プライマリキーのみを同期するかどうかを指定します。デフォルト値:false。

unique_key

boolean

いいえ

false

バッチごとにプライマリキーを1回だけ送信するかどうかを指定します。デフォルト値:false。