见源码:
class HiveContext(sc : org.apache.spark.SparkContext) extends org.apache.spark.sql.SQLContext with org.apache.spark.Logging {
SqlContext: 应该是对应spark-sql这个project; 与hive解耦,不支持hql查询;
HiveContext:应该是对应spark-hive这个项目; 与hive有部分耦合, 支持hql,是SqlContext的子类,也就是说兼容SqlContext;
如果在项目中同时使用
val sc = new SparkContext(sparkConf) //Initialize sqlContext val sqlContext = new SQLContext(sc) val hiveContext = new org.apache.spark.sql.hive.HiveContext(sc)则会出问题,此时只需使用HiveContext即可。