云计算 - 4 - Spark的安装与应用

news2025/6/30 9:42:36

云计算 - 4 - Spark的安装与应用

    • 目标
    • Spark 的安装:
      • 1、下载配置 Scala
        • 1.1 下载 Scala
        • 1.2 配置 Scala 的路径
        • 1.3 测试 Scala 是否安装完成
      • 2、下载配置Spark
        • 2.1 下载Spark
        • 2.2 配置 Spark 的路径
        • 2.3 修改 Spark 的配置文件
      • 3、将文件复制到子节点
      • 4、启动Spark
      • 5、测试Spark
        • 5.1 创建测试文件
        • 5.2 运行 WordCount 程序,得到结果
    • Spark 的应用:
      • 1、计算 pagerank
        • 1.1 进入 spark-shell 交互式环境
        • 1.2 编写程序
        • 1.3 记录结果
      • 2、WordCount
        • 2.1 编写测试文件
        • 2.2 进入 spark-shell 交互式环境
        • 2.3 输入 WordCount 程序
        • 2.4 记录结果


目标

实现 Linux 中 Spark 的安装与应用。

Spark 的安装:

1、下载配置 Scala

1.1 下载 Scala

创建文件夹 scala 用于安装 scala,通过 wget 下载 tar 包,然后解包安装 scala。
wget https://downloads.lightbend.com/scala/2.10.7/scala-2.10.7.tgz
在这里插入图片描述
tar -zxvf scala-2.10.7.taz
在这里插入图片描述

1.2 配置 Scala 的路径

通过修改 .bash_profile 文件来配置 Scala 路径,并使用 source 命令使其生效。
在这里插入图片描述
在这里插入图片描述

1.3 测试 Scala 是否安装完成

使用 scala -version 命令,若能正常显示,即说明安装配置成功。

在这里插入图片描述

2、下载配置Spark

2.1 下载Spark

类似于 Scala 的下载安装方式,同样使用 wget 下载 tar 包,然后解包,安装 Spark。
因下载时间过长,后面改为导入 tar 包安装。
wget https://archive.apache.org/dist/spark/spark-1.6.1/spark-1.6.1-bin-hadoop2.6.tgz
在这里插入图片描述
tar -zvxf spark-1.6.1-bin-hadoop2.6.tgz
在这里插入图片描述

2.2 配置 Spark 的路径

通过修改 .bash_profile 文件来配置 Spark 路径,并使用 source 命令使其生效
在这里插入图片描述
在这里插入图片描述

2.3 修改 Spark 的配置文件

进入spark 的安装目录,转到 conf 目录中,创建并修改 slaves 文件,默认数据节点改为 DataNode-1

cd conf/
mv slaves.template slaves
vi slaves

在这里插入图片描述

mv spark-env.sh.template spark-env.sh
vi	spark-env.sh

在这里插入图片描述

3、将文件复制到子节点

scp -r /home/spark/spark-1.6.1-bin-hadoop2.6 root@DataNode-1:/home/spark/
scp -r /home/scala/scala-2.10.7 root@DataNode-1:/home/scala/
scp ~/.bash_profile root@DataNode-1:~/.bash_profile

在这里插入图片描述
在这里插入图片描述

4、启动Spark

在这里插入图片描述

5、测试Spark

运行 spark 自带的 wordcount 程序进行测试

5.1 创建测试文件

创建一个 .txt 文件,输入一些字符,传入 HDFS 文件系统作为测试
在这里插入图片描述

5.2 运行 WordCount 程序,得到结果

/home/spark/spark-1.6.1-bin-hadoop2.6/bin/run-exampleorg.apache.spark.examples.JavaWordCount hdfs://NameNode-1:9000/test111.txt

在这里插入图片描述

Spark 的应用:

1、计算 pagerank

1.1 进入 spark-shell 交互式环境

在这里插入图片描述

1.2 编写程序

输入pagerank计算程序,如下:

import org.apache.spark.HashPartitioner
 
val links = sc.parallelize(List(("A",List("B","C")),("B",List("A","C")),("C",List("A","B", "D")),("D",List("C")))).partitionBy(new HashPartitioner(100)).persist()
 
var ranks=links.mapValues(v=>1.0)
 
for (i <- 0 until 10) {
val contributions=links.join(ranks).flatMap {
case (pageId,(links,rank)) => links.map(dest=>(dest,rank/links.size))
}
ranks=contributions.reduceByKey((x,y)=>x+y).mapValues(v=>0.15+0.85*v)
}
 
ranks.sortByKey().collect()

1.3 记录结果

运行程序,查看结果。
在这里插入图片描述
即:

(A,0.9850243302878132), 
(B,0.9850243302878132), 
(C,1.4621033282930214), 
(D,0.5678480111313515)

符合预期。

2、WordCount

2.1 编写测试文件

编写一个 .txt 文件作为 WordCount 的输入,传入 hdfs 文件系统中。
在这里插入图片描述

2.2 进入 spark-shell 交互式环境

同上一步 pagerank 1.1 中,进入 spark-shell 交互式环境。

2.3 输入 WordCount 程序

var input = sc.textFile("/NOTICE.txt")
input.flatMap(x=>x.split(" ")).countByValue()

在这里插入图片描述

2.4 记录结果

运行程序,查看结果。
在这里插入图片描述
即:world -> 2, a -> 1, java -> 2, b -> 1, python -> 2, c -> 1, hello -> 2, d -> 1
符合预期。

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

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

相关文章

nginx模块

目录 搭建域名虚拟主机 nginx索引 状态索引 访问控制 基于ip限制 基于用户限制 配置nginx官方yum源 http://nginx.org/en/linux_packages.html#RHEL-CentOS vim /etc/yum.repos.d/nginx.repo [nginx-stable] namenginx stable repo baseurlhttp://nginx.org/packages/cent…

Linux调试工具:gdb的使用

文章目录一、gdb简介二、gdb基础命令操作1.进入gdb &#xff1a;gdb 文件名2.显示代码&#xff1a;l3.开始调试&#xff1a;r4.打断点&#xff1a;b 行号5.显示断点信息&#xff1a;info b6.删断点&#xff1a;d 编号7.逐过程&#xff1a;n8.逐语句&#xff1a;s9.进入堆栈&…

JavaScript基础

目录 数据类型 基本数据类型 引用数据类型 变量 运算符 算数运算符 赋值运算符 字符串连接符 关系运算符 逻辑运算符 三目运算符 分支语句 循环语句 流程控制语句 错误处理 函数 数组 对象 内置对象 String RegExp Math Date 全局函数 简介&#xff1a; 是…

Nginx虚拟主机与域名解析

文章目录一、域名、dns、ip地址之间的关系二、浏览器、nginx与http协议三、虚拟主机原理四、域名解析与泛解析1.公网ip解析2.内网ip解析五、域名解析相关企业项目实战技术架构1.多用户二级域名2.短网址3.httpDNS一、域名、dns、ip地址之间的关系 域名代表了一个公司、一个人或…

C语言之文件的使用(下)

目录 前言 一、文件的随机读写 1.如何进行随机读写 2.相关函数&#xff08;含例子&#xff09; 1.fseek函数 2.ftell函数 3.rewind函数 二、文件读取结束的判定 1.判定结束的相关函数 1.feof函数 2.ferror函数 2.不同类型文件 1.文本文件和二进制文件 2.不同文件的所判断的返回…

win10怎么安装iis

在win10系统桌面&#xff0c;点击开始菜单里的设置图标。 win10怎么安装iis 在Windows设置界面&#xff0c; 点击应用。 win10怎么安装iis 在应用界面&#xff0c;点击【程序和功能】。 win10怎么安装iis 在程序管理界面&#xff0c;点击启用或关闭Windows功能。 win10怎…

Python采集剧本杀店家数据信息,做可视化演示

前言 哈喽啊&#xff0c;友友们 有喜欢玩桌游或者剧本杀的吗 其实我自己对这个不太感兴趣哈哈&#xff0c;但是也玩过 正好又有朋友约着出去&#xff0c;就是不知道哪家店更值得去 所以趁着还有几天就用python来采集一些 店家的数据信息 并做个可视化演示吧 环境使用: P…

如何利用Dpabi,AFNI,FSL软件计算种子点的功能连接?

种子点功能连接方法基本概念和实现 种子点的功能连接基本概念功能连接在数据处理里的具体应用如何使用 Dpabi, AFNI 和 FSL 计算种子点功能连接呢?选择种子点利用DPABI软件进行种子点的功能连接利用AFNI (3dNetCorr)进行种子点的功能连接利用FSL (fslmeants + fsl_glm)进行…

Linux常用命令详解

系列文章目录 Linux 环境搭建以及xshell远程连接_crazy_xieyi的博客-CSDN博客 ls 该命令列出该目录下的所有子目录与文件。对于文件&#xff0c;将列出文件名以及其他信息。 常用选项&#xff1a; -a 列出目录下的所有文件&#xff0c;包括以. 开头的隐含文件。-d 将目录…

探花交友_第1章_项目介绍以及实现登录功能_第2节_项目介绍

探花交友_第1章_项目介绍以及实现登录功能_第2节_项目介绍 文章目录探花交友_第1章_项目介绍以及实现登录功能_第2节_项目介绍2、项目介绍2.1、项目背景2.2、市场分析2.3、目标用户群体2.4、技术方案2.5、技术架构2.6、技术解决方案2.7、技术亮点2.8、开发方式2.9、基础环境功能…

[附源码]计算机毕业设计JAVA博客系统设计

[附源码]计算机毕业设计JAVA博客系统设计 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis M…

自适应,响应式以及图片的性能优化(响应式图片)

自适应:最常见的就是淘宝无限适配[移动端]rem单位 index.js 2.0 mirrors / amfe / lib-flexible GitCode 可以将这个淘宝无限适配的index.js引入自己的文件中 (它的核心原理就是改变html的font-size的字体大小) 响应式:一个url可以响应多端 响应式最常见的就是媒体查询 …

这款键盘你真的要考虑一下!——Keychron K3测评

家人们&#xff01;这款键盘你真的要考虑一下&#xff01;&#xff01;&#xff01; 如果你是一名程序员&#xff0c;每天在键盘上一顿噼里啪啦&#xff1b;如果你是职场人士&#xff0c;需要长期码字&#xff1b;如果你是游戏爱好者&#xff0c;对键盘有着极致追求&#xff0…

用python实现提高自己博客访问量

文章目录前言1、整体逻辑2、代码实现前言 你还在为自己博客的访问量不高而烦恼吗&#xff1f;我教你如何提高访问量 我发现CSDN上&#xff0c;自己点击自己的博客&#xff0c;可以增加访问量&#xff0c;但是在一定时间内点击同一篇博客&#xff0c;访问量无法再次增加&#x…

Vue3 - <script setup> 单文件组件语法糖的使用教程示例 (SFC)

概念 它是在 单文件组件 (SFC) 中使用组合式 API 的编译时语法糖&#xff0c;解决 vue3 中 setup() 需要繁琐将声明的变量、函数以及 import 引入的内容通过 return 向外暴露&#xff0c;才能在<template> 使用的问题。 小示例 是不是感觉似懂非懂&#xff1f;先来看个…

【蓝桥杯Web】第十四届蓝桥杯(Web 应用开发)模拟赛 1 期-大学组 | 精品题解

&#x1f4d1; 目录&#x1f53d; 前言1️⃣ 数据类型检测2️⃣ 渐变色背景生成器3️⃣ 水果叠叠乐4️⃣ element-ui 组件二次封装5️⃣ http 模块应用6️⃣ 新课上线啦7️⃣ 成语学习8️⃣ 学海无涯9️⃣ 逃离二向箔&#x1f51f; 梅楼封的一天&#x1f53c; 结语&#x1f53d…

Qt编写4K/8K大分辨率播放器(8K占用1%CPU)

一、前言 在经过多种内核的洗礼以后&#xff0c;逐渐对不同内核的不同音视频文件和视频流进行大量的对比测试&#xff0c;比如测试对各种格式的支持性&#xff0c;对各种网络流的支持程度&#xff0c;在同一个地址下占用的CPU/GPU资源比对&#xff0c;最终发现播放器这块mpv优…

【数据结构】单链表(不带头结点)基本操作的实现(C语言)

&#x1f680; 作者简介&#xff1a;一名在后端领域学习&#xff0c;并渴望能够学有所成的追梦人。 &#x1f40c; 个人主页&#xff1a;蜗牛牛啊 &#x1f525; 系列专栏&#xff1a;&#x1f6f9;初出茅庐C语言、&#x1f6f4;数据结构 &#x1f4d5; 学习格言&#xff1a;博…

阿里巴巴任庚:数字城市建设的“两核三转和四横五纵”

阿里巴巴集团副总裁 阿里云智能中国区总裁 任庚 推进数字中国建设是党和国家制定的重要战略&#xff0c;是以数字化转型整体驱动生产方式、生活方式和治理方式的变革&#xff1b;数字城市建设是数字中国建设的重要组成部分&#xff0c;是数字中国建设的先行实践&#xff0c;准确…

【Turtle合集】火遍抖音的五款魔法阵终于被我找到了(初代萌王,童年的小樱回来了)

导语 ​ 小编在昨天看了一个非常好玩的充电器&#xff0c;就是魔法阵充电器。这种感觉&#xff0c;完全是满满的中二气 息啊。魔法阵开启&#xff01;哈哈哈&#xff08;感觉有点儿幼稚&#xff0c;但是还挺有趣的&#xff09; ​ 魔法阵一直都出现在小说、动漫、电影、电视…