OceanBase
English日本語简体中文
ドキュメントホーム
製品
エコシステム
リリース

データベース

OceanBase CloudOceanBaseデータベース

データベース

OceanBase CloudOceanBaseデータベース
OceanBase CloudOceanBaseデータベース

OceanBaseデータベース

KV - V4.4.2
  • OBKVの概要
  • OBKVのアーキテクチャ
  • OBKV-Table
    • OBKV-Table概要
      • OBKV-Tableの概要
      • OBKV-Tableのコア機能
      • OBKV-Tableデプロイの概要
    • シンプルなKey-Valueストレージのクイックスタート(Java)
    • OBKV-Table Javaクライアントを使ったアプリケーション開発
      • OBKV-Table Java開発ガイド
      • OBKV-Table開発の準備
      • OBKV-Table Javaクライアントを使用してクラスタに接続する
      • OBKV-Table操作例
        • OBKV-Tableへのデータ書き込み
        • OBKV-Tableによるデータのクエリ
        • OBKV-Tableでのデータ更新
        • OBKV-Tableによるデータの削除
      • OBKV-Table Javaクライアントのパラメータ設定
    • OBKV-Table管理
      • OBKV-Table管理の概要
      • OBKV-Tableの高可用性
      • OBKV-Tableのセキュリティ権限
      • OBKV-Tableモニタリングメトリクス
    • OBKV-Tableリファレンス
      • OBKV-Tableのデータモデル
      • OBKV-Tableの操作タイプ
      • OBKV-Tableがサポートするデータ型
      • OBKV-Table全文インデックス
      • OBKV-Tableのグローバルインデックスの使用範囲と例
      • OBKV-Tableの期限切れデータ削除
      • OBKV-Tableのグループコミット
      • OBKV-Tableの弱い整合性読み取りと最寄りデータセンターからの読み取り
      • OBKV-Table関連ビュー
    • OBKV-Table よくある質問
  • OBKV-HBase
    • OBKV-HBaseの概要
    • OBKV-HBaseのコア機能
    • OBKV-HBaseのデプロイ
    • OBKV-HBaseによるアプリケーション開発
      • OBKV-HBase アプリケーション開発の概要
      • OBKV-HBase Javaクライアントを使用したクラスタへの接続
      • HBaseの業務コードをOBKV-HBaseに移行する
      • OBKV-HBase データ操作の例
    • OBKV-HBase 移行ガイド
    • OBKV-HBase管理
      • OBKV-HBase管理の概要
      • OBKV-HBaseの高可用性
      • OBKV-HBaseのセキュリティ権限
      • OBKV-HBaseモニタリングメトリクス
    • OBKV-HBaseクエリの最適化
    • OBKV-HBaseの性能テスト
    • OBKV-HBaseリファレンス
      • OBKV-HBaseデータモデル
      • OBKV-HBaseのデータスキーマ
      • HBaseとの互換インターフェース
      • HBaseと互換性のあるフィルター
      • OBKV-HBaseの自動パーティション分割
      • OBKV-HBaseにおける期限切れデータの削除
      • OBKV-HBaseの弱い整合性読み取りと最寄りデータセンターからの読み取り
      • OBKV-HBase関連ビュー
    • OBKV-HBaseエコシステム統合
      • Flink連携
        • Flinkコネクタを使用してOBKV-HBaseにデータを同期する
        • ネイティブFlinkによるOBKV-HBaseへのアクセス
      • HiveによるOBKV-HBaseへのアクセス
      • SparkによるOBKV-HBaseへのアクセス
  • OBKVリリースノート
    • OBKV Enterprise版

PDF をダウンロード

ドキュメントフィードバック
  1. ドキュメントセンター
  2. OceanBaseデータベース
  3. KV
  4. V4.4.2

Flinkコネクタを使用してOBKV-HBaseにデータを同期する

最終更新:2026-09-30 06:35:08

はじめに
SQL JAR
例
Javaアプリケーションの例
Flink SQLの例
構成パラメータ
関連情報

OBKV-HBaseのFlinkコネクタを使用すると、Flink内でobkv-hbase-client-javaを通じてOceanBaseにデータを書き込むことができます。

はじめに

公式リリース版はReleasesページまたはMaven中央リポジトリから入手できます。

<dependency>
    <groupId>com.oceanbase</groupId>
    <artifactId>flink-connector-obkv-hbase</artifactId>
    <version>${project.version}</version>
</dependency>

最新のスナップショットバージョンを使用したい場合は、Mavenスナップショットリポジトリを設定して指定できます。

<dependency>
    <groupId>com.oceanbase</groupId>
    <artifactId>flink-connector-obkv-hbase</artifactId>
    <version>${project.version}</version>
</dependency>

<repositories>
    <repository>
        <id>sonatype-snapshots</id>
        <name>Sonatype Snapshot Repository</name>
        <url>https://s01.oss.sonatype.org/content/repositories/snapshots/</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>

ソースコードからビルドすることでもパッケージを取得できます。

git clone https://github.com/oceanbase/flink-connector-oceanbase.git
cd flink-connector-oceanbase
mvn clean package -DskipTests

SQL JAR

Flink SQLからこのコネクタを直接使用するには、すべての依存関係を含む flink-sql-connector-obkv-hbase-${project.version}.jar という名前のJARファイルをダウンロードする必要があります。

  • 正式版

  • スナップショット版

例

OceanBaseにテーブルhtable1$family1を作成します。このテーブル名では、htable1はHBaseのテーブル名に、family1はHBaseのcolumn familyに対応しています。

use test;
CREATE TABLE `htable1$family1`
(
  `K` varbinary(1024)    NOT NULL,
  `Q` varbinary(256)     NOT NULL,
  `T` bigint(20)         NOT NULL,
  `V` varbinary(1048576) NOT NULL,
  PRIMARY KEY (`K`, `Q`, `T`)
)

Javaアプリケーションの例

Mavenプロジェクトを例に、アプリケーションのpom.xmlファイルに必要な依存関係を追加し、次のコードを使用します。

package com.oceanbase;

import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.table.api.EnvironmentSettings;
import org.apache.flink.table.api.bridge.java.StreamTableEnvironment;

public class Main {
    public static void main(String[] args) throws Exception {
        StreamExecutionEnvironment env =
                StreamExecutionEnvironment.getExecutionEnvironment().setParallelism(1);
        StreamTableEnvironment tEnv =
                StreamTableEnvironment.create(
                        env, EnvironmentSettings.newInstance().inStreamingMode().build());

        tEnv.executeSql(
                "CREATE TABLE t_sink ( "
                        + " rowkey STRING,"
                        + " family1 ROW<column1 STRING, column2 STRING>,"
                        + " PRIMARY KEY (rowkey) NOT ENFORCED"
                        + ") with ("
                        + "  'connector'='obkv-hbase',"
                        + "  'url'='http://127.0.0.1:8080/services?...',"
                        + "  'schema-name'='test',"
                        + "  'table-name'='htable1',"
                        + "  'username'='root@test',"
                        + "  'password'='',"
                        + "  'sys.username'='root',"
                        + "  'sys.password'=''"
                        + ");");

        tEnv.executeSql(
                        "INSERT INTO t_sink VALUES "
                                + "('1', ROW('r1f1c1', 'r1f1c2')),"
                                + "('2', ROW('r2f1c1', 'r2f1c2')),"
                                + "('2', ROW('r3f1c1', 'r3f1c2'));")
                .await();
    }
}

実行が完了したら、OceanBaseで検索して検証できます。

詳細については、OBKVHBaseConnectorITCase.java を参照してください。

Flink SQLの例

使用する依存JARファイルをFlinkのlibディレクトリに配置し、その後SQL Clientを使用してFlink内に対象テーブルを作成します。

CREATE TABLE t_sink
(
  rowkey STRING,
  family1 ROW <column1 STRING,
  column2 STRING >,
  PRIMARY KEY (rowkey) NOT ENFORCED
) with (
  'connector'='obkv-hbase',
  'url'='http://127.0.0.1:8080/services?...',
  'schema-name'='test',
  'table-name'='htable1',
  'username'='root@test',
  'password'='',
  'sys.username'='root',
  'sys.password'='');

テストデータを挿入します。

INSERT INTO t_sink
VALUES ('1', ROW ('r1f1c1', 'r1f1c2')),
       ('2', ROW ('r2f1c1', 'r2f1c2')),
       ('2', ROW ('r3f1c1', 'r3f1c2'));

実行完了後、OceanBaseデータベースで検索して検証できます。

構成パラメータ

パラメータ名
必須
デフォルト値
タイプ
説明
url はい String クラスタのconfig url。SHOW PARAMETERS LIKE 'obconfig_url'で確認できます。
schema-name はい String OceanBaseのdb名。
table-name はい String HBaseテーブル名。OceanBaseではテーブル名の構造は hbase_table_name$family_name です。
username はい String 非sysテナントのユーザー名。
password はい String 非sysテナントのパスワード。
sys.username はい String sysテナントのユーザー名。
sys.password はい String sysテナントユーザーのパスワード。
hbase.properties いいえ String 'obkv-hbase-client-java'
のプロパティを設定します。複数の値はセミコロンで区切ります。
sync-write いいえ false Boolean 同期書き込みを有効にするかどうか。true
に設定すると、バッファを使用せずに直接データベースに書き込みます。
buffer-flush.interval いいえ 1s Duration バッファフラッシュの間隔。'0' に設定すると、定期的なフラッシュを無効にします。
buffer-flush.buffer-size いいえ 1000 Integer バッファサイズ。
max-retries いいえ 3 Integer 失敗時のリトライ回数。

関連情報

  • Introduce decomposed Sink V2 interfaces
  • flink-connector-hbase
  • obkv-hbase-client-java

前のトピック

OBKV-HBase関連ビュー
前へ

次のトピック

ネイティブFlinkによるOBKV-HBaseへのアクセス
次へ
このページの内容
はじめに
SQL JAR
例
Javaアプリケーションの例
Flink SQLの例
構成パラメータ
関連情報