SparkSQL 的两种使用方式

概述

SparkSQL 提供了两种编程方式。

  • 通过 SQL 语句进行查询
  • 通过调用不同的方式查询

使用

创建 session 对象

val session = SparkSession.builder
          .master("local[*]")
          .appName("use")
          .getOrCreate()

查询数据

{"id":1,"name":"Bigdataboy","age": "18"}
{"id":2,"name":"Bob","age": "16"}
{"id":3,"name":"Black","age": "18"}

使用SQL语句

使用SQL 语句查询,必须要映射一张表名 createTempView(“表名”),这其实调用的是 Spark 内置的 Hive 进行查询。

这样使用的是 SparkSQL 内嵌的 Hive 来进行查询

 val jsonDF = session.read.json("indata/data.json")

// 映射一张表名
jsonDF.createTempView("user")

// 使用 SQL 语句
val sqlRes: DataFrame = session.sql("select name,age from user")
sqlRes.show()
-------------
+----------+---+
|      name|age|
+----------+---+
|Bigdataboy| 18|
|       Bob| 16|
|     Black| 18|
+----------+---+

使用方法

val jsonDF = session.read.json("indata/data.json")
val dfRes: DataFrame = jsonDF.select("name", "age")
dfRes.show()
------------
+----------+---+
|      name|age|
+----------+---+
|Bigdataboy| 18|
|       Bob| 16|
|     Black| 18|
+----------+---+
发表评论 / Comment

用心评论~