是否有任何配置属性我们可以将其设置为在spark 1.6中通过spark-shell禁用/启用Hive支持 . 我试图获取所有sqlContext配置属性,
sqlContext.getAllConfs.foreach(println)
但是,我不确定实际上需要哪个属性来禁用/启用配置单元支持 . 或者还有其他办法吗?
您可以通过创建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一起使用
Spark> = 2.0使用config spark.sql.catalogImplementation启用和禁用Hive上下文spark.sql.catalogImplementation的可能值是内存或配置单元SPARK-16013添加选项以禁用spark-shell / pyspark中的HiveContext
这样的Spark属性在Spark 1.6中可用 not .
解决这个问题的一种方法是删除与Hive相关的jar,这些jar会反过来禁用Spark中的Hive支持(因为Spark在需要Hive类时可以使用Hive支持) .
2 回答
您可以通过创建spark会话来启用配置单元支持,但仅限于spark> = 2.0:
在这里,您可以通过更改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一起使用
Spark <2.0
这样的Spark属性在Spark 1.6中可用 not .
解决这个问题的一种方法是删除与Hive相关的jar,这些jar会反过来禁用Spark中的Hive支持(因为Spark在需要Hive类时可以使用Hive支持) .