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

Realtime Compute for Apache Flink:Datagenコネクタ

最終更新日:Jan 07, 2025

このトピックでは、Datagenコネクタの使用方法について説明します。

背景情報

Datagenコネクタはデバッグに使用されます。コネクタは、Datagenソーステーブルに対応するタイプのランダムデータを定期的に生成します。開発中またはテスト中にテストデータを使用してビジネスロジックを効率的にチェックする場合、Datagenコネクタを使用してランダムデータを生成できます。

Datagenコネクタは、計算列構文をサポートしており、柔軟な方法でデータを生成できます。

次の表に、Datagenコネクタでサポートされている機能を示します。

項目

説明

テーブルタイプ

ソーステーブル

実行モード

バッチモードとストリーミングモード

データ形式

該当なし

メトリック

該当なし

APIタイプ

SQL API

シンクテーブルでのデータの更新または削除

該当なし

制限

Ververica Runtime(VVR)2.0.0以降を使用するApache Flink用Realtime Computeのみが、Datagenコネクタをサポートしています。

構文

CREATE TABLE datagen_source (
  name VARCHAR,
  score BIGINT
) WITH (
  'connector' = 'datagen'
);

WITH句のパラメータ

パラメータ

説明

データ型

必須

デフォルト値

備考

connector

ソーステーブルのタイプ。

STRING

はい

デフォルト値なし

値を datagen に設定します。

rows-per-second

ランダムデータが生成されるレート。

LONG

いいえ

10000(1秒あたりのデータ行数)

該当なし。

number-of-rows

生成できるデータの行の総数。

LONG

いいえ

デフォルト値なし

デフォルトでは、無制限のデータソーステーブルが生成されます。フィールドジェネレータがシーケンスジェネレータの場合、フィールドのシーケンスが生成された後、ソースのデータ生成が完了し、制限付きテーブルが生成されます。

fields.<field>.kind

<field> のデータを生成するジェネレータのタイプ。

STRING

いいえ

random

有効な値:

  • random: ランダムジェネレータ。

  • sequence: シーケンスジェネレータ。

ジェネレータの詳細については、ジェネレータ をご参照ください。

fields.<field>.min

生成できる最小ランダム値。

<field> のデータ型と同じ

いいえ

<field> のデータ型の最小値

fields.<field>.kind パラメータが random に設定されている場合、このパラメータが有効になります。数値データ型のみがサポートされます。

fields.<field>.max

生成できる最大ランダム値。

<field> のデータ型と同じ

いいえ

<field> のデータ型の最大値

fields.<field>.kind パラメータが random に設定されている場合、このパラメータが有効になります。数値データ型のみがサポートされます。

fields.<field>.max-past

ランダムなタイムスタンプが生成されるときの、オンプレミスマシンの現在のタイムスタンプを基準とした過去の最大時間。

DURATION

いいえ

0

timestamp型のみがサポートされます。

fields.<field>.length

生成されるランダム文字列の長さ、または生成されるデータセットの容量。

INTEGER

いいえ

100

次のデータ型がサポートされています。

  • CHAR

  • VARCHAR

  • BINARY

  • VARBINARY

  • STRING

  • ARRAY

  • MAP

  • MULTISET

fields.<field>.start

シーケンスジェネレータの開始値。

<field> のデータ型と同じ

いいえ

デフォルト値なし

fields.<field>.kind パラメータが sequence に設定されている場合、このパラメータが有効になります。

fields.<field>.end

シーケンスジェネレータの終了値。

<field> のデータ型と同じ

いいえ

デフォルト値なし

fields.<field>.kind パラメータが sequence に設定されている場合、このパラメータが有効になります。

説明

パラメータの <field> は、DDL ステートメントで定義したフィールド名に置き換えます。

ジェネレータ

Datagenコネクタは、次のいずれかのタイプのジェネレータを使用してランダムデータを生成できます。

  • ランダムジェネレータ: ランダムな値を生成します。ランダムに生成されるデータの最大値と最小値を指定できます。

  • シーケンスジェネレータ: 特定の範囲内で順序付けられた値を生成します。生成されたシーケンスが終了値に達すると、データ生成プロセスは終了します。したがって、シーケンスジェネレータを使用すると、制限付きテーブルが生成されます。シーケンスの開始値と終了値を指定できます。

次の表に、各データ型でサポートされているジェネレータタイプを示します。

データ型

サポートされているジェネレータ

備考

BOOLEAN

ランダム

該当なし。

CHAR

ランダムとシーケンス

該当なし。

VARCHAR

ランダムとシーケンス

該当なし。

BINARY

ランダムとシーケンス

該当なし。

VARBINARY

ランダムとシーケンス

該当なし。

STRING

ランダムとシーケンス

該当なし。

DECIMAL

ランダムとシーケンス

該当なし。

TINYINT

ランダムとシーケンス

該当なし。

SMALLINT

ランダムとシーケンス

該当なし。

INT

ランダムとシーケンス

該当なし。

BIGINT

ランダムとシーケンス

該当なし。

FLOAT

ランダムとシーケンス

該当なし。

DOUBLE

ランダムとシーケンス

該当なし。

DATE

ランダム

オンプレミスマシンの現在の日付を使用します。

TIME

ランダム

オンプレミスマシンの現在の時刻を使用します。

TIMESTAMP

ランダム

オンプレミスマシンの現在のタイムスタンプを基準とした過去の最大時間範囲内で値を生成します。

TIMESTAMP_LTZ

ランダム

オンプレミスマシンの現在のタイムスタンプを基準とした過去の最大時間範囲内で値を生成します。

ROW

ランダム

ランダムなサブフィールドを生成します。

ARRAY

ランダム

ランダムな要素を生成します。

MAP

ランダム

ランダムな (key,value) のペアを生成します。

MULTISET

ランダム

ランダムな要素を生成します。

ほとんどの場合、DatagenコネクタはLIKE句とともに使用してテーブルをシミュレートします。サンプルコード:

CREATE TABLE datagen_source (
 id INT,
 score INT
) WITH (
 'connector' = 'datagen',
 'fields.id.kind'='sequence',
 'fields.id.start'='1',
 'fields.id.end'='50',
 'fields.score.kind'='random',
 'fields.score.min'='70',
 'fields.score.max'='100'
);