spark入门知识和job任务提交流程

简介:

spark是Apache开源社区的一个分布式计算引擎,基于内存计算,所以速度要快于hadoop.

下载

  1. 地址spark.apache.org

安装

  1. 复制一台单独的虚拟机,名c

  2. 修改其ip,192.168.56.200

  3. 修改其hostname为c,hostnamectl set-hostname c

  4. 修改/etc/hosts加入对本机的解析

  5. 重启网络服务 systemctl restart network

  6. 上传spark安装文件到root目录

  7. 解压spark到/usr/local下,将其名字修改为spark

本地运行模式

使用spark-submit提交job

  1. cd /usr/local/spark

  2. ./bin/spark-submit --class org.apache.spark.examples.SparkPi ./examples/jars/spark-examples_2.11-2.1.0.jar 10000

使用spark-shell进行交互式提交

  1. 创建root下的文本文件hello.txt

  2. ./bin/spark-shell

  3. 再次连接一个terminal,用jps观察进程,会看到spark-submit进程

  4. sc

  5. sc.textFile("/root/hello.txt")

  6. val lineRDD = sc.textFile("/root/hello.txt")

  7. lineRDD.foreach(println)

  8. 观察网页端情况

  9. val wordRDD = lineRDD.flatMap(line => line.split(" "))

  10. wordRDD.collect

  11. val wordCountRDD = wordRDD.map(word => (word,1))

  12. wordCountRDD.collect

  13. val resultRDD = wordCountRDD.reduceByKey((x,y)=>x+y)

  14. resultRDD.collect

  15. val orderedRDD = resultRDD.sortByKey(false)

  16. orderedRDD.collect

  17. orderedRDD.saveAsTextFile("/root/result")

  18. 观察结果

  19. 简便写法:sc.textFile("/root/hello.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).sortByKey().collect

使用local模式访问hdfs数据

  1. start-dfs.sh

  2. spark-shell执行:sc.textFile("hdfs://192.168.56.100:9000/hello.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).sortByKey().collect (可以把ip换成master,修改/etc/hosts)

  3. sc.textFile("hdfs://192.168.56.100:9000/hello.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).sortByKey().saveAsTextFile("hdfs://192.168.56.100:9000/output1")

spark standalone模式

  1. 在master和所有slave上解压spark

  2. 修改master上conf/slaves文件,加入slave

  3. 修改conf/spark-env.sh,export SPARK_MASTER_HOST=master

  4. 复制spark-env.sh到每一台slave

  5. cd /usr/local/spark

  6. ./sbin/start-all.sh

  7. 在c上执行:./bin/spark-shell --master spark://192.168.56.100:7077 (也可以使用配置文件)

  8. 观察http://master:8080

spark on yarn模式

本文转自  ChinaUnicom110  51CTO博客,原文链接:http://blog.51cto.com/xingyue2011/1968175
相关文章
|
5月前
|
分布式计算 监控 Spark
Spark 任务运行时日志分析
Spark 任务运行时日志分析
53 0
|
6月前
|
SQL 分布式计算 调度
Spark入门(一篇就够了)(三)
Spark入门(一篇就够了)(三)
132 0
|
7月前
|
SQL 分布式计算 Java
Spark入门指南:从基础概念到实践应用全解析
在这个数据驱动的时代,信息的处理和分析变得越来越重要。而在众多的大数据处理框架中, Apache Spark 以其独特的优势脱颖而出。
67 0
|
8月前
|
存储 分布式计算 网络协议
大数据Spark Streaming入门
大数据Spark Streaming入门
80 1
|
13天前
|
分布式计算 大数据 数据处理
[AIGC大数据基础] Spark 入门
[AIGC大数据基础] Spark 入门
139 0
|
5月前
|
分布式计算 Java 数据库连接
回答粉丝疑问:Spark为什么调优需要降低过多小任务,降低单条记录的资源开销?
回答粉丝疑问:Spark为什么调优需要降低过多小任务,降低单条记录的资源开销?
38 1
|
6月前
|
存储 缓存 分布式计算
Spark入门(一篇就够了)(一)
Spark入门(一篇就够了)(一)
139 0
|
2月前
|
分布式计算 Spark 索引
Spark学习---day07、Spark内核(Shuffle、任务执行)
Spark学习---day07、Spark内核(源码提交流程、任务执行)
|
2月前
|
分布式计算 监控 Java
Spark学习---day06、Spark内核(源码提交流程、任务执行)
Spark学习---day06、Spark内核(源码提交流程、任务执行)
|
6月前
|
分布式计算 Hadoop 大数据
178 Spark入门
178 Spark入门
30 0