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;

运行结果:

相关推荐
倔强的石头10614 分钟前
飞算JavaAI:重构软件开发范式的智能引擎
java·数据库·重构
Q_9709563930 分钟前
java+vue+SpringBoo足球社区管理系统(程序+数据库+报告+部署教程+答辩指导)
java·开发语言·数据库
行星0081 小时前
PostgreSQL大表创建分区实战
数据库·postgresql
isNotNullX1 小时前
什么是数据分析?常见方法全解析
大数据·数据库·数据仓库·人工智能·数据分析
唐可盐1 小时前
第六章 SQL编程系列-Gbase8a从入门到进阶
数据库·sql·gbase8a
旷世奇才李先生2 小时前
SQLite 安装使用教程
数据库·sqlite
码小跳2 小时前
软件无法连接MySql数据库
数据库·mysql
晋阳十二夜8 小时前
【压力测试之_Jmeter链接Oracle数据库链接】
数据库·oracle·压力测试
EasyCVR9 小时前
SQLite不够用?视频汇聚系统EasyCVR切换MySQL数据库的关键参数怎么调?
数据库·mysql·sqlite
GDAL9 小时前
Node.js v22.5+ 官方 SQLite 模块全解析:从入门到实战
数据库·sqlite·node.js