习题 8:DF 基础操作

题目:通过 SparkSession 读取 CSV 文件生成 DataFrame,分别进行升序、降序和多字段复合排序;查询 namesalaryeducation 字段,并分别设置中文别名“名字”“工资”“教育”后展示。

数据格式:

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()
  }
}