FLink学习(三)-DataStream

一、DataStream

1,支持序列化的类型有

  • 基本类型,即 String、Long、Integer、Boolean、Array
  • 复合类型:Tuples、POJOs 和 Scala case classes

Tuples

Flink 自带有 Tuple0 到 Tuple25 类型

Tuple2<String, Integer> person = Tuple2.of("Fred", 35);// zero based index!  
String name = person.f0;
Integer age = person.f1;

POJOs

Flink 可识别为 POJO 的条件如下

  • 该类是公有且独立的(没有非静态内部类)
  • 该类有公有的无参构造函数
  • 类(及父类)中所有的所有不被 static、transient 修饰的属性要么是公有的(且不被 final 修饰),要么是包含公有的 getter 和 setter 方法,这些方法遵循 Java bean 命名规范。

2,flink 执行数据流向

DataStream API 将构建为一个 job graph,并附加到 StreamExecutionEnvironment 。当调用 env.execute() 时此 graph 就被打包并发送到 JobManager 上,后者对作业并行处理并将其子任务分发给 Task Manager 来执行。每个作业的并行子任务将在 task slot 中执行。

3,常见 Source

  • env.fromElements

通过一个一个元素组成,e.g.

DataStream<Person> flintstones = env.fromElements(new Person("Fred", 35),new Person("Wilma", 35),new Person("Pebbles", 2));
  • env.fromCollection

直接使用集合构成 

List<Person> people = new ArrayList<Person>();people.add(new Person("Fred", 35));
people.add(new Person("Wilma", 35));
people.add(new Person("Pebbles", 2));DataStream<Person> flintstones = env.fromCollection(people);
  • env.socketTextStream("localhost", 9999)

通过网络端口获取

  • env.readTextFile("file:///path");

通过具体文件获取

4,基本的 sink

xxxx.print()等等

在生产中,常用的 sink 包括各种数据库和几个 pub-sub 系统。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/792332.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++进阶】带你手撕红黑树(红与黑的爱恨厮杀)

&#x1fa90;&#x1fa90;&#x1fa90;欢迎来到程序员餐厅&#x1f4ab;&#x1f4ab;&#x1f4ab; 主厨&#xff1a;邪王真眼 主厨的主页&#xff1a;Chef‘s blog 所属专栏&#xff1a;c大冒险 总有光环在陨落&#xff0c;总有新星在闪烁 引言&#xff1a; 之前我们…

『大模型笔记』LLMs入门:不涉及太多数学和术语的LLMs基本原理通俗讲解

LLMs入门:不涉及太多数学和术语的LLMs基本原理通俗讲解 文章目录 一. 词向量(Word vectors)二. 词义取决于上下文(Word meaning depends on context)三. 将词向量转化为词语预测(Transforming word vectors into word predictions)四. 请问我能吸引你的注意力吗(Can I have yo…

vivado 串行矢量格式 (SVF) 文件编程

串行矢量格式 (SVF) 文件编程 注释 &#xff1a; 串行矢量格式 (SVF) 编程在 Versal ™ 器件上不受支持。 对 FPGA 和配置存储器器件进行编程的另一种方法是通过使用串行矢量格式 (SVF) 文件来执行编程。通过 Vivado Design Suite 和 Vivado Lab Edition 生成的 SVF …

八数码(bfs做法)非常详细,适合新手服用

题目描述&#xff1a; 在一个 33 的网格中&#xff0c;1∼8这 8 个数字和一个 x 恰好不重不漏地分布在这 33 的网格中。 例如&#xff1a; 1 2 3 x 4 6 7 5 8在游戏过程中&#xff0c;可以把 x 与其上、下、左、右四个方向之一的数字交换&#xff08;如果存在&#xff09;。 我…

JS-11A/11时间继电器 板前接线 JOSEF约瑟

系列型号&#xff1a; JS-11A/11集成电路时间继电器&#xff1b;JS-11A/12集成电路时间继电器&#xff1b; JS-11A/13集成电路时间继电器&#xff1b;JS-11A/136集成电路时间继电器&#xff1b; JS-11A/137集成电路时间继电器&#xff1b;JS-11A/22集成电路时间继电器&#…

Folder Icons for Mac v1.8 激活版文件夹个性化图标修改软件

Folder Icons for Mac是一款Mac OS平台上的文件夹图标修改软件&#xff0c;同时也是一款非常有意思的系统美化软件。这款软件的主要功能是可以将Mac的默认文件夹图标更改为非常漂亮有趣的个性化图标。 软件下载&#xff1a;Folder Icons for Mac v1.8 激活版 以下是这款软件的一…

方格画(C/C++)

理解题意 ZZX学长在正因街买了一个白色的方格画板, 他想把画板固定在墙上绘画. 白色画板不能转动, 画板上有nn的网格, ZZX可以选择任意多行及任意多列的格子涂成黑色(选择的整行, 列均需涂成黑色), 所选行数, 列数均可为0. ZZX希望最终的成品上需要有k个黑色格子, 请告诉ZZX共…

day17-分配问题

题目描述 每个孩子最多只能给一块饼干。对每个孩子 i&#xff0c;都有一个胃口值 children[i]&#xff0c;这是能让孩子们满足胃口的饼干的最小尺寸&#xff1b;并且每块饼干 j&#xff0c;都有一个尺寸 cookies[j] 。如果 cookies[j] > children[i]&#xff0c;我们可以将…

亚马逊自动养号软件新手必读:养号过程中的关键注意事项

亚马逊买家号想要养号效果好&#xff0c;需要重点注意以下4点: 1、前期的准备工作:确保账号登陆的环境是安全的&#xff0c;最好就是用的家庭IP。然后是FBA收货 地址&#xff0c;固定的收货地址有利于账号的安全稳定性&#xff0c;还有一个就是确定安全的成交付款方式&#xf…

opencv-python库 cv2边界填充resize图片

文章目录 边界填充改变图片大小 边界填充 在OpenCV中&#xff0c;边界填充&#xff08;Border Padding&#xff09;是指在图像周围添加额外的像素&#xff0c;以扩展图像的尺寸或满足某些算法&#xff08;如卷积&#xff09;的要求。OpenCV提供了cv2.copyMakeBorder()函数来进…

网络协议栈--数据链路层

目录 对比理解“数据链路层”和“网络层”一、认识以太网1.1 以太网帧格式1.2 认识MAC地址1.3 对比理解MAC地址和IP地址1.4 认识MTU1.5 MTU对IP协议的影响1.6 MTU对UDP协议的影响1.7 MTU对于TCP协议的影响1.8 查看硬件地址和MTU 二、ARP协议2.1 ARP协议的作用2.2 ARP协议的工作…

Springboot传参要求

传参的参数名称必须与Set方法的参数名字相同 &#xff0c;不然会报错。

TS小记--

Ts学习 npm init -y -y所有问题都选yes 创建package.json文件 安装ts&#xff1a; npm i typescript -g -g全局安装&#xff0c;保证每个地方都可以使用 创建ts配置文件&#xff1a;tsconfig.json tsc -init 执行ts文件&#xff1a; tsc ./src/index.ts 导入webpac包&am…

MacBook安装使用XMind

MacBook安装使用XMind XMind简介 官方地址: https://www.xmind.cn/ XMind 是一个全功能的思维导图和头脑风暴软件,为激发灵感和创意而生。作为一款有效提升工作和生活效率的生产力工具,受到全球百千万用户的青睐。 XMind 是一款非常实用的商业思维导图软件&#xff0c;应用…

我认识的Git-史上最强的版本控制系统

大家好&#xff01; 欢迎大家来一起交流Git使用心得&#xff0c;相信很多同事对Git都很熟悉了&#xff0c;如果下面说的有错误的“知识点”&#xff0c;欢迎批评指正。 初识Git 我认识Git已经很多年了&#xff08;我在有道云笔记里面“Git”文件夹的创建时间是&#xff1a; …

树莓派部署yolov5实现目标检测(ubuntu22.04.3)

最近两天搞了一下树莓派部署yolov5&#xff0c;有点难搞&#xff08;这个东西有点老&#xff0c;版本冲突有些包废弃了等等&#xff09; 最后换到ubuntu系统弄了&#xff0c;下面是我的整体步骤&#xff1a; 1.烧完ubuntu镜像后&#xff0c;接显示器按系统流程进行系统部署(大于…

qt通过setProperty设置样式表笔记

在一个pushbutton里面嵌套两个label即可&#xff0c;左侧放置图片label&#xff0c;右侧放置文字label&#xff0c;就如上图所示&#xff1b; 但是这时的hover&#xff0c;press的伪状态是没有办法“传递”给里面的控件的&#xff0c;对btn的伪状态样式表的设置&#xff0c;是不…

STM32 can通信部分函数注释

-----CAN1_Mode_Init CAN模式初始化函数:u8 CAN1_Mode_Init(u8 tsjw,u8 tbs2,u8 tbs1,u16 brp,u8 mode) //CAN初始化 //tsjw:重新同步跳跃时间单元.范围:CAN_SJW_1tq~ CAN_SJW_4tq //tbs2:时间段2的时间单元. 范围:CAN_BS2_1tq~CAN_BS2_8tq; //tbs1:时间段1的时间单元. 范…

Codeforces Round 931 (Div. 2) ---- E. Weird LCM Operations ---- 题解

E. Weird LCM Operations&#xff1a; 题目大意&#xff1a; 思路解析&#xff1a; 这是一道构造题&#xff0c;那么观察这个构造有啥性质&#xff0c;观察到最多操作次数为 n/6 5&#xff0c;然后每次操作需要选择三个数&#xff0c;如果每次操作的三个数都不和之前的重复的…

3月造车新势力销量出炉:问界继续领跑,哪吒下滑,岚图抢眼

进入4月份&#xff0c;各大造车新势力们纷纷公布了3月份最新销量成绩&#xff0c;根据相关数据显示&#xff0c;问界再度超越理想&#xff0c;夺得造车新势力头名的位置。而零跑、蔚来、小鹏的销量也实现不错的增长&#xff0c;岚图汽车的表现同样十分亮眼。不过日前遭到周鸿祎…