2.4 如何在FlinkSQL使用DataGen(数据生成器)

1、DataGen SQL 连接器

FLinkSQL中可以使用内置的DataGen SQL 连接器来生成测试数据

官网链接:DataGen SQL 连接器


2、随机数数据生成器

随机数数据生成器支持随机生成 char、varchar、binary、varbinary、string 类型的数据

它是一个无界流的数据生成器

sql 复制代码
-- TODO 随机数数据生成器 创建source表
drop table random_datagen_source_table;
CREATE TABLE random_datagen_source_table (
    user_name string,
    user_id int

) WITH (
    'connector' = 'datagen',
    'rows-per-second'='1',                 -- 指定生成速率:每秒生成的行数(默认值:10000)

    -- TODO 对表中的每个字段,进行配置
    -- 生成随机整数
    'fields.user_id.kind'='random',        -- 指定 数据生成器类型:random 随机数
    'fields.user_id.min'='1',              -- 指定 随机数的最小值 
    'fields.user_id.max'='1000',           -- 指定 随机数的最大值 

    -- 生成随机字符串(字段类型为string时,可以指定string长度)
    'fields.user_name.kind'='random',      -- 指定 数据生成器类型:random 随机数
    'fields.user_name.length'='3'          -- 指定 随机生成字符串的长度
);

-- 流式SQL
select * from random_datagen_source_table;

运行结果:


3、序列生成器

序列数据生成器,可以根据指定的起始值和结束值生成连续的整数数据

当序列数字达到结束值,读取结束,所以它是有界的生成器

sql 复制代码
-- TODO 序列数据生成器 创建source表
drop table sequence_datagen_source_table;
CREATE TABLE sequence_datagen_source_table (
    user_id int
) WITH (
    'connector' = 'datagen',
    'rows-per-second'='1',                 -- 指定生成速率:每秒生成的行数(默认值:10000)

    -- TODO 对表中的每个字段,进行配置
    'fields.user_id.kind'='sequence',        -- 指定 数据生成器类型:sequence 序列
    'fields.user_id.start'='1',              -- 指定 序列的起始值
    'fields.user_id.end'='120'               -- 指定 序列的结束值
);

-- 批式SQL
select * from sequence_datagen_source_table;

运行结果:

相关推荐
人才程序员34 分钟前
【C++拓展】vs2022使用SQlite3
c语言·开发语言·数据库·c++·qt·ui·sqlite
极客先躯43 分钟前
高级java每日一道面试题-2025年01月23日-数据库篇-主键与索引有什么区别 ?
java·数据库·java高级·高级面试题·选择合适的主键·谨慎创建索引·定期评估索引的有效性
指尖下的技术1 小时前
Mysql面试题----MyISAM和InnoDB的区别
数据库·mysql
永远是我的最爱1 小时前
数据库SQLite和SCADA DIAView应用教程
数据库·sqlite
指尖下的技术2 小时前
Mysql面试题----为什么B+树比B树更适合实现数据库索引
数据结构·数据库·b树·mysql
数据馅2 小时前
python自动生成pg数据库表对应的es索引
数据库·python·elasticsearch
峰子20122 小时前
B站评论系统的多级存储架构
开发语言·数据库·分布式·后端·golang·tidb
浏览器爱好者3 小时前
如何使用MongoDB进行数据存储?
数据库·mongodb
yuanpan3 小时前
MongoDB中的横向扩容数据分片
数据库·mongodb
草明4 小时前
Mongodb 慢查询日志分析 - 1
数据库·python·mongodb