Datagen bağlayıcısı hata ayıklama amacıyla kullanılır. Kaynak tablolar için rastgele test verileri üretir; böylece harici bir veri kaynağına bağlanmadan geliştirme ve test aşamalarında iş mantığını doğrulabilirsiniz. Tablo şemanızla eşleşen rastgele değerleri periyodik olarak üretir.
Bu bağlayıcı, esnek veri üretimi için computed column syntax söz dizimini de destekler.
Bağlayıcı yetenekleri
| Öğe | Açıklama |
|---|---|
| Tablo türü | Kaynak tablo |
| Çalıştırma modu | Toplu iş modu ve akış modu |
| Veri biçimi | Yok |
| Ölçüm | Yok |
| API türü | SQL API |
| Hedef tabloda veri güncelleme veya silme | Yok |
Sınırlamalar
Datagen bağlayıcısını yalnızca Ververica Runtime (VVR) 2.0.0 veya sonraki sürümleri kullanan Realtime Compute for Apache Flink destekler.
Söz dizimi
CREATE TABLE datagen_source (
name VARCHAR,
score BIGINT
) WITH (
'connector' = 'datagen'
);
WITH yan tümcesindeki parametreler
| Parametre | Veri türü | Gerekli mi? | Varsayılan değer | Açıklama |
|---|---|---|---|---|
connector |
String | Evet | Yok | datagen olarak ayarlanmalıdır. |
rows-per-second |
Long | Hayır | 10000 | Saniye başına satır cinsinden satır üretim hızı. |
number-of-rows |
Long | Hayır | Yok | Üretilecek toplam satır sayısı. Varsayılan olarak kaynak sınırsızdır. Bir sıra oluşturucu kullanılırsa, sıra sona erdiğinde kaynak otomatik olarak sınırlı hale gelir. |
fields.<field>.kind |
String | Hayır | random |
Alan için oluşturucu türü. Geçerli değerler: random veya sequence. Ayrıntılar için bkz. Oluşturucular. |
fields.<field>.min |
<field> veri türü ile aynı |
Hayır | Alanın veri türünün minimum değeri | Rastgele oluşturucu için minimum değer. Yalnızca sayısal türler için geçerlidir. |
fields.<field>.max |
<field> veri türü ile aynı |
Hayır | Alanın veri türünün maksimum değeri | Rastgele oluşturucu için maksimum değer. Yalnızca sayısal türler için geçerlidir. |
fields.<field>.max-past |
Duration | Hayır | 0 | Rastgele zaman damgası değerleri üretirken yerel makine zaman damgasına göre maksimum geçmiş ofseti. Yalnızca TIMESTAMP ve TIMESTAMP_LTZ türleri için geçerlidir. |
fields.<field>.length |
Integer | Hayır | 100 | Rastgele dizenin uzunluğu veya üretilen koleksiyonun boyutu. Desteklenen türler: CHAR, VARCHAR, BINARY, VARBINARY, STRING, ARRAY, MAP, MULTISET. |
fields.<field>.start |
<field> veri türü ile aynı |
Hayır | Yok | Sıra oluşturucu için başlangıç değeri. |
fields.<field>.end |
<field> veri türü ile aynı |
Hayır | Yok | Sıra oluşturucu için bitiş değeri. |
<field> ifadesini DDL deyiminde tanımladığınız alan adıyla değiştirin.
Oluşturucular
Datagen bağlayıcısı iki tür oluşturucuyu destekler:
Rastgele oluşturucu: Yapılandırılan aralıkta rastgele değerler üretir. Sayısal türler için aralığı kontrol etmek üzere
fields.<field>.minvefields.<field>.maxparametrelerini belirtin.Sıra oluşturucu: Bir başlangıç değerinden bir bitiş değerine kadar sıralı değerler üretir. Sıra tükendiğinde veri üretimi durur ve sınırlı bir tablo oluşur. Aralığı ayarlamak için
fields.<field>.startvefields.<field>.endparametrelerini belirtin.
Aşağıdaki tabloda her veri türü için desteklenen oluşturucu türleri listelenmiştir.
| Veri türü | Desteklenen oluşturucu | Notlar |
|---|---|---|
| BOOLEAN | Rastgele | |
| CHAR | Rastgele ve sıra | |
| VARCHAR | Rastgele ve sıra | |
| BINARY | Rastgele ve sıra | |
| VARBINARY | Rastgele ve sıra | |
| STRING | Rastgele ve sıra | |
| DECIMAL | Rastgele ve sıra | |
| TINYINT | Rastgele ve sıra | |
| SMALLINT | Rastgele ve sıra | |
| INT | Rastgele ve sıra | |
| BIGINT | Rastgele ve sıra | |
| FLOAT | Rastgele ve sıra | |
| DOUBLE | Rastgele ve sıra | |
| DATE | Rastgele | Her zaman yerel makinenin geçerli tarihine çözümlenir. |
| TIME | Rastgele | Her zaman yerel makinenin geçerli saatine çözümlenir. |
| TIMESTAMP | Rastgele | Yerel makine zaman damgasına göre geçmiş ofset aralığında değerler üretir. Ofseti fields.<field>.max-past ile yapılandırın. |
| TIMESTAMP_LTZ | Rastgele | Yerel makine zaman damgasına göre geçmiş ofset aralığında değerler üretir. Ofseti fields.<field>.max-past ile yapılandırın. |
| ROW | Rastgele | Rastgele alt alanlar üretir. |
| ARRAY | Rastgele | Rastgele öğeler üretir. |
| MAP | Rastgele | Rastgele anahtar-değer çiftleri üretir. |
| MULTISET | Rastgele | Rastgele öğeler üretir. |
Örnekler
Minimum yapılandırma
Varsayılan ayarlarla bir kaynak tablo oluşturun:
CREATE TABLE datagen_source (
name VARCHAR,
score BIGINT
) WITH (
'connector' = 'datagen'
);
Sıra ve rastgele oluşturucuları karıştırma
Çoğu durumda Datagen bağlayıcısı, mevcut bir tabloyu simüle etmek için LIKE yan tümcesiyle birlikte kullanılır. Aşağıdaki örnekte, id için bir sıra oluşturucu ve score için bir rastgele oluşturucu kullanılarak sınırlı bir veri kümesi üretilmektedir:
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'
);
Sıra oluşturucu, 1'den 50'ye kadar id değerleri üretir ve ardından durur. Bir sıra oluşturucu kullanıldığından kaynak sınırlıdır. Rastgele oluşturucu ise 70 ile 100 arasında score değerleri üretir.