大数据处理神器Beam
ApacheBeam是统一批处理(Batch)模式和数据流(Stream)处理模式的标准. 在大数据各种框架中,比如进行批处理的MapReduce,实时流处理的Flink,以及SQL交互的Spark SQL等等,把这些开源框架,工具,类库,平台整合到一起,所需要的工作量以及复杂度,可想而知。这也是大数据开发者比较头疼的问题。而整合这些资源的一个解决方案,就是 Apache Beam。
java快速启动:https://beam.apache.org/get-started/quickstart-java/
将WordCount的Beam程序以多种不同Runner运行:
Get the WordCount Code:
在终端中输入以下命令
mvn archetype:generate \-DarchetypeGroupId=org.apache.beam \-DarchetypeArtifactId=beam-sdks-java-maven-archetypes-examples \-DarchetypeVersion=2.7.0 \-DgroupId=org.example \-DartifactId=word-count-beam \-Dversion="0.1" \-Dpackage=org.apache.beam.examples \-DinteractiveMode=false
将会下载一段时间,自动会创建一个word-count-beam的文件夹,里面包含pom.xml文件
可见创建成功
输入tree查看文件夹树结构
A single Beam pipeline can run on multiple Beam runners, including the ApexRunner, FlinkRunner, SparkRunner or DataflowRunner.
运行WordCount:
1.DirectRunner
mvn compile exec:java -Dexec.mainClass=org.apache.beam.examples.WordCount \
-Dexec.args="--inputFile=/home/zq/Desktop/test.txt --output=counts" -Pdirect-runner
讲真,第一次的时候下载这么多jar包,速度是真的慢.
后面从本地加载,就会快很多.
2.SparkRunner
mvn compile exec:java -Dexec.mainClass=org.apache.beam.examples.WordCount \
-Dexec.args="--runner=SparkRunner --inputFile=/home/zq/Desktop/test.txt
--output=counts" -Pspark-runner
3.FlinkRunner
mvn compile exec:java -Dexec.mainClass=org.apache.beam.examples.WordCount \
-Dexec.args="--runner=FlinkRunner --inputFile=/home/zq/Desktop/test.txt
--output=counts" -Pflink-runner
以Flink为例,其他平台运行方式只是比直接运行多了指定–runner=FlinkRunner和-Pflink-runner
运行时如果你发现spark等的版本不是最新的,可以自己去pom.xml文件中做相应修改,再加载一次就行了
查看结果:
ls counts*
这样,同一份代码(WordCount.java)实现了在不同平台引擎Runner(Flink,Spark等等)上面的运行,并且效果是一样的.类似JVM对于java跨平台性的支持
大数据处理神器Beam相关推荐
- 大数据时代-你需要了解的大数据处理神器-Hadoop
hadoop 1.1 hadoop 介绍 1.2 hadoop 组件介绍 Hadoop的核心生态架构 核心组件 2.1 hadoop 搭建 2.1.1 hadoop 下载 2.1.2 准备环境 2.1 ...
- python大数据免费_安利大家一个Python大数据分析神器
对于Pandas运行速度的提升方法,之前已经介绍过很多回了,里面经常提及Dask,很多朋友没接触过可能不太了解,今天就推荐一下这个神器.StB免费资源网 1.什么是Dask?StB免费资源网 Pand ...
- 面向大数据处理的数据流编程模型和工具综述
点击上方蓝字关注我们 面向大数据处理的数据流编程模型和工具综述 邹骁锋, 阳王东, 容学成, 李肯立, 李克勤 湖南大学信息科学与工程学院,湖南 长沙 410008 论文引用格式: 邹骁锋, 阳王东, ...
- visualize python_安利一个Python大数据分析神器!
对于Pandas运行速度的提升方法,之前已经介绍过很多回了,里面经常提及Dask,很多朋友没接触过可能不太了解,今天就推荐一下这个神器. 1.什么是Dask? Pandas和Numpy大家都不陌生了, ...
- 大数据处理需要用到的编程语言开发语言
你有一个大数据项目,你知道问题领域(problem domain),也知道使用什么基础设施,甚至可能已决定使用哪种框架来处理所有这些数据,但是有一个决定迟迟未能做出:我该选择哪种语言?(或者可能更有针 ...
- Python大数据分析神器---Dask
对于Pandas运行速度的提升方法,之前已经介绍过很多回了,里面经常提及Dask,很多朋友没接触过可能不太了解,今天就推荐一下这个神器. 1.什么是Dask? Pandas和Numpy大家都不陌生了, ...
- 讲python的东哥_安利一个Python大数据分析神器!
对于Pandas运行速度的提升方法,之前已经介绍过很多回了,里面经常提及Dask,很多朋友没接触过可能不太了解,今天就推荐一下这个神器. 1.什么是Dask?Pandas和Numpy大家都不陌生了,代 ...
- 大数据处理也要安全--关于MaxCompute的安全科普
[TOC] 1.企业大数据处理现状 当今社会数据收集手段不断丰富,行业数据大量积累,数据规模已增长到了传统软件行业无法承载的海量数据(百GB.TB乃至PB)级别.基于此,阿里云推出有了一套快速.完全托 ...
- 从Storm到Flink:大数据处理的开源系统及编程模型(文末福利)
本文节选自CCF大数据教材系列丛书之<大数据处理>,本书由华中科技大学金海教授主编,包括大数据处理基础技术.大数据处理编程与典型应用处理.大数据处理系统与优化三个方面.本教材以大数据处理编 ...
最新文章
- 总结:DCIC算法分析赛完整方案分享!
- Mysql 提示:Communication link failure
- proe50安装方法64位_3ds max 2021 安装教程【64位】
- Android开源控件----Android显示GIF图像控件------android-gif-drawable
- P4770:你的名字(SAM、线段树合并)
- markdown文件转word文件
- 《网络攻防实践》 课程教学
- [Yii Framework] Another method to run cron in the share space server.
- 称重管理系统使用说明_车辆智能称重管理系统车牌识别
- java函数式编程的好处
- c语言竞赛信息管理系统,一种基于ACM程序设计竞赛在线评测系统解决方案
- 2021-2027全球及中国数控钻机行业研究及十四五规划分析报告
- 一文搞懂 RabbitMQ 延时队列(订单定时取消为例)
- Python 经典例题
- 广州uc优视java面试_UC优视(UC浏览器)面试经验
- UltraLAB台式图形工作站(海量计算王者~高性能计算工作站 EX620介绍)
- libuv源码分析(1)事件循环分析
- 快速提高计算能力——matlab多项式计算
- asp.net 著名网站
- 减加乘除全选不选dom验证