当前位置:首页 > 编程笔记 > 正文
已解决

Flink SQL DataGen Connector 示例

来自网友在路上 170870提问 提问时间:2023-11-08 02:24:40阅读次数: 70

最佳答案 问答题库708位专家为你答疑解惑

Flink SQL DataGen Connector 示例

1、概述

使用 Flink SQL DataGen Connector,可以快速地生成符合规则的测试数据,可以在不依赖真实数据的情况下进行开发和测试。

2、使用示例

创建一个名为 “users” 的表,包含 6 个字段:id、name、age、email、created_at 和 updated_at。

在表的定义中,指定各个字段的规则:

id 字段使用序列生成器,生成的范围从 1 到 1000;

name 字段的长度为 10 个字符;

age 字段的范围从 18 到 60 岁;

email 字段的长度为随机的10个字符;

created_at 和 updated_at 字段使用随机时间生成器,时间范围从 2022 年 1 月 1 日到 2022 年 12 月 31 日。

3、官网参数介绍
1)数据类型注释
TypeSupported GeneratorsNotesBOOLEANrandomCHARrandom / sequenceVARCHARrandom / sequenceSTRINGrandom / sequenceDECIMALrandom / sequenceTINYINTrandom / sequenceSMALLINTrandom / sequenceINTrandom / sequenceBIGINTrandom / sequenceFLOATrandom / sequenceDOUBLErandom / sequenceDATErandomAlways resolves to the current date of the local machine.TIMErandomAlways resolves to the current time of the local machine.TIMESTAMPrandomAlways resolves to the current timestamp of the local machine.TIMESTAMP_LTZrandomAlways resolves to the current timestamp of the local machine.INTERVAL YEAR TO MONTHrandomINTERVAL DAY TO MONTHrandomROWrandomGenerates a row with random subfields.ARRAYrandomGenerates an array with random entries.MAPrandomGenerates a map with random entries.MULTISETrandomGenerates a multiset with random entries.
2)连接器参数:
参数是否必选默认值数据类型描述connector必须(none)String指定要使用的连接器,这里是 ‘datagen’。rows-per-second可选10000Long每秒生成的行数,用以控制数据发出速率。fields.#.kind可选randomString指定 ‘#’ 字段的生成器。可以是 ‘sequence’ 或 ‘random’。fields.#.min可选(Minimum value of type)(Type of field)随机生成器的最小值,适用于数字类型。fields.#.max可选(Maximum value of type)(Type of field)随机生成器的最大值,适用于数字类型。fields.#.length可选100Integer随机生成器生成字符的长度,适用于 char、varchar、string。fields.#.start可选(none)(Type of field)序列生成器的起始值。fields.#.end可选(none)(Type of field)序列生成器的结束值。
4、代码示例
CREATE TABLE users (id BIGINT,name STRING,age INT,text STRING,created_at TIMESTAMP(3),updated_at TIMESTAMP(3)
) WITH ('connector' = 'datagen','fields.id.kind' = 'sequence','fields.id.start' = '1','fields.id.end' = '1000','fields.name.length' = '10','fields.age.min' = '18','fields.age.max' = '60','fields.text.length' = '5'
);

测试结果:

select * from users;

在这里插入图片描述

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"Flink SQL DataGen Connector 示例":http://eshow365.cn/6-34961-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!