全部产品
Search
文档中心

Realtime Compute for Apache Flink:Konektor Datagen

更新时间:Jun 19, 2025

Topik ini menjelaskan penggunaan Konektor Datagen.

Informasi latar belakang

Konektor Datagen digunakan untuk debugging. Konektor ini secara berkala menghasilkan data acak yang sesuai dengan tipe pada tabel sumber Datagen. Untuk memeriksa logika bisnis secara efisien selama pengembangan atau pengujian menggunakan data uji, Anda dapat memanfaatkan konektor Datagen guna menghasilkan data acak.

Konektor Datagen mendukung sintaks kolom terhitung untuk fleksibilitas dalam menghasilkan data.

Tabel berikut menjabarkan kemampuan yang didukung oleh Konektor Datagen.

Item

Deskripsi

Jenis tabel

Tabel sumber

Mode operasi

Mode batch dan mode streaming

Format data

Tidak tersedia

Metrik

Tidak tersedia

Jenis API

SQL API

Pembaruan atau penghapusan data dalam tabel sink

Tidak tersedia

Batasan

Hanya Realtime Compute for Apache Flink yang menggunakan Ververica Runtime (VVR) versi 2.0.0 atau lebih baru yang mendukung Konektor Datagen.

Sintaks

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

Parameter dalam klausa WITH

Parameter

Deskripsi

Tipe data

Diperlukan

Nilai default

Catatan

connector

Tipe tabel sumber.

STRING

Ya

Tidak ada nilai default

Atur nilainya menjadi datagen.

rows-per-second

Laju penghasilan data acak.

LONG

Tidak

10000 (baris data per detik)

Tidak tersedia.

number-of-rows

Jumlah total baris data yang dapat dihasilkan.

LONG

Tidak

Tidak ada nilai default

Secara default, tabel sumber data tak terbatas dihasilkan. Jika generator bidang adalah generator urutan, pembuatan data untuk sumber selesai dan tabel terbatas dihasilkan setelah urutan bidang dibuat.

fields.<field>.kind

Tipe generator yang menghasilkan data untuk <field>.

STRING

Tidak

random

Nilai valid:

  • random: generator acak.

  • sequence: generator urutan.

Untuk informasi lebih lanjut tentang generator, lihat Generator.

fields.<field>.min

Nilai acak minimum yang dapat dihasilkan.

Sama dengan tipe data <field>

Tidak

Nilai minimum untuk tipe data <field>

Parameter ini berlaku ketika parameter fields.<field>.kind disetel ke random. Hanya tipe data numerik yang didukung.

fields.<field>.max

Nilai acak maksimum yang dapat dihasilkan.

Sama dengan tipe data <field>

Tidak

Nilai maksimum untuk tipe data <field>

Parameter ini berlaku ketika parameter fields.<field>.kind disetel ke random. Hanya tipe data numerik yang didukung.

fields.<field>.max-past

Masa lalu maksimum relatif terhadap cap waktu mesin lokal saat ini ketika cap waktu acak dihasilkan.

DURATION

Tidak

0

Hanya tipe timestamp yang didukung.

fields.<field>.length

Panjang string acak yang dihasilkan atau kapasitas satu set data yang dihasilkan.

INTEGER

Tidak

100

Tipe data berikut didukung:

  • CHAR

  • VARCHAR

  • BINARY

  • VARBINARY

  • STRING

  • ARRAY

  • MAP

  • MULTISET

fields.<field>.start

Nilai awal generator urutan.

Sama dengan tipe data <field>

Tidak

Tidak ada nilai default

Parameter ini berlaku ketika parameter fields.<field>.kind disetel ke sequence.

fields.<field>.end

Nilai akhir generator urutan.

Sama dengan tipe data <field>

Tidak

Tidak ada nilai default

Parameter ini berlaku ketika parameter fields.<field>.kind disetel ke sequence.

null

Ganti <field> dalam parameter dengan nama bidang yang didefinisikan dalam pernyataan DDL.

Generator

Konektor Datagen dapat menggunakan salah satu jenis generator berikut untuk menghasilkan data acak:

  • Generator acak: menghasilkan nilai acak. Anda dapat menentukan nilai maksimum dan minimum untuk data yang dihasilkan secara acak.

  • Generator urutan: menghasilkan nilai berurutan dalam rentang tertentu. Ketika urutan mencapai nilai akhir, proses pembuatan data berakhir. Oleh karena itu, jika generator urutan digunakan, tabel terbatas akan dihasilkan. Anda dapat menentukan nilai awal dan akhir urutan.

Tabel berikut menjabarkan jenis generator yang didukung untuk setiap tipe data.

Tipe data

Generator yang didukung

Catatan

BOOLEAN

Random

Tidak tersedia.

CHAR

Random dan sequence

Tidak tersedia.

VARCHAR

Random dan sequence

Tidak tersedia.

BINARY

Random dan sequence

Tidak tersedia.

VARBINARY

Random dan sequence

Tidak tersedia.

STRING

Random dan sequence

Tidak tersedia.

DECIMAL

Random dan sequence

Tidak tersedia.

TINYINT

Random dan sequence

Tidak tersedia.

SMALLINT

Random dan sequence

Tidak tersedia.

INT

Random dan sequence

Tidak tersedia.

BIGINT

Random dan sequence

Tidak tersedia.

FLOAT

Random dan sequence

Tidak tersedia.

DOUBLE

Random dan sequence

Tidak tersedia.

DATE

Random

Menggunakan tanggal saat ini mesin lokal.

TIME

Random

Menggunakan waktu saat ini mesin lokal.

TIMESTAMP

Random

Menghasilkan nilai dalam rentang waktu masa lalu maksimum relatif terhadap cap waktu saat ini mesin lokal.

TIMESTAMP_LTZ

Random

Menghasilkan nilai dalam rentang waktu masa lalu maksimum relatif terhadap cap waktu saat ini mesin lokal.

ROW

Random

Menghasilkan subbidang acak.

ARRAY

Random

Menghasilkan elemen acak.

MAP

Random

Menghasilkan pasangan acak (key,value).

MULTISET

Random

Menghasilkan elemen acak.

Contoh

Dalam banyak kasus, Konektor Datagen digunakan bersama dengan klausa LIKE untuk mensimulasikan tabel. Contoh kode:

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'
);