IDEA spark 将下列JSON格式数据复制到Linux系统中,并保存命名为employee.json。 { "id":1 , "name":" Ella" , "age":36 } { "id":2, "name":"Bob","age":29 } { "id":3 , "name":"Jack","age":29 } { "id":4 , "name":"Jim","age":28 } { "id":4 , "name":"Jim","age":28 } { "id":5 , "name":"Damon" } { "id":5 , "name":"Damon" } 为employee.json创建DataFrame,并写出Scala语句完成下列操作: (1)查询所有数据; (2)查询所有数据,并去除重复的数据; (3)查询所有数据,打印时去除id字段; (4)筛选出age>30的记录; (5)将数据按age分组; (6)将数据按name升序排列; (7)取出前3行数据; (8)查询所有记录的name列,并为其取别名为username; (9)查询年龄age的平均值; (10)查询年龄age的最小值。
时间: 2023-07-08 15:54:22 浏览: 254
首先,将JSON格式数据保存到Linux系统中的employee.json文件中。
然后,使用以下Scala代码将数据加载到DataFrame中并完成所需操作:
```scala
import org.apache.spark.sql.SparkSession
val spark = SparkSession.builder()
.appName("employee")
.master("local[*]")
.getOrCreate()
// 加载数据到DataFrame
val employeeDf = spark.read.json("/path/to/employee.json")
// 1. 查询所有数据
employeeDf.show()
// 2. 查询所有数据,并去除重复的数据
employeeDf.distinct().show()
// 3. 查询所有数据,打印时去除id字段
employeeDf.drop("id").show()
// 4. 筛选出age>30的记录
employeeDf.filter("age > 30").show()
// 5. 将数据按age分组
employeeDf.groupBy("age").count().show()
// 6. 将数据按name升序排列
employeeDf.orderBy("name").show()
// 7. 取出前3行数据
employeeDf.limit(3).show()
// 8. 查询所有记录的name列,并为其取别名为username
employeeDf.select($"name".alias("username")).show()
// 9. 查询年龄age的平均值
employeeDf.agg(avg("age")).show()
// 10. 查询年龄age的最小值
employeeDf.agg(min("age")).show()
```
注意,代码中的`/path/to/employee.json`应该替换为实际的文件路径。
阅读全文