习题 8:DF 基础操作
题目:通过 SparkSession 读取 CSV 文件生成
DataFrame,分别进行升序、降序和多字段复合排序;查询
name、salary、education
字段,并分别设置中文别名“名字”“工资”“教育”后展示。
数据格式:
name,age,home,occupation,salary,education
张三,25,北京,工程师,12000,本科
李四,30,上海,设计师,15000,硕士
import org.apache.spark.sql.SparkSession
import org.apache.spark.sql.functions._
object DataFrameOperations {
def main(args: Array[String]): Unit = {
val spark = SparkSession.builder()
.master("local[*]")
.appName("DataFrameOperations")
.getOrCreate()
val df = spark.read.csv("data.csv")
println("原始数据:")
df.show()
println("按 salary 升序排序:")
df.orderBy("salary").show()
println("按 salary 降序排序:")
df.orderBy(col("salary").desc).show()
println("复合排序(salary 降序,education 升序):")
df.orderBy(col("salary").desc, col("education").asc).show()
println("带中文别名的查询结果:")
df.select(
col("name").as("名字"),
col("salary").as("工资"),
col("education").as("教育")
).show()
spark.stop()
}
}