Spark SQL 编程API入门系列之SparkSQL的入口
2017-06-05 14:33
555 查看
不多说,直接上干货!
[b]SparkSQL的入口:SQLContext[/b]
SQLContext是SparkSQL的入口
val sc: SparkContext
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
import sqlContext._ //导?入各种sql操作的?口与各种隐式转换
[b]SparkSQL的入口: HiveContext[/b]
HiveContext是SQLContext的子类,提供了对Hive的支持。
complete HiveQL parser,
access to Hive UDFs,
the ability to read data from Hive tables,
编译时要包含Hive支持
不需要提前安装Hive(连接已有Hive会在后续博文讲解)。
HiveContext可以使用任何在SQLContext上可用的data source。
[b]SQLContext vs HiveContext[/b]
SQLContext现在只支持SQL语法解析器(SQL-92语法)
val sc: SparkContext
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
import sqlContext._ //导入各种sql操作的与各种隐式转换
[b]SQLContext vs HiveContext[/b]
HiveContext现在支持SQL语法解析器和HiveSQL语法解析器,默认为HiveSQL语法解析器,用户可以通过配置切换成SQL语法解析器,来运行HiveSQL不支持的语法。
使用HiveContext可以使用Hive的UDF,读写Hive表数据等Hive操作。SQLContext不可以对Hive进行操作。
Spark SQL未来的版本会不断丰富SQLContext的功能,做到SQLContext和HiveContext的功能容和,最终可能两者会统一成一个Context。
HiveContext包装了Hive的依赖包,把HiveContext单独拿出来,可以在部署基本的Spark的时候就不需要Hive的依赖包,需要使用HiveContext时再把Hive的各种依赖包加进来。
[b]SparkSQL的入口:SQLContext[/b]
SQLContext是SparkSQL的入口
val sc: SparkContext
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
import sqlContext._ //导?入各种sql操作的?口与各种隐式转换
[b]SparkSQL的入口: HiveContext[/b]
HiveContext是SQLContext的子类,提供了对Hive的支持。
complete HiveQL parser,
access to Hive UDFs,
the ability to read data from Hive tables,
编译时要包含Hive支持
mvn -Pyarn -Phadoop-2.7 -Dhadoop.version=2.7.0 -Phive -Phive-thriftserver -DskipTests clean package
不需要提前安装Hive(连接已有Hive会在后续博文讲解)。
HiveContext可以使用任何在SQLContext上可用的data source。
[b]SQLContext vs HiveContext[/b]
SQLContext现在只支持SQL语法解析器(SQL-92语法)
val sc: SparkContext
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
import sqlContext._ //导入各种sql操作的与各种隐式转换
[b]SQLContext vs HiveContext[/b]
HiveContext现在支持SQL语法解析器和HiveSQL语法解析器,默认为HiveSQL语法解析器,用户可以通过配置切换成SQL语法解析器,来运行HiveSQL不支持的语法。
使用HiveContext可以使用Hive的UDF,读写Hive表数据等Hive操作。SQLContext不可以对Hive进行操作。
Spark SQL未来的版本会不断丰富SQLContext的功能,做到SQLContext和HiveContext的功能容和,最终可能两者会统一成一个Context。
HiveContext包装了Hive的依赖包,把HiveContext单独拿出来,可以在部署基本的Spark的时候就不需要Hive的依赖包,需要使用HiveContext时再把Hive的各种依赖包加进来。
相关文章推荐
- Spark SQL 编程API入门系列之SparkSQL的依赖
- Spark SQL 编程API入门系列之Spark SQL的作用与使用方式
- Spark SQL 编程API入门系列之Spark SQL支持的API
- Spark SQL 编程API入门系列之SparkSQL数据源
- Spark RDD/Core 编程 API入门系列之动手实战和调试Spark文件操作、动手实战操作搜狗日志文件、搜狗日志文件深入实战(二)
- Spark RDD/Core 编程 API入门系列 之rdd案例(map、filter、flatMap、groupByKey、reduceByKey、join、cogroupy等)(四)
- Spark RDD/Core 编程 API入门系列 之rdd实战(rdd基本操作实战及transformation和action流程图)(源码)(三)
- Spark RDD/Core 编程 API入门系列之简单移动互联网数据(五)
- Spark RDD/Core 编程 API入门系列之map、filter、textFile、cache、对Job输出结果进行升和降序、union、groupByKey、join、reduce、look
- Spark RDD/Core 编程 API入门系列之map、filter、textFile、cache、对Job输出结果进行升和降序、union、groupByKey、join、reduce、lookup(一)
- Spark RDD/Core 编程 API入门系列 之rdd案例(map、filter、flatMap、groupByKey、reduceByKey、join、cogroupy等)(四)
- Spark RDD/Core 编程 API入门系列之简单移动互联网数据(五)
- Spark入门实战系列--3.Spark编程模型(上)--编程模型及SparkShell实战
- Spark入门实战系列 spark编程模型--IDEA搭建及实战
- Spark入门实战系列--6.SparkSQL(中)--深入了解SparkSQL运行计划及调优
- 基于Spark的Hive编程中,“Error:(8, 37) java: 程序包org.apache.spark.sql.api.java不存在”的解决办法
- Hadoop MapReduce编程 API入门系列之mr编程快捷键活用技巧详解(四)
- Spark入门实战系列--6.SparkSQL(中)--深入了解SparkSQL运行计划及调优
- Spark入门实战系列--3.Spark编程模型(上)--编程模型及SparkShell实战
- Spark入门实战系列--3.Spark编程模型(上)--编程模型及SparkShell实战