是否有任何配置属性我们可以将其设置为在spark 1.6中通过spark-shell禁用/启用Hive支持。我尝试使用
获取所有sqlContext配置属性sqlContext.getAllConfs.foreach(println)
但是,我不确定实际上需要哪个属性来禁用/启用配置单元支持。或者还有其他方法吗?
答案 0 :(得分:7)
Spark> = 2.0
使用config可以启用和禁用Hive上下文
spark.sql.catalogImplementation
spark.sql.catalogImplementation
的可能值是 内存 或 配置单元SPARK-16013 Add option to disable HiveContext in spark-shell/pyspark
这样的Spark属性在Spark 1.6中不。
解决这个问题的一种方法是删除与Hive相关的jar,这些jar反过来会禁用Spark中的Hive支持(因为Spark在需要Hive类时可以使用Hive支持)。
答案 1 :(得分:4)
您可以通过创建spark会话来启用配置单元支持,但仅限于spark> = 2.0:
val spark = SparkSession
.builder()
.appName("Spark Hive Example")
.config("spark.sql.warehouse.dir", warehouseLocation)
.enableHiveSupport()
.getOrCreate()
在这里,您可以通过更改hive-site.xml中的hive和spark属性来阅读如何在spark上配置hive,spark-defaults.conf:https://cwiki.apache.org/confluence/display/Hive/Hive+on+Spark%3A+Getting+Started - 它必须与spark 1.6.1一起使用