SQL 语法风格是指我们查询数据的时候使用 SQL 语句来查询.
这种风格的查询必须要有临时视图或者全局视图来辅助
scala> val df = spark.read.json("/opt/module/spark-local/examples/src/main/resources/people.json")df: org.apache.spark.sql.DataFrame = [age: bigint, name: string]scala> df2.createOrReplaceTempView("people")scala> spark.sql("select * from people").show+----+-------+| age| name|+----+-------+|null|Michael|| 30| Andy|| 19| Justin|+----+-------+
注意:
1.临时视图只能在当前 Session 有效, 在新的 Session 中无效.
2.可以创建全局视图. 访问全局视图需要全路径:如global_temp.xxx
scala> val df = spark.read.json("/opt/module/spark-local/examples/src/main/resources/people.json")df: org.apache.spark.sql.DataFrame = [age: bigint, name: string]scala> df.createGlobalTempView("people")scala> spark.sql("select * from global_temp.people")res31: org.apache.spark.sql.DataFrame = [age: bigint, name: string]scala> res31.show+----+-------+| age| name|+----+-------+|null|Michael|| 30| Andy|| 19| Justin|+----+-------+scala> spark.newSession.sql("select * from global_temp.people")res33: org.apache.spark.sql.DataFrame = [age: bigint, name: string]scala> res33.show+----+-------+| age| name|+----+-------+|null|Michael|| 30| Andy|| 19| Justin|+----+-------+
