spark入门-helloword

我们学习编程语言的时候,第一个程序就是打印一下 "hello world" ,对于大数据领域的第一个任务则是wordcount。那我们就开始我们的第一个spark任务吧!

下载spark

官方下载地址:Apache Download Mirrors 下载完毕以后,直接tar解压即可。

本地启动spark集群

环境只是为了让我们能够运行我们的程序,所以我们的任务是写任务而不是搭建环境。搭建环境的部分,可能运维比我们更专业。

安装官网我们启动一个standalon模式 ,Spark Standalone Mode - Spark 4.0.0 Documentation

启动完以后master我们就可以在8080端口上看到我们的spark集群了。

接着启动一个worker,启动的时候需要master的地址。我们本地启动的,所以localhost就可以了。./sbin/start-worker.sh spark://bogon:7077 ,master的url可以从master 8080的界面看到,这个记得一定要写正确,要不启动worker的时候就有问题了。否则这个worker节点不现实worker个数的。

构建我们的jar程序

我们直接参考官网的代码(注意:这是学习的方式方法,看到别人博客直接写的入门代码。其实官方是第一手资料)Spark Streaming - Spark 4.0.0 Documentation

代码

Scala 复制代码
  def main(args: Array[String]): Unit = {

    println("======== start ==========")
    val conf = new SparkConf().setAppName("test")
    val ssc = new StreamingContext(conf, Seconds(1))

    val source = ssc.socketTextStream("localhost", 9999)
    val words = source.flatMap(_.split(","))
    val paris = words.map(word => (word, 1))
    val wordCounts = paris.reduceByKey(_ + _)
    wordCounts.print()

    ssc.start()
    ssc.awaitTermination()
  }

编译打包jar,然后提交submit

bash 复制代码
./bin/spark-submit \
  --class demo.WordCount \
  --executor-memory 512M  \
  --total-executor-cores 2 \
  --master spark://localhost:7077 \
  --deploy-mode client \
    --verbose \
   /path/spark-task-1.0-SNAPSHOT.jar  

Submitting Applications - Spark 4.0.0 Documentation

查看日志打印

总结

小结一下,其实看似很简单的一个demo。过程也是遇到了很多的问题,1、是启动 worker的时候需要制定master的url地址,这个需要从8080端口查看。2、发现自己的代码无法提交到集群中,结果发现是代码里面setMaster了,所以去掉。3、打包的时候提示找不到class,因为是maven构建的java程序。自己添加的scala包,所以需要打包的时候指定一下scala路径,把下面的class打包进去。

多实践才能发现问题,有时候只是知道了理论,看似懂了,其实离懂了还是差了一些。

相关推荐
二哈喇子!5 小时前
基于SpringBoot框架的网上购书系统的设计与实现
java·大数据·spring boot
云器科技6 小时前
大数据平台降本增效实践:四大典型场景的成本优化之路
大数据
B站计算机毕业设计超人6 小时前
计算机毕业设计Python知识图谱中华古诗词可视化 古诗词情感分析 古诗词智能问答系统 AI大模型自动写诗 大数据毕业设计(源码+LW文档+PPT+讲解)
大数据·人工智能·hadoop·python·机器学习·知识图谱·课程设计
天天进步20156 小时前
多线程与分布式:使用 Botasaurus 轻松构建大规模数据采集集群
分布式·爬虫
德昂信息dataondemand9 小时前
销售分析中的痛点与解决之道
大数据·数据分析
jkyy20149 小时前
健康监测驾驶系统赋能:解锁新能源汽车健康出行新场景
大数据·人工智能·物联网·健康医疗
归去来?9 小时前
记录一次从https接口提取25G大文件csv并落表的经历
大数据·数据仓库·hive·python·网络协议·5g·https
川西胖墩墩10 小时前
复杂任务的分布式智能解决方案
人工智能·分布式
龙山云仓10 小时前
No131:AI中国故事-对话荀子——性恶论与AI约束:礼法并用、化性起伪与算法治理
大数据·人工智能·深度学习·算法·机器学习
2501_9336707911 小时前
2026年中专大数据技术专业可考证书清单
大数据