当前位置: 首页 > news >正文

Flink SQL DataGen Connector 示例

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 GeneratorsNotes
BOOLEANrandom
CHARrandom / sequence
VARCHARrandom / sequence
STRINGrandom / sequence
DECIMALrandom / sequence
TINYINTrandom / sequence
SMALLINTrandom / sequence
INTrandom / sequence
BIGINTrandom / sequence
FLOATrandom / sequence
DOUBLErandom / sequence
DATErandomAlways 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 MONTHrandom
INTERVAL DAY TO MONTHrandom
ROWrandomGenerates 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;

在这里插入图片描述

相关文章:

  • Git使用规范指南
  • 在 ASP.NET C# 中用Aspose.PDF将 PDF 页面转换为 JPG 图像
  • 浅谈电力物联网时代物联网技术在电力系统中的应用
  • 8年资深测试总结,接口自动化框架的设计与实现,一文打通...
  • Go:如何在GoLand中引用github.com中的第三方包
  • 关于Alibaba Cloud Toolkit 下载配置以及后端自动部署
  • RT-DETR 应用 BiFPN 结构 | 加权双向特征金字塔网络
  • 【pytorch源码分析--torch执行流程与编译原理】
  • java高级之单元测试、反射
  • 常见面试题-TCP三次握手四次挥手
  • MySQL 是怎样运行的:单表访问方法及基于成本的优化
  • Windows 同步时间服务器批处理
  • 软件测试常见面试题1000问涵盖一千+公司面试软件测试面试题(全网最全)
  • 安全防御——二、ENSP防火墙实验学习
  • Ecal基于wifi下跨机通讯
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • 3.7、@ResponseBody 和 @RestController
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • bearychat的java client
  • CentOS7简单部署NFS
  • flutter的key在widget list的作用以及必要性
  • interface和setter,getter
  • js写一个简单的选项卡
  • leetcode388. Longest Absolute File Path
  • mysql中InnoDB引擎中页的概念
  • python学习笔记-类对象的信息
  • Spring Boot MyBatis配置多种数据库
  • spring boot 整合mybatis 无法输出sql的问题
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 测试开发系类之接口自动化测试
  • 发布国内首个无服务器容器服务,运维效率从未如此高效
  • 前端性能优化--懒加载和预加载
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 与 ConTeXt MkIV 官方文档的接驳
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • ​油烟净化器电源安全,保障健康餐饮生活
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (Note)C++中的继承方式
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (小白学Java)Java简介和基本配置
  • (转) RFS+AutoItLibrary测试web对话框
  • (转)使用VMware vSphere标准交换机设置网络连接
  • .NET Core实战项目之CMS 第十二章 开发篇-Dapper封装CURD及仓储代码生成器实现
  • .net FrameWork简介,数组,枚举
  • .net mvc actionresult 返回字符串_.NET架构师知识普及
  • .NET 分布式技术比较
  • .NET 线程 Thread 进程 Process、线程池 pool、Invoke、begininvoke、异步回调
  • .net6 webapi log4net完整配置使用流程
  • .NET国产化改造探索(三)、银河麒麟安装.NET 8环境
  • .net经典笔试题
  • .NET微信公众号开发-2.0创建自定义菜单
  • ??eclipse的安装配置问题!??
  • [ 第一章] JavaScript 简史
  • [20171106]配置客户端连接注意.txt