使用 spark-shell 读取文件 /data/bigfiles/employee.json 中的内容,完成以下任务: 查询所有数据 查询所有数据,并去除重复的数据 查询所有数据,打印时去除 id 字段 筛选 age>20 的记录 将数据按 name 分组 将数据按 name 升序排列 取出前 3 行数据 查询所有记录的 name 列,并为其取别名为 username 查询年龄 age 的平均值 查询年龄 age 的最小值
时间: 2024-02-27 13:56:23 浏览: 42
好的,以下是针对你提出的问题的 Spark Shell 代码实现:
1. 查询所有数据
```
val df = spark.read.json("/data/bigfiles/employee.json")
df.show()
```
2. 查询所有数据,并去除重复的数据
```
val df = spark.read.json("/data/bigfiles/employee.json")
df.distinct().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. 将数据按 name 分组
```
val df = spark.read.json("/data/bigfiles/employee.json")
df.groupBy("name").count().show()
```
6. 将数据按 name 升序排列
```
val df = spark.read.json("/data/bigfiles/employee.json")
df.orderBy("name").show()
```
7. 取出前 3 行数据
```
val df = spark.read.json("/data/bigfiles/employee.json")
df.limit(3).show()
```
8. 查询所有记录的 name 列,并为其取别名为 username
```
val df = spark.read.json("/data/bigfiles/employee.json")
df.select($"name".alias("username")).show()
```
9. 查询年龄 age 的平均值
```
val df = spark.read.json("/data/bigfiles/employee.json")
df.agg(avg("age")).show()
```
10. 查询年龄 age 的最小值
```
val df = spark.read.json("/data/bigfiles/employee.json")
df.agg(min("age")).show()
```
希望这些代码可以帮助你完成你的任务。如果你有其他的问题或者需要进一步的解释,可以随时问我。