使用 spark-shell 读取文件 /data/bigfiles/employee.json 中的内容,完成以下任务: 1、 查询所有数据 2、查询所有数据,并去除重复的数据 3、查询所有数据,打印时去除 id 字段 4、筛选 age>20 的记录 5、将数据
时间: 2024-03-12 18:46:53 浏览: 87
1、查询所有数据:
```
val df = spark.read.json("/data/bigfiles/employee.json")
df.show()
```
2、查询所有数据,并去除重复的数据:
```
val df = spark.read.json("/data/bigfiles/employee.json")
df.dropDuplicates().show()
```
3、查询所有数据,打印时去除 id 字段:
```
val df = spark.read.json("/data/bigfiles/employee.json")
df.drop("id").show()
```
4、筛选 age>20 的记录:
```
val df = spark.read.json("/data/bigfiles/employee.json")
df.filter("age > 20").show()
```
5、将数据保存到一个新文件中:
```
val df = spark.read.json("/data/bigfiles/employee.json")
df.write.json("/data/bigfiles/employee_output.json")
```
相关问题
使用spark-shell读取文件/data/employee.json中的内容
可以使用以下命令在spark-shell中读取employee.json文件的内容:
```
val employee = spark.read.json("/data/employee.json")
```
其中,`val`是定义变量的关键字,`employee`是变量名,`spark.read.json`是读取json格式文件的方法,`"/data/employee.json"`是文件路径。读取完成后,可以使用`employee.show()`方法来查看读取的数据。
使用 spark-shell 读取文件 /data/bigfiles/employee.json 中的内容,完成以下任务: 查询所有数据 查询所有数据,并去除重复的数据 查询所有数据,打印时去除 id 字段 筛选 age>20 的记录 将数据按 name 分组 将数据按 name 升序排列 取出前 3 行数据 查询所有记录的 name 列,并为其取别名为 username 查询年龄 age 的平均值 查询年龄 age 的最小值
可以使用以下代码来解决你的问题:
1. 查询所有数据
```scala
// 导入 SparkSession
import org.apache.spark.sql.SparkSession
// 创建 SparkSession
val spark = SparkSession.builder()
.appName("Read Employee JSON")
.master("local[*]")
.getOrCreate()
// 读取 JSON 文件
val employee = spark.read.json("/data/bigfiles/employee.json")
// 查询所有数据
employee.show()
```
2. 查询所有数据,并去除重复的数据
```scala
// 去除重复数据
employee.distinct().show()
```
3. 查询所有数据,打印时去除 id 字段
```scala
// 去除 id 字段
employee.drop("id").show()
```
4. 筛选 age > 20 的记录
```scala
// 筛选 age > 20 的记录
employee.filter("age > 20").show()
```
5. 将数据按 name 分组
```scala
// 按 name 分组
employee.groupBy("name").count().show()
```
6. 将数据按 name 升序排列
```scala
// 按 name 升序排列
employee.sort("name").show()
```
7. 取出前 3 行数据
```scala
// 取出前 3 行数据
employee.limit(3).show()
```
8. 查询所有记录的 name 列,并为其取别名为 username
```scala
// 查询所有记录的 name 列,并为其取别名为 username
employee.select($"name".alias("username")).show()
```
9. 查询年龄 age 的平均值
```scala
// 查询年龄 age 的平均值
employee.agg(avg("age")).show()
```
10. 查询年龄 age 的最小值
```scala
// 查询年龄 age 的最小值
employee.agg(min("age")).show()
```
需要注意的是,上述代码中的 JSON 文件路径为 /data/bigfiles/employee.json,如果你的 JSON 文件路径不同,需要做相应的修改。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)