Apache Flink

apache beam 初探--java篇

自古美人都是妖i 提交于 2020-04-27 20:09:59
—————————————— 版权声明:本文为博主「henyu」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。 原文链接: https://i.cnblogs.com/EditPosts.aspx?postid=11430012 一 、 概述 在大数据的浪潮之下,技术的更新迭代十分频繁。受技术开源的影响,大数据开发者提供了十分丰富的工具。但也因为如此,增加了开发者选择合适工具的难度。在大数据处理一些问题的时候,往往使用的技术是多样化的。这完全取决于业务需求,比如进行批处理的MapReduce,实时流处理的Flink,以及SQL交互的Spark SQL等等。而把这些开源框架,工具,类库,平台整合到一起,所需要的工作量以及复杂度,可想而知。这也是大数据开发者比较头疼的问题。而今天要分享的就是整合这些资源的一个解决方案,它就是 Apache Beam。 Beam是一个统一的编程框架,支持批处理和流处理,并可以将用Beam编程模型构造出来的程序,在多个计算引擎(Apache Apex, Apache Flink, Apache Spark, Google Cloud Dataflow等)上运行。 本文重点不在于讲解 apache beam 的优缺点及应用前景,着重在于为初识beam ,而不知道怎么入门编写代码的朋友抛转引玉。 二、apache beam

基于Hadoop的58同城离线计算平台设计与实践

大城市里の小女人 提交于 2020-04-26 21:56:26
分享嘉宾:余意 58同城 高级架构师 编辑整理:史士博 内容来源:58大数据系列直播 出品平台:DataFun 注:欢迎转载,转载请在留言区留言。 导读: 58离线计算平台基于 Hadoop 生态体系打造,单集群4000+台服务器,数百 PB 存储,日40万计算任务,面临挑战极大。58 大数据平台的定位主要是服务数据业务开发人员,提高数据开发效率,提供便捷的开发分析流程,有效支持数据仓库及数据应用建设。通常大数据平台通用基础能力包括:数据存储、实时计算、离线计算、数据查询分析,本次分享将聚焦大数据平台离线计算和大家一起系统的探讨58在离线计算平台建设实践的思路、方案和问题解决之道。 本文主要内容包括: 58在集群快速增长的过程中遇到的问题以及解决之道; 58大数据集群跨机房迁移的相关工作,如何在5个月时间快速完成3000台集群服务的迁移工作。 ▌ 数据平台部简介 数据平台部是负责58统一大数据基础平台能力建设。平台负责的工作主要包括以下几部分: 数据接入: 文本的收集,我们采用 flume 接入,然后用 kafka 做消息缓冲,我们基于 kafka client 打造了一个实时分发平台,可以很方便的把 kafka 的中间数据打到后端的各种存储系统上。 离线计算: 我们主要基于 Hadoop 生态的框架做了二次定制开发。包括 HDFS、YARN、MR、SPARK。 实时计算:

基于Hadoop的58同城离线计算平台设计与实践

吃可爱长大的小学妹 提交于 2020-04-26 21:41:51
分享嘉宾:余意 58同城 高级架构师 编辑整理:史士博 内容来源:58大数据系列直播 出品平台:DataFun 注:欢迎转载,转载请在留言区留言。 导读: 58离线计算平台基于 Hadoop 生态体系打造,单集群4000+台服务器,数百 PB 存储,日40万计算任务,面临挑战极大。58 大数据平台的定位主要是服务数据业务开发人员,提高数据开发效率,提供便捷的开发分析流程,有效支持数据仓库及数据应用建设。通常大数据平台通用基础能力包括:数据存储、实时计算、离线计算、数据查询分析,本次分享将聚焦大数据平台离线计算和大家一起系统的探讨58在离线计算平台建设实践的思路、方案和问题解决之道。 本文主要内容包括: 58在集群快速增长的过程中遇到的问题以及解决之道; 58大数据集群跨机房迁移的相关工作,如何在5个月时间快速完成3000台集群服务的迁移工作。 ▌ 数据平台部简介 数据平台部是负责58统一大数据基础平台能力建设。平台负责的工作主要包括以下几部分: 数据接入: 文本的收集,我们采用 flume 接入,然后用 kafka 做消息缓冲,我们基于 kafka client 打造了一个实时分发平台,可以很方便的把 kafka 的中间数据打到后端的各种存储系统上。 离线计算: 我们主要基于 Hadoop 生态的框架做了二次定制开发。包括 HDFS、YARN、MR、SPARK。 实时计算:

HBase读写的几种方式(一)java篇

若如初见. 提交于 2020-04-25 05:24:08
1.HBase读写的方式概况 主要分为: 纯Java API读写HBase的方式; Spark读写HBase的方式; Flink读写HBase的方式; HBase通过Phoenix读写的方式; 第一种方式是HBase自身提供的比较原始的高效操作方式,而第二、第三则分别是Spark、Flink集成HBase的方式,最后一种是第三方插件Phoenix集成的JDBC方式,Phoenix集成的JDBC操作方式也能在Spark、Flink中调用。 注意: 这里我们使用HBase2.1.2版本,以下代码都是基于该版本开发的。 2. 纯Java API读写HBase 2.1 连接HBase 这里我们采用静态方式连接HBase,不同于2.1.2之前的版本,无需创建HBase线程池,HBase2.1.2提供的代码已经封装好,只需创建调用即可: /** * 声明静态配置 */ static Configuration conf = null ; static Connection conn = null ; static { conf = HBaseConfiguration.create(); conf.set( "hbase.zookeeper.quorum", "hadoop01,hadoop02,hadoop03" ); conf.set( "hbase.zookeeper.property

windows下flink示例程序的执行

不羁的心 提交于 2020-04-24 20:18:12
1.什么是flink Apache Flink® - Stateful Computations over Data Streams 2.启动 下载地址 我下载了1.7.2 版本 解压到本地文件目录下 进入bin路径 D:\software\flink-1.7.2\bin 打开cmd 运行start-cluster.bat脚本 此时显示: D:\software\flink-1.7.2\bin>start-cluster.bat Starting a local cluster with one JobManager process and one TaskManager process. You can terminate the processes via CTRL-C in the spawned shell windows. Web interface by default on http://localhost:8081/. 打开浏览器,输入http://localhost:8081/ 启动成功 3.执行示例程序 3.1.从D:\software\flink-1.7.2\examples upload一个Job到flink上,如下图 3.2.选中,提交job 3.3.执行job,查看job的执行 3.4.执行结果查看 其他程序流程一样 来源: oschina 链接:

hadoop记录-[Flink]Flink三种运行模式安装部署以及实现WordCount(转载)

岁酱吖の 提交于 2020-04-24 17:58:11
[Flink]Flink三种运行模式安装部署以及实现WordCount 前言 Flink三种运行方式:Local、Standalone、On Yarn。成功部署后分别用Scala和Java实现wordcount 环境 版本:Flink 1.6.2 集群环境:Hadoop2.6 开发工具: IntelliJ IDEA 一.Local模式 解压:tar -zxvf flink-1.6.2-bin-hadoop26-scala_2.11.tgz cd flink-1.6.2 启动:./bin/start-cluster.sh 停止:./bin/stop-cluster.sh 可以通过master:8081监控集群状态 二.Standalone模式 集群安装 1:修改conf/flink-conf.yaml jobmanager.rpc.address: hadoop100 2:修改conf/slaves hadoop101 hadoop102 3:拷贝到其他节点 scp -rq /usr/local/flink-1.6.2 hadoop101:/usr/local scp -rq /usr/local/flink-1.6.2 hadoop102:/usr/local 4:在hadoop100(master)节点启动 bin/start-cluster.sh 5:访问http:/

Flink on yarn的配置及执行

左心房为你撑大大i 提交于 2020-04-24 15:52:02
####1. 写在前面 Flink被誉为第四代大数据计算引擎组件,即可以用作基于离线分布式计算,也可以应用于实时计算。Flink可以自己搭建集群模式已提供为庞大数据的计算。但在实际应用中。都是计算hdfs上的数据文件,所以更多的建立在基于hadoop集群,而hadoop集群的资源调度组件为yarn,所以Flink on yarn本身就是提供了集群模式,将flink计算的资源调度和管理交给yarn,这里详细介绍flink on yarn的配置(默认hadoop几圈是配置没有问题的) ####2. 配置yarn-site.xml 这里的配置主要是配置执行的资源信息 ####3. 配置flink-conf.ymal 注意:最后两行的配置至关重要,如果不配会导致执行的结果没问题,但当flink提交执行结果报错从而导致整个任务进程都在影响下个任务的执行,其他配置都是配置flink的一些基本资源信息 ####4. 执行flink任务 ./bin/flink run -m yarn-cluster -yn 2 -yjm 1024 -ytm 1024 /wordspace/meijs/yndata-1.0.jar 20180318 15 该命令指定了nodemanager的个数,jobmanager的内存信息和taskmanager的内存信息 当执行任务出现以下信息证明成功

月薪3万+的大数据人都在疯学Flink,为什么?

佐手、 提交于 2020-04-24 14:20:19
身处大数据圈近5年了,在我的概念里一直认为大数据最牛的两个东西是Hadoop和Spark。18年下半年的时候,我突然发现身边很多大数据牛人都是研究学习Flink,甚至连Spark都大有被冷落抛弃的感觉。何以至此,Flink是个什么鬼? Apache Flink(简称Flink)是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态计算。可部署在各种集群环境,对各种大小的数据规模进行快速计算。 大数据生态圈很庞大,优秀的框架和组件就笔者了解的不下20个,为何Flink如此受宠?那么多人而且还是薪资待遇不错的大数据技术人要痴迷于它?笔者总结一下,大概以下几个原因: 1. 从技术角度来说,目前大数据计算引擎中, 能够同时支持流处理和批处理的计算引擎,只有Spark和Flink。其中Spark的技术理念是基于批来模拟流的计算。而Flink则完全相反,它采用的是基于流计算来模拟批计算。从技术发展方向看,用批来模拟流有一定的技术局限性,并且这个局限性可能很难突破。而Flink基于流来模拟批,在技术上有更好的扩展性。 2. 从语言方面来说,虽然Flink和Spark都支持多种语言,但Flink核心语言是Java,而Spark核心语言是Scala。Java语言毫无疑问用户基础更大,无论从技术选型还是团队人员稳定方面考虑,以Java作为核心语言的Flink更受偏爱。 3.

工作3年,月薪20k+的大数据开发人员,突然说我不想只做Hadoop、Spark、Flink层面的技术开发

前提是你 提交于 2020-04-24 11:30:11
“不管国内或全球“新冠”疫情有多严重、还得持续多久,我只想先保住我的工作,如果降薪,我也能在短时间找到待遇更好的下一个东家”。 ——《大数据就业特训营》23期学员李斌 2014年做大数据培训至今,已有5年之多,可以说大数据技术的发展变化速度之快,用“突飞猛进”来说毫不夸张。就单从计算引擎领域的发展来说,2014年之前,想必都还在使用MapReduce来做离线计算,速度虽然慢,但能处理TB级别的数据规模,还是相当兴奋的。2014-2018,Spark以其基于内存计算,速度更快等优势强势入场,大部分大数据人员又一窝蜂的转向Spark及其生态体系的开发。2017至今,随着实时应用场景的需求扩大,Flink以其真正的实时计算终于在沉默中爆发,人们又开始转向Flink及其生态体系的开发。那么,数据人下一步可能转向的领域在哪里?是什么呢?大批往期学员是这样说的 “我不想只做Hadoop、Spark、Flink层面的技术开发,我想深入到数仓体系构建、数据资产管理等核心领域”。我也在想,随着Hadoop、Spark、Flink开发人员越来越多,企业对数据资产管理的重视程度越来越高、企业数据化转型的要求越来越迫切,围绕数据资产管理的大数据开发将注定会成为一个新的方向,这个方向也将会发展更持久、能力要求更高、薪资待遇更好、发展前景更优。 借此机会,结合企业真实应用场景为大家梳理出“5大体系11步流程

《从0到1学习Flink》—— Data Source 介绍

不问归期 提交于 2020-04-24 11:27:13
前言 Data Sources 是什么呢?就字面意思其实就可以知道:数据来源。 Flink 做为一款流式计算框架,它可用来做批处理,即处理静态的数据集、历史的数据集;也可以用来做流处理,即实时的处理些实时数据流,实时的产生数据流结果,只要数据源源不断的过来,Flink 就能够一直计算下去,这个 Data Sources 就是数据的来源地。 Flink 中你可以使用 StreamExecutionEnvironment.addSource(sourceFunction) 来为你的程序添加数据来源。 Flink 已经提供了若干实现好了的 source functions,当然你也可以通过实现 SourceFunction 来自定义非并行的 source 或者实现 ParallelSourceFunction 接口或者扩展 RichParallelSourceFunction 来自定义并行的 source, Flink StreamExecutionEnvironment 中可以使用以下几个已实现的 stream sources, 来源: oschina 链接: https://my.oschina.net/u/4312837/blog/3652141