flink实战教程-集群的部署

flink实战教程-集群的部署,第1张

这种模式我们一般是在用IDE调试程序的时候用到,当我们在本地用IDE开发程序的时候,执行main方法,flink会在本地启动一个包含jobmanager和taskmanager的进程的minicluster,程序运行完成之后,这个cluster进程退出。

这种模式就是直接在物理机上启动flink集群。我们可以通过 {FLINK_HOME}/conf/flink-confyaml
此外,我们可以用 ${FLINK_HOME}/bin/taskmanagersh start 再启动一个taskmanager。

这时我们通过jps命令查看一下启动的进程

我们看到这时候启动了两个taskmanager

这种部署模式对flink集群的资源管理是flink自己维护的,在生产环境下用的不多,所以我们也不做过多描述

启动集群的命令如下:

这个命令有很多的参数,可以在后面加 -h 看下,我这里着重介绍一下 -d参数。
加上-d之后,指的是隔离模式,也就是启动之后和客户端就断了联系,如果要停止集群,需要通过yarn application -kill {applicationId} 来停止集群

提交成功之后,我们会在yarn的管理页面看到一个类似的任务

这个启动命令也有很多的参数,我就不一一讲解了,我用大白话讲讲我认为最核心的几个参数。

第二,通过命令行来停止:

这个时候需要指定yarn applicationId和flink job id
第三,通过程序来停止

>5G大数据专业。5G时代已经来临,信息传播的速度更快,在这样的时代环境下,传播行业无疑是最好的发展行业,也最适合女生,因为相比于其他计算机专业,新媒体技术专业比较创意和策划,对于女生来说,这些都是强项。关于就业,毕业生可从事新闻出版行业书刊、杂志、报纸的数字化出版与传播工作或者是从事新媒体、网络与电子商务企业信息的采集、组织与印制工作等,这些工作岗位也是非常适合女生的。

fromCollection:从本地集合读取数据

例:

readTextFile:从文件中读取:

readTextFile可以对一个文件目录内的所有文件,包括所有子目录中的所有文件的遍历访问方式:

对于以下压缩类型,不需要指定任何额外的inputformat方法,flink可以自动识别并且解压。但是,压缩文件可能不会并行读取,可能是顺序读取的,这样可能会影响作业的可伸缩性。

因为Transform算子基于Source算子 *** 作,所以首先构建Flink执行环境及Source算子,后续Transform算子 *** 作基于此:

将DataSet中的每一个元素转换为另外一个元素:

将DataSet中的每一个元素转换为0n个元素:

将一个分区中的元素转换为另一个元素:

过滤出来一些符合条件的元素,返回 boolean值为true 的元素:

可以对一个dataset或者一个group来进行聚合计算,最终 聚合成一个元素:

将一个dataset或者一个group 聚合成一个或多个元素
reduceGroup是reduce的一种优化方案;
它会先分组reduce,然后在做整体的reduce;这样做的好处就是可以减少网络IO:

选择具有最小值或最大值的 元素:

在数据集上进行聚合求 最值 (最大值、最小值):

Aggregate只能作用于元组上

去除重复的数据:

取前N个数:

将两个DataSet按照一定条件连接到一起,形成新的DataSet:

左外连接,左边的Dataset中的每一个元素,去连接右边的元素

此外还有:

rightOuterJoin:右外连接,左边的Dataset中的每一个元素,去连接左边的元素

fullOuterJoin:全外连接,左右两边的元素,全部连接

下面以 leftOuterJoin 进行示例:

交叉 *** 作,通过形成这个数据集和其他数据集的笛卡尔积,创建一个新的数据集

和join类似,但是这种交叉 *** 作会产生笛卡尔积,在 数据比较大的时候,是非常消耗内存的 *** 作:

联合 *** 作,创建包含来自该数据集和其他数据集的元素的新数据集, 不会去重:

Flink也有数据倾斜的时候,比如当前有数据量大概10亿条数据需要处理,在处理过程中可能会发生如图所示的状况:

这个时候本来总体数据量只需要10分钟解决的问题,出现了数据倾斜,机器1上的任务需要4个小时才能完成,那么其他3台机器执行完毕也要等待机器1执行完毕后才算整体将任务完成;所以在实际的工作中,出现这种情况比较好的解决方案就是接下来要介绍的— rebalance (内部使用round robin方法将数据均匀打散。这对于数据倾斜时是很好的选择。)

按照指定的key进行hash分区:

根据指定的key对数据集进行范围分区:

根据指定的字段值进行分区的排序:

将数据输出到本地集合:

将数据输出到文件

Flink支持多种存储设备上的文件,包括本地文件,hdfs文件等

Flink支持多种文件的存储格式,包括text文件,CSV文件等

您好,大数据学习一般分为6个阶段
第一阶段
JavaSE基础核心
第二阶段
数据库关键技术
第三阶段
大数据基础核心
第四阶段
Spark生态体系框架&大数据精选项目
第五阶段
Spark生态体系框架&企业无缝对接项目
第六阶段
Flink流式数据处理框架
大数据是最近几年新兴的专业,发展的前景是非常好的,选择大数据是没有错的!

《大数据实训课程资料》百度网盘资源免费下载

zxcv

大数据实训课程资料|云计算与虚拟化课程资源|课程实验指导书综合版|机器学习与算法分析课程资源|Spark课程资源|Python课程资源|Hadoop技术课程资源|云计算课程资料zip|微课zip|算法建模与程序示例zip|spark课程资源zip|hadoop课程资源zip|实验指导书|教学视频|教学PPT  


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/13229954.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-23
下一篇 2023-06-23

发表评论

登录后才能评论

评论列表(0条)

保存