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

news2024/11/23 8:17:13

安装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
代码:

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文件中加入对应的依赖
比如:

            <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不了

    <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类:
创建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

记得修改主机名

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2230347.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言 | Leetcode C语言题解之第524题通过删除字母匹配到字典里最长单词

题目&#xff1a; 题解&#xff1a; char * findLongestWord(char * s, char ** d, int dSize){char *result "";int max -1;for (int i 0; i < dSize; i) {char *p s, *q d[i];int j 0, k 0;while (p[j] ! \0 && q[k] ! \0) {if (p[j] q[k]) {k…

【含文档】基于ssm+jsp的学科竞赛系统(含源码+数据库+lw)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: apache tomcat 主要技术: Java,Spring,SpringMvc,mybatis,mysql,vue 2.视频演示地址 3.功能 系统定义了四个…

【5.5】指针算法-三指针解决颜色分类

一、题目 给定一个包含红色、白色和蓝色&#xff0c;一共n个元素的数组&#xff0c;原地对它们进行排序&#xff0c;使得相同颜色的元素相邻&#xff0c;并按照红色、白色、蓝色顺序排列。 此题中&#xff0c;我们使用整数0、1和2分别表示红色、白色和蓝色。 示例 1&#xff1…

双向链表及如何使用GLib的GList实现双向链表

双向链表是一种比单向链表更为灵活的数据结构&#xff0c;与单向链表相比可以有更多的应用场景&#xff0c;本文讨论双向链表的基本概念及实现方法&#xff0c;并着重介绍使用GLib的GList实现单向链表的方法及步骤&#xff0c;本文给出了多个实际范例源代码&#xff0c;旨在帮助…

web——warmup——攻防世界

这道题还是没有做出来。。&#xff0c;来总结一下 1.ctrlU显示源码 2.看见body里有source.php 打开这个source.php 看见了源码 highlight_file(FILE); 这行代码用于高亮显示当前文件的源码&#xff0c;适合调试和学习&#xff0c;但在生产环境中通常不需要。 class emmm 定义…

【MATLAB代码】三个CT模型的IMM例程,各CT旋转速率不同,适用于定位、导航、目标跟踪

三个CT模型&#xff0c;各CT模型下的运动旋转速率不同&#xff0c;适用于定位、导航、目标跟踪 文章目录 代码构成运行结果源代码代码讲解概述代码结构1. 初始化2. 仿真参数设置3. 生成量测数据4. IMM迭代5. 绘图 主要功能函数部分1. 卡尔曼滤波函数2. 模型综合函数3. 模型概率…

sklearn 实现随机森林分类器 - python 实现

python sklearn 实现随机森林分类器 from sklearn.ensemble import RandomForestClassifier from sklearn.datasets import load_iris # 加载数据集 irisload_iris() x,yiris.data,iris.target print("x y shape:",x.shape,y.shape) # 创建并训练模型 model Random…

GetX的一些高级API

目录 前言 一、一些常用的API 二、局部状态组件 1.可选的全局设置和手动配置 2.局部状态组件 1.ValueBuilder 1.特点 2.基本用法 2.ObxValue 1.特点 2.基本用法 前言 这篇文章主要讲解GetX的一些高级API和一些有用的小组件。 一、一些常用的API GetX提供了一些高级…

WPF+MVVM案例实战(十一)- 环形进度条实现

文章目录 1、运行效果2、功能实现1、文件创建与代码实现2、角度转换器实现3、命名空间引用3、源代码下载1、运行效果 2、功能实现 1、文件创建与代码实现 打开 Wpf_Examples 项目,在Views 文件夹下创建 CircularProgressBar.xaml 窗体文件。 CircularProgressBar.xaml 代码实…

SYN590RH

一般描述 SYN590RH是SYNOXO全新开发设计的一款宽电压范围&#xff0c;低功耗&#xff0c;高性能&#xff0c;无需外置AGC电容&#xff0c;灵敏度达到典型-110 dBm,400MHz~450MHz频率范围应用的单芯片ASK或00 K射频接收器。 SYN590RH是一款典型的即插即用型单片高…

kafka里的consumer 是推还是拉?

大家好&#xff0c;我是锋哥。今天分享关于【kafka里的consumer 是推还是拉&#xff1f;】面试题&#xff1f;希望对大家有帮助&#xff1b; kafka里的consumer 是推还是拉&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在Kafka中&#xff0c;消费者&…

C语言的数组地址 数组的遍历与练习

1.int main(void) { int a[5] { 10,20,30,40,50 };//数组间的元素地址相连的 int* p; printf("%d\n", &a[0]); printf("%d\n", &a[1]); printf("%d\n", &a[2]); printf("%d\n", &a[3]); …

基于springboot + vue的网上订餐系统的设计与实现(附源码)

一、项目背景 随着互联网技术的飞速发展和智能手机的普及&#xff0c;人们的生活方式发生了翻天覆地的变化&#xff0c;其中之一便是网上订餐系统的兴起。这种系统通过在线平台连接消费者和餐饮服务提供商&#xff0c;使得用户可以随时随地浏览菜单、下单并支付&#xff0c;极…

Redis安装及运维

源码安装 Redis安装前建议要进行残留数据检查&#xff0c;排除后期存在的各种隐患 官网&#xff1a;https://redis.io/&#xff0c;Linux版本只会提供源码&#xff0c;不提供二进制安装包&#xff0c;因此需要编译源码进行安装&#xff0c;本次使用CentOS8 VMware虚拟机进行安…

windows10 安装 达梦数据库DM8

一. 前期工作 下载 https://www.dameng.com/list_103.html 通过百度网盘分享的文件&#xff1a;达梦数据库 链接&#xff1a;https://pan.baidu.com/s/1mJcT3UiwojeWIhXpAwh-RA 提取码&#xff1a;jyzi 点我: 想要 解压 双击iso文件 二. 安装步骤 1 .双击setup.ext安装 …

机器人大模型GR2——在大规模视频数据集上预训练且机器人数据上微调,随后预测动作轨迹和视频(含GR1详解)

前言 上个月的24年10.9日&#xff0c;我在朋友圈看到字节发了个机器人大模型GR2&#xff0c;立马去看了下其论文(当然了&#xff0c;本质是个技术报告) 这次也是我头一次看paper&#xff0c;不看正文&#xff0c;而是直奔其References&#xff0c;​看有没有我预想中的文献&a…

PCB电源层布线信号

在印刷电路板(PCB)的设计过程中,电源层通常被视为电源分配网络(PDN)的核心。电源层和接地层通常是通过平面铜层来实现的,旨在确保系统稳定性。然而,随着电路板复杂性的增加,尤其是在多层电路板中,设计师可能面临在电源层上布置信号线路的需求。虽然这种做法可以节省空…

【大数据学习 | kafka】producer的参数与结构

1. producer的结构 producer&#xff1a;生产者 它由三个部分组成 interceptor&#xff1a;拦截器&#xff0c;能拦截到数据&#xff0c;处理完毕以后发送给下游&#xff0c;它和过滤器不同并不是丢弃数据&#xff0c;而是将数据处理完毕再次发送出去&#xff0c;这个默认是不…

Java基本语法和基础数据类型——针对实习面试

目录 Java基本语法和基础数据类型标识符和关键字有什么区别&#xff1f;Java关键字有哪些&#xff1f;Java基本数据类型有哪些&#xff1f;什么是自动装箱和拆箱&#xff1f;自动装箱&#xff08;Autoboxing&#xff09;自动拆箱&#xff08;Unboxing&#xff09; 自动装箱和拆…

自动化测试工具Ranorex Studio(十九)-其他编辑选项

失败继续运行和禁用 表中列出的每个Action条目&#xff0c;都可以设置为禁用或 “失败继续运行”。 设置action条目为“失败继续运行”时&#xff0c;如果遇到错误&#xff0c;模块不会停在那个位置&#xff0c;而是继续执行。 您可以通过右键菜单或属性窗口设置这两个选项。 设…