ART1: Spark shell基础编程( 数据文件需要导入 ): 将三份文件上传至HDFS,分别为student.txt(学生信息表),result_bigdata.txt(大数据基础成绩表),result_math.txt(数学成绩表) 任务1: 加载student.txt为名称为student的RDD数据,result_bigdata.txt为名称为bigdata的RDD数据,result_math.txt为名称为math的RDD数据
时间: 2025-04-03 14:01:25 浏览: 42
在Spark Shell中完成这个任务,我们需要先启动Spark交互式环境(即Spark Shell)。以下是具体步骤和对应的Scala代码示例:
### 步骤一:上传文件到HDFS
首先确保这三份文件已存在于您的本地系统中。然后通过以下命令将文件上传至HDFS:
```bash
hdfs dfs -put student.txt /sparkDir/
hdfs dfs -put result_bigdata.txt /sparkDir/
hdfs dfs -put result_math.txt /sparkDir/
```
这里我们将所有文件放入了`/sparkDir/`目录下。
---
### 步骤二:加载数据到RDD
#### 启动Spark Shell
进入Spark的shell模式 (通常可以通过输入 `spark-shell` 来直接开启)。
#### 加载student.txt为名为`student`的RDD数据
假设每行表示一条记录,在Spark Shell里运行下面这条语句即可读取文本文件作为RDD:
```scala
val student = sc.textFile("hdfs://<namenode_host>:<port>/sparkDir/student.txt")
```
*注意*: 替换 `<namenode_host>` 和 `<port>` 成实际集群地址端口值,默认通常是 `localhost:9000`.
类似地处理其他两个文件:
#### 加载result_bigdata.txt为名为`bigdata`的RDD数据
```scala
val bigdata = sc.textFile("hdfs://<namenode_host>:<port>/sparkDir/result_bigdata.txt")
```
#### 加载result_math.txt为名为`math`的RDD数据
```scala
val math = sc.textFile("hdfs://<namenode_host>:<port>/sparkDir/result_math.txt")
```
此时我们就分别得到了三个基于对应原始txt文档内容而来的分布式集合(RDDs),分别是students名单、大数据课的成绩单还有数学课程成绩单。
您可以尝试打印出每个RDD的部分内容来验证是否成功加载了数据:
```scala
student.take(5).foreach(println)
bigdata.take(5).foreach(println)
math.take(5).foreach(println)
```
上面这段程序会抽取前五行数据显示出来供调试参考用。
阅读全文
相关推荐












