概述
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| +----------+---+
版权声明:《 SparkSQL 的两种使用方式 》为明妃原创文章,转载请注明出处!
最后编辑:2020-2-24 05:02:23