import org.apache.spark.sql.SparkSession
object SparkSQLExperiment03 {
def main(args: Array[String]): Unit = {
// 创建SparkSession
val spark = SparkSession
.builder()
.appName("Spark SQL Experiment 03")
.master("local[*]")
.getOrCreate()
// 设置日志级别
spark.sparkContext.setLogLevel("ERROR")
// 读取数据文件
val dataFrame = spark.read.format("csv")
.option("header", "true")
.option("inferSchema", "true")
.load("src/main/resources/experiment03.csv")
// 显示数据框的内容
dataFrame.show()
// 注册临时视图
dataFrame.createOrReplaceTempView("experiment03")
// 执行SQL查询
val sqlDF = spark.sql("SELECT * FROM experiment03 WHERE age > 20")
sqlDF.show()
// 关闭SparkSession
spark.stop()
}
}
这段代码首先创建了一个SparkSession,并通过它读取了一个CSV文件,然后将其注册为一个临时视图,并执行了一个简单的SQL查询,选择年龄大于20的记录。最后,它关闭了SparkSession。这个过程展示了如何在Spark中使用DataFrame API和Spark SQL来执行数据分析。