进入 Spark 安装目录中
cd /export/servers/spark/
运行 Spark 示例任务
bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://node01:7077,node02:7077,node03:7077 --executor-memory 1G --total-executor-cores 2 /export/servers/spark/examples/jars/spark-examples_2.11-2.2.3.jar 100
运行结果
Pi is roughly 3.141550671141551
Spark shell 是 Spark 提供的一个基于 Scala 语言的交互式解释器, 类似于 Scala 提供的交互式解释器, Spark shell 也可以直接在 Shell 中编写代码执行
启动 Spark shell
进入到spark安装目录spark-shell --master master
就可以提交Spark 任务
master配置
地址 | 解释 |
---|---|
local[N] |
使用 N 条 Worker 线程在本地运行 |
spark://host:port |
在 Spark standalone 中运行, 指定 Spark 集群的 Master 地址, 端口默认为 7077 |
mesos://host:port |
在 Apache Mesos 中运行, 指定 Mesos 的地址 |
yarn |
在 Yarn 中运行, Yarn 的地址由环境变量 HADOOP_CONF_DIR 来指定 |
测试
Spark shell 的原理是把每一行 Scala 代码编译成类, 最终交由 Spark 执行
上传文件到hdfs
cd /export/data
hdfs dfs -mkdir /dataset
hdfs dfs -put wordcount.txt /dataset/
在Spark shell中访问hdfs
val sourceRdd = sc.textFile("hdfs://node01:8020/dataset/wordcount.txt")
val flattenCountRdd = sourceRdd.flatMap(_.split(" ")).map((_, 1))
val aggCountRdd = flattenCountRdd.reduceByKey(_ + _)
val result = aggCountRdd.collect
原文:https://www.cnblogs.com/xp-thebest/p/14269753.html