1、导入相关依赖
<properties>
<java.version>1.8</java.version>
<spark.version>2.1.0</spark.version>
<scala.version>2.11</scala.version>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_${scala.version}</artifactId>
<version>${spark.version}</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-streaming_${scala.version}</artifactId>
<version>${spark.version}</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_${scala.version}</artifactId>
<version>${spark.version}</version>
</dependency>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>2.11.11</version>
</dependency>
</dependencies>
2、java代码
package com.spark.test;
import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Row;
import org.apache.spark.sql.SparkSession;
public class SparkSql {
public static void main(String[] args) {
//1、创建sparksession对象
SparkSession session = SparkSession.builder().master("local[1]").appName("Spark Sql").getOrCreate();
//2、加载数据源并转换为DataFrame对象
Dataset<Row> json = session.read().json("C:\\Users\\spectre\\Desktop\\stu");
//3、查询
//Dataset<Row> se = json.select("stuname","stuage","stusex").where("stuage>20");
//se.show();
//创建视图
json.createOrReplaceTempView("stus");
//通过视图查询数据
Dataset<Row> sql = session.sql("select stuname,stuage,stusex from stus");
sql.show();
}
}