DataGen SQL 连接器
更新时间: 2023-12-29 15:27:36
阅读 1583
DataGen SQL 连接器
从1.12开始支持。
DataGen 连接器允许按数据生成规则进行读取。
DataGen 连接器可以使用计算列语法,灵活地生成记录。 默认情况下,DataGen表将创建无限数量的行,每列具有一个随机值。对于大小可变的类型char/varchar/string/array/map/multiset,可以指定长度。此外,可以指定总行数,从而生成一个有界表。
DDL写法
表的有界性:当表中字段的数据全部生成完成后,source 就结束了。 因此,表的有界性取决于字段的有界性。
时间类型为本地计算机当前系统时间。
CREATE TABLE Orders (
order_number BIGINT,
price DECIMAL(32,2),
buyer ROW<first_name STRING, last_name STRING>,
order_time TIMESTAMP(3)
) WITH (
'connector' = 'datagen'
)
每个列,都有两种生成数据的方法:
随机生成器是默认的生成器,您可以指定随机生成的最大和最小值。char、varchar、string (类型)可以指定长度。它是无界的生成器。
序列生成器,您可以指定序列的起始和结束值。它是有界的生成器,当序列数字达到结束值,读取结束。
CREATE TABLE datagen (
f_sequence INT,
f_random INT,
f_random_str STRING,
ts AS localtimestamp,
WATERMARK FOR ts AS ts
) WITH (
'connector' = 'datagen',
-- optional options --
'rows-per-second'='5',
'fields.f_sequence.kind'='sequence',
'fields.f_sequence.start'='1',
'fields.f_sequence.end'='1000',
'fields.f_random.min'='1',
'fields.f_random.max'='1000',
'fields.f_random_str.length'='10'
)
类型
Type | Supported Generators | Notes |
---|---|---|
BOOLEAN | random | |
CHAR | random / sequence | |
VARCHAR | random / sequence | |
STRING | random / sequence | |
DECIMAL | random / sequence | |
TINYINT | random / sequence | |
SMALLINT | random / sequence | |
INT | random / sequence | |
BIGINT | random / sequence | |
FLOAT | random / sequence | |
DOUBLE | random / sequence | |
DATE | random | Always resolves to the current date of the local machine. |
TIME | random | Always resolves to the current time of the local machine. |
TIMESTAMP | random | Resolves a past timestamp relative to the current timestamp of the local machine. The max past can be specified by the 'max-past' option. |
TIMESTAMP_LTZ | random | Resolves a past timestamp relative to the current timestamp of the local machine. The max past can be specified by the 'max-past' option. |
INTERVAL YEAR TO MONTH | random | |
INTERVAL DAY TO MONTH | random | |
ROW | random | Generates a row with random subfields. |
ARRAY | random | Generates an array with random entries. |
MAP | random | Generates a map with random entries. |
MULTISET | random | Generates a multiset with random entries. |
属性
参数 | 是否必选 | 默认参数 | 数据类型 | 描述 |
---|---|---|---|---|
connector |
必须 | (none) | String | 指定要使用的连接器,这里是 'datagen'。 |
rows-per-second |
可选 | 10000 | Long | 每秒生成的行数,用以控制数据发出速率。 |
fields.#.kind |
可选 | random | String | 指定 '#' 字段的生成器。可以是 'sequence' 或 'random'。 |
fields.#.min |
可选 | (Minimum value of type) | (Type of field) | 随机生成器的最小值,适用于数字类型。 |
fields.#.max |
可选 | (Maximum value of type) | (Type of field) | 随机生成器的最大值,适用于数字类型。 |
fields.#.length |
可选 | 100 | Integer | 随机生成器生成字符的长度,适用于 char、varchar、string。 |
fields.#.start |
可选 | (none) | (Type of field) | 序列生成器的起始值。 |
fields.#.end |
可选 | (none) | (Type of field) | 序列生成器的结束值。 |
文档反馈
以上内容对您是否有帮助?