云计算作业二Spark:问题解决备忘

安装spark

教程源地址:https://blog.csdn.net/weixin_52564218/article/details/141090528

镜像下载

教程给的官网下载地址很慢,https://archive.apache.org/dist/spark/spark-3.1.1/

这里的镜像快很多:

清华软件源:https://mirrors.tuna.tsinghua.edu.cn/apache/spark/

华为软件源:https://mirrors.huaweicloud.com/apache/spark/

本地模式运行spark代码

打开spark和hadoop

代码:

scala 复制代码
val file = sc.textFile("hdfs://localhost:9000/input/notes.txt") 
val words = file.flatMap(_.split("\\s+")).map(word => (word, 1)).reduceByKey(_ + _) 
words.collect

这里注意如果提示连接不上的话,可能是localhost的映射之前配置删除了,改成ip地址就可以了

如:

复制代码
hdfs dfs -ls hdfs://192.168.186.123:9000/

注意,虚拟机的内存可能不够导致失败,可以设成3gb

安装scala

安装教程:https://blog.csdn.net/pangxiekebaba/article/details/142381396

可能遇到的问题

scala -version出现: 此时不应有 \scala\bin\scala.bat

解决:

scala默认安装到了Program Files (x86)文件夹下。目录中有空格,空格就是导致这个问题的根本原因,把scala安装到其他目录即可

参见:https://www.cnblogs.com/gigi2653/p/10782197.html

11.2.2开发Spark程序

运行hello程序

先在idea上安装scala插件,可以不做"添加框架支持"这一步,chapter11文件直接复制粘贴过来,注意在父项目的pom文件中加入对应的依赖

比如:

XML 复制代码
            <dependency>
                <groupId>org.apache.spark</groupId>
                <artifactId>spark-sql_2.12</artifactId>
                <version>3.1.1</version>
            </dependency>
            <dependency>
                <groupId>org.apache.spark</groupId>
                <artifactId>spark-streaming_2.12</artifactId>
                <version>3.1.1</version>
            </dependency>

注意:运行程序时,linux上的spark要开启

maven打包项目

chapter11的parent依赖可能要加上relativePath标签,指明路径,不然clean不了

XML 复制代码
    <parent>
        <artifactId>hadoop</artifactId>
        <groupId>org.hadoop</groupId>
        <version>1.0</version>
        <relativePath>../../hadoop/pom.xml</relativePath>
    </parent>

运行打包好的jar包

如果使用教程的命令不行:

运行jar包时,路径用引号引起来,并且scala目录使用绝对路径,指明使用哪一个jar包(这里是library),例如:

复制代码
PS D:\workspace\hadoop\chapter11\chapter11\target>  java -cp "chapter11-1.0.jar;D:\program\scala\lib\scala-library.jar" org.hadoop.spark.HelloScala
Hello Scala

spark-submit

注意这里的端口号改成与自己一致的

复制代码
spark-submit --master spark://myserver:7077 --class org.hadoop.spark.WordCount2 
/usr/jar/chapter11-1.0.jar hdfs://myserver:8020/test/ hdfs://myserver:8020/out001 

dataframe

创建scala类:

11.6.3 FileStream

运行jar包时出现问题

首先用/app/spark-3.1.1-bin-hadoop3.2/sbin/start-all.sh,启动spark,再使用submit指令,第二个用hdfs管理文件时,运行jar包之后才用put上传文件,另外因为控制台信息滚动很快,可能看不到输出信息,让人以为没有输出,可以用控制台上方的工具栏的搜索搜索,比如:

复制代码
(is,

看能不能找到

11.6.5 updateStateByKey

记得修改主机名

相关推荐
AI推荐率8 小时前
想让AI在选购问题中推荐品牌,应该找什么类型的服务商?
大数据·人工智能·microsoft
浅思科技集9 小时前
工业生产运营软件如何选择?看端到端可见性、数据贯通与AI落地
大数据·人工智能
QYRdata9 小时前
权威数据披露:2026至2032年边缘云服务CAGR达15.6%,赛道发展驶入快车道
网络·人工智能·云计算·服务发现·边缘计算
浅念-9 小时前
一文吃透Git:本地操作|冲突处理|远程协作|GitFlow工作流详解
大数据·git·elasticsearch·搜索引擎·gitflow
葫三生10 小时前
《论三生原理》神话学构想与“神话历史”理论、《古史中的神话》思路异同?
大数据·人工智能·科技·深度学习·算法
国科安芯10 小时前
星链供电架构中的高集成度电源管理方案研究——基于ASP4644四通道降压稳压器在低轨卫星星座中的应用分析
大数据·单片机·嵌入式硬件·架构·低轨卫星·星间链路
小王毕业啦10 小时前
2011-2024年 各地级市养老服务信息面板数据 xlsx
大数据·人工智能·数据挖掘·数据分析·社科数据·实证分析·经管数据
ailsa_hui11 小时前
对于医疗器械行业,鼎捷的ERP有成熟的行业解决方案和合规性支持吗?
大数据
资讯综合12 小时前
500亿招聘市场悖论:AI技术能否填平行业的信任深坑
大数据·人工智能
百胜软件@百胜软件13 小时前
胜券AI的Skills可插拔技能包,让零售AI从“泛”到“专”
大数据·人工智能·零售