专栏首页用户3288143的专栏【快速入门大数据】前沿技术拓展Spark,Flink,Beam

【快速入门大数据】前沿技术拓展Spark,Flink,Beam

文章目录

概览

Spark、Flink、Beam Beam编写完适用于Spark、Flink使用

Spark

mr问题

mr->spark?

开发不爽 mr两个过程 速度不快 m存硬盘r存hdfs 框架多样性 批处理 流式处理

Spark特征

http://spark.apache.org/

速度快 内存和磁盘 都比mr快 易用 支持多语言 命令行直接运行 通用性 同一个应用程序同时引用库

运行 可运行在hdfs之上计算

Spark生态系统对比Hadoop生态系统

Tachyon 正式更名为 Alluxio,新的版本新增支持任意存储系统如阿里云对象存储 OSS、Amazon S3……

MPI是一个跨语言的通讯协议,,用于编写并行计算机。MPI的目标是高性能,大规模性,和可移植性。

生态对比hadoop、spark

对比hadoop、spark

对比mr和spark

开发语言及运行环境

开发Spark

运行模式 代码是一样的提交参数不同 导致运行模式不同

Scala&Maven安装

解压文件

tar -zxf apache-maven-3.6.1-bin.tar.gz -C ./

环境变量配置

export SCALA_HOME=/root/software/scala-2.10.6
export PATH=$SCALA_HOME/bin:$PATH
export MAVEN_HOME=/root/software/apache-maven-3.6.1
export PATH=$MAVEN_HOME/bin:$PATH

//刷新配置
source /etc/profile

验证

scala

mvn -version

配置Spark

手动编译适合cdh的压缩包(注意1.7的jdk可能会过时了) spark-2.4.3-bin-2.6.0-cdh5.15.1.tgz

进入bin目录启动模式(本地测试local好) /root/software/spark-2.4.3-bin-2.6.0-cdh5.15.1/bin

master URL []两个线程

//启动spark两个线程
./spark-shell --master local[2]

快速指南 简单helloworld

注意本地读取

[root@hadoop01 data]# cat hello.txt
hello world
hello hadoop
hello hdfs

scala

scala> val textFile = spark.read.textFile("/root/data/hello.txt")

scala> textFile.collect
res1: Array[String] = Array(hello world, hello hadoop, hello hdfs, "")

scala> textFile.count
res2: Long = 4

检验 http://hadoop01:4040/jobs/

总结

spark启动:spark-shell --master local[2]

spark实现wc:
val file = sc.textFile("file:///home/hadoop/data/hello.txt")
val a = file.flatMap(line => line.split(" "))
val b = a.map(word => (word,1))
Array((hadoop,1), (welcome,1), (hadoop,1), (hdfs,1), (mapreduce,1), (hadoop,1), (hdfs,1))

val c = b.reduceByKey(_ + _)
	Array((mapreduce,1), (welcome,1), (hadoop,3), (hdfs,2))


sc.textFile("file:///home/hadoop/data/hello.txt").flatMap(line => line.split(" ")).map(word => (word,1)).reduceByKey(_ + _).collect

Flink分布式计算框架(流处理)

概述

配合使用的框架,流入流出

注意hadoop版本和scala版本,新版flink并未细分下载选项

配置环境

flink解压

tar -zxf flink-1.12.1-bin-scala_2.11.tgz -C ./

wordcount

Flink运行

./bin/flink run ./examples/batch/WordCount.jar \
--input file:///root/data/hello.txt --output file:///root/data/tmp/flink_wc_output

检验

[root@hadoop01 tmp]# cat flink_wc_output
hadoop 1
hdfs 1
hello 3
world 1

Beam

java\python编写应用于批处理、流处理

https://beam.apache.org/

quickstart-java

jdk1.7之后 和 maven 前置环节

tree

Beam运行:
mvn archetype:generate \
      -DarchetypeGroupId=org.apache.beam \
      -DarchetypeArtifactId=beam-sdks-java-maven-archetypes-examples \
      -DarchetypeVersion=2.27.0 \
      -DgroupId=org.example \
      -DartifactId=word-count-beam \
      -Dversion="0.1" \
      -Dpackage=org.apache.beam.examples \
      -DinteractiveMode=false

#direct方式运行
mvn compile exec:java -Dexec.mainClass=org.apache.beam.examples.WordCount \
-Dexec.args="--inputFile=/home/hadoop/data/hello.txt --output=counts" \
-Pdirect-runner

#spark方式运行
mvn compile exec:java -Dexec.mainClass=org.apache.beam.examples.WordCount \
-Dexec.args="--runner=SparkRunner --inputFile=/home/hadoop/data/hello.txt --output=counts" -Pspark-runner


#flink方式运行
本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!
本文分享自作者个人站点/博客:https://blog.csdn.net/weixin_43469680复制
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • 迟到的端午节福利之大数据入门

    本章将从几则故事说起,让大家明白大数据是与我们的生活息息相关的,并不是遥不可及的,还会介绍大数据的特性,以及大数据对我们带来的技术变革,大数据处理过程中涉及到的...

    木可大大
  • 史上最快! 10小时大数据入门实战(九)- 前沿技术拓展Spark,Flink,BeamsparkSpark 开发语言及运行模式介绍Scala安装Spark环境搭建及 wordCount 案例实现

    JavaEdge
  • 大数据框架—Flink与Beam

    Flink是Apache的一个顶级项目,Apache Flink 是一个开源的分布式流处理和批处理系统。Flink 的核心是在数据流上提供数据分发、通信、具备容...

    端碗吹水
  • Spark笔记1-入门Hadoop

    spark(2009年)是一个单纯的计算框架,比MapReduce更佳,取而代之,本身不具备存储能力。火的原因:社区好、企业支持早

    皮大大
  • 听程序员界郭德纲怎么“摆”大数据处理

    大规模数据处理技术如果从MapReduce论文算起,已经前后跨越了十六年。我们先沿着时间线看一下大规模数据处理的重要技术和它们产生的年代。后面从MapR...

    凯哥
  • Apache Beam 初探

    Beam可以解决什么问题?当MapReduce作业从Hadoop迁移到Spark或Flink,就需要大量的重构。Dataflow试图成为代码和执行运行时环境之间...

    Fred Liang
  • Apache Beam实战指南 | 玩转KafkaIO与Flink

    AI前线导读:本文是 **Apache Beam实战指南系列文章** 的第二篇内容,将重点介绍 Apache Beam与Flink的关系,对Beam框架中的Ka...

    星哥玩云
  • 离线和实时大数据开发实战

    这本书是公司一位负责数据库的同事推荐的,正好数据中心也在重构和优化,以应对更加海量的数据,所以便花了点时间读完了这本书。全书分了三个篇章:全局概览,从比较高的高...

    张子阳
  • Apache Zeppelin 0.7.2 中文文档

    ApacheCN(Apache中文网)- 关于我们 : http://www.apache.wiki/pages/viewpage.action?pageId...

    片刻
  • InfoWorld Bossie Awards公布

    AI 前线导读: 一年一度由世界知名科技媒体 InfoWorld 评选的 Bossie Awards 于 9 月 26 日公布,本次 Bossie Awards...

    曲水流觞
  • 谷歌开源的大数据处理项目 Apache Beam

    Apache Beam 是什么? Beam 是一个分布式数据处理框架,谷歌在今年初贡献出来的,是谷歌在大数据处理开源领域的又一个巨大贡献。 数据处理框架已经很多...

    dys
  • 学大数据需要学哪些内容?大数据主流技术栈简介

    被广泛关注的大数据,这几年在国内的发展,可以说是进入了比较平稳的一个时期,基本上企业对于技术开发人员的要求,都开始与大数据接轨。那么学大数据需要学哪些内容,今天...

    成都加米谷大数据
  • Apache Beam 架构原理及应用实践

    导读:大家好,很荣幸跟大家分享 Apache Beam 架构原理及应用实践。讲这门课之前大家可以想想,从进入 IT 行业以来,不停的搬运数据,不管职务为前端,还...

    Spark学习技巧
  • 30岁,5月无情被辞:想给搞数据的提个醒!!

    在知乎看见了一个数据分析师的真实经历,忍不住唏嘘。 图片截自知乎 原文太长,简单概括一下:楼主是香港城市大学的硕士,在银行工作四年后想跳槽,但因为能力不符合...

    张俊红
  • Apache下流处理项目巡览

    我们的产品需要对来自不同数据源的大数据进行采集,从数据源的多样化以及处理数据的低延迟与可伸缩角度考虑,需要选择适合项目的大数据流处理平台。 我最初列出的候选平台...

    张逸
  • 大数据凉了?No,流式计算浪潮才刚刚开始!

    AI 前线导读:本文重点讨论了大数据系统发展的历史轨迹,行文轻松活泼,内容通俗易懂,是一篇茶余饭后用来作为大数据谈资的不严肃说明文。本文翻译自《Streami...

    Fayson
  • 我,29岁,数据分析师,3月无情被辞:想给数据人提个醒!

    “程序员能纯靠技术渡过中年危机吗?” ▲截图来源于知乎 这个问题吸引了许多码农分享经验,热赞均表示“很难”,因为绝大部分人都面临着2种结局: 没精力学习,技术...

    java思维导图

扫码关注腾讯云开发者

领取腾讯云代金券