文章目录
- 概览
- Spark
-
- mr问题
- Spark特征
- Spark生态系统对比Hadoop生态系统
- 开发语言及运行环境
- Scala&Maven安装
- 配置Spark
- 总结
- Flink分布式计算框架(流处理)
-
- 概述
- 配置环境
- Flink运行
- 检验
- Beam
-
- quickstart-java
概览 Spark、Flink、Beam
Beam编写完适用于Spark、Flink使用
Spark mr问题 mr->spark?
开发不爽 mr两个过程
速度不快 m存硬盘r存hdfs
框架多样性 批处理 流式处理
Spark特征 http://spark.apache.org/
速度快 内存和磁盘 都比mr快
易用 支持多语言 命令行直接运行
通用性 同一个应用程序同时引用库
文章图片
运行 可运行在hdfs之上计算
Spark生态系统对比Hadoop生态系统
文章图片
文章图片
对比
文章图片
对比mr和spark
文章图片
开发语言及运行环境 开发Spark
文章图片
运行模式
代码是一样的提交参数不同 导致运行模式不同
Scala&Maven安装 【#|【快速入门大数据】前沿技术拓展Spark,Flink,Beam】解压文件
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
验证
scalamvn -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 hdfsscalascala> 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 前置环节
treeBeam运行:
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方式运行
文章图片
推荐阅读
- #|新闻主题分类任务——torchtext 库进行文本分类
- #|基于改进的蚂蚁群算法求解最短路径问题、二次分配问题、背包问题【Matlab&Python代码实现】
- #|基于企鹅优化算法的机器人轨迹规划(Matlab代码实现)
- #|无线电信号调制【小波去噪】(Matlab&Python代码实现)
- #|基于粒子群算法的电力系统无功优化研究(IEEE14节点)(Matlab代码实现)
- #|Shiro学习与笔记
- #|「SpringCloud」08 Config分布式配置中心
- #|「SpringCloud」07 Gateway服务网关
- #|「SpringCloud」09 Bus消息总线