Spark的安装配置以及初步测试

本文介绍了Spark的伪分布式安装步骤及配置,并通过四个示例展示了Spark的基本数据处理流程,包括数据输入、处理和输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简单来说Spark就是专为大规模数据处理而 设计的快速通用计算引擎

spark伪分布式安装配置
1、解压
$ tar -zxvf /opt/softwares/spark-1.6.1-bin-2.5.0-cdh5.3.6.tgz

2、配置,添加属性
$ mv spark-env.sh.template spark-env.sh
JAVA_HOME=/opt/modules/jdk1.7.0_79
SCALA_HOME=/opt/modules/cdh/scala-2.10.4
HADOOP_CONF_DIR=/opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/etc/hadoop

3、启动HDFS服务
$ sbin/start-dfs.sh

4、启动
$ bin/spark-shell

PS:
常见问题
若处于安全模式,则可以强制离开
$ bin/hadoop dfsadmin -safemode leave

Spark的数据处理流程
a)数据输入(从数据源获取数据)
b)数据处理(ETL等)
c)数据输出(数据持久化)
d)结果展示(如:图表形式)

** 示例一 (最常见的用法,先忽略掉实现的细节)
val rdd = sc.textFile(“/input/a.txt”) //hdfs路径
val wcrdd=rdd.flatMap(line=>line.split(“\t”)).map(word=>(word,1)).reduceByKey((a,b)=>(a+b))
wcrdd.saveAsTextFile(“wc-spark1”) //默认路径为/user/tom

** 示例二
val rdd = sc.textFile(“/input/a.txt”)
val linerdd=rdd.flatMap(line=>line.split(“\t”))
val kvrdd=linerdd.map(word=>(word,1))
val wcrdd=kvrdd.reduceByKey((a,b)=>(a+b))
wcrdd.saveAsTextFile(“wc-spark2”)

** 示例三
val wcrdd=sc.textFile(“/input/a.txt”).flatMap(line=>line.split(“\t”)).map(word=>(word,1)).reduceByKey((a,b)=>(a+b)).saveAsTextFile(“wc-spark3”)

** 示例四
val rdd = sc.textFile(“/input/a.txt”)
//如果某参数只使用一次,则可以使用下划线来代替
val wcrdd=rdd.flatMap(.split(“\t”)).map((,1)).reduceByKey(+)
wcrdd.saveAsTextFile(“wc-spark4”)

### 安装配置 Spark 开发环境 #### 下载解压安装包 为了开始设置 Spark 的开发环境,需先从官方网站获取最新的稳定版本并将其放置于目标机器上的合适位置。下载完成后,通过命令行工具或者压缩软件完成解压操作。 对于 Linux 或 macOS 用户来说,可以利用 `tar` 命令来进行此过程[^1]: ```bash tar -xzf spark-<version>-bin-hadoop<version>.tgz ``` Windows 用户则可能更倾向于使用图形界面下的压缩程序来展开文件夹结构[^4]。 #### 配置环境变量 接着要使系统识别新安装Spark 路径以便可以在任何地方调用它。这涉及到编辑 `.bashrc`, `.zshrc` (针对 Unix-like 系统),或是 Windows 上的高级系统设置里的环境变量部分。具体而言就是向 PATH 变量追加 Spark bin 目录的位置[^2]。 Unix/Linux/MacOS: ```bash export SPARK_HOME=/path/to/spark export PATH=$SPARK_HOME/bin:$PATH source ~/.bashrc # or source ~/.zshrc depending on shell used ``` Windows PowerShell: ```powershell $env:Path += ";C:\path\to\spark\bin" [System.Environment]::SetEnvironmentVariable('Path', $env:Path, 'Machine') ``` #### 修改 Spark 配置文件 除了基本路径外,还需要调整一些默认参数以适应特定需求或优化性能表现。通常这些更改会涉及 conf 文件夹内的多个 XML 和 properties 类型文档。例如,在某些情况下需要指定 master URL 来指明集群模式还是本地单节点运行方式;另外还有内存分配比例等选项可供自定义。 #### 创建项目依赖关系(IDE 特定) 当准备在一个集成开发环境中开展工作时——比如 Eclipse IDE ——还需额外处理好 Java 构建路径问题。这意味着要把之前提到过的那些 jar 包加入到项目的库列表里去,从而让编译器知道去哪里寻找必要的类定义[^3]。 #### 测试验证 最后一步便是确认一切正常运作。可以通过启动交互式 Scala Shell (`spark-shell`) 并观察是否有错误提示作为初步判断依据之一。如果一切顺利的话,则说明已经成功构建了一个可用的工作区。 #### Hadoop 环境兼容性考虑 值得注意的是,由于 Spark 经常被部署在大数据框架之上,因此有时也需要同步设定 Hadoop 的相关属性,特别是像 JAVA_HOME 这样的全局变量指向正确版本的 JDK 是非常重要的[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值