初识大数据(七)-----用Scala进行spark开发

1、开发第一个Spark程序
1)创建一个Spark Context
2)加载数据
3)把每一行分割成单词
4)转换成pairs并且计数

2、wordCount程序

import org.apache.spark.{SparkConf, SparkContext}

/**
  * @author
  * @date 2020-05-11 20:19
  * @version 1.0
  */
def main(args: Array[String]) {

  val conf = new SparkConf().setAppName("wordcount")
  val sc= new SparkContext(conf)

  val input=sc.textFile("/Users/navyliu/Downloads/spark/helloSpark.txt")

  val lines = input.flatMap(line=>line.split(" "))
  val count = lines.map(word=>(word,1)).reduceByKey{case (x,y)=>x+y}
  val output = count.saveAsTextFile("/Users/navyliu/Downloads/spark/helloSparkRes")

}

3、打包
配置jar包
build
在这里插入图片描述
然后build
在这里插入图片描述
4、启动集群
1)启动master

./sbin/start-master.sh

在这里插入图片描述
master启动之后,可以访问下面地址:
http://localhost:8080/
在这里插入图片描述
2)启动worker

./bin/spark-class

启动work要用到这个地址:

spark://navydeMacBook-Pro.local:7077

启动work的命令为:

./bin/spark-class org.apache.spark.deploy.worker.Worker spark://navydeMacBook-Pro.local:7077

在这里插入图片描述
查看进程
在这里插入图片描述
也可以在页面中看到worker进程
在这里插入图片描述
3)提交作业

./bin/spark-submit

提交命令

./bin/spark-submit --master spark://navydeMacBook-Pro.local:7077 --class CountWord untitled.jar

把生成的jar包拷到当前目录
在这里插入图片描述
提交作业的命令为:

./spark-2.4.5-bin-hadoop2.7/bin/spark-submit --master spark://navydeMacBook-Pro.local:7077 --class CountWord untitled.jar

结果为:
在这里插入图片描述
可以看到生成了文件目录helloSparkRes
在这里插入图片描述
在这里插入图片描述
jobs任务截图:
在这里插入图片描述

5、遇到的问题
如果报这种错误:
dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin
Referenced from: /private/var/folders/91/6g1y3wp163jbr7tgdrqgkjg80000gn/T/liblz4-java-8731604412047028366.dylib
Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: ____chkstk_darwin
Referenced from: /private/var/folders/91/6g1y3wp163jbr7tgdrqgkjg80000gn/T/liblz4-java-8731604412047028366.dylib
Expected in: /usr/lib/libSystem.B.dylib

原因是mac版本与spark版本冲突,重新下载spark,版本是2.4.5(spark-2.4.5-bin-hadoop2.7),对应的scala是scala-2.12.11.
重新运行即可.

如果遇到什么问题,请添加微信公众号:架构师Plus,咨询
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值