是否有任何配置属性,我们可以将其设置为通过 spark-shell 在 spark 1.6 中显式禁用/启用 Hive 支持。我试图获取所有 sqlContext 配置属性,
sqlContext.getAllConfs.foreach(println)
但是,我不确定禁用/启用配置单元支持实际上需要哪个属性。或者有没有其他方法可以做到这一点?
是否有任何配置属性,我们可以将其设置为通过 spark-shell 在 spark 1.6 中显式禁用/启用 Hive 支持。我试图获取所有 sqlContext 配置属性,
sqlContext.getAllConfs.foreach(println)
但是,我不确定禁用/启用配置单元支持实际上需要哪个属性。或者有没有其他方法可以做到这一点?
火花 >= 2.0
使用配置可以启用和禁用 Hive 上下文
spark.sql.catalogImplementation
可能的值
spark.sql.catalogImplementation
是 in-memory或hive
这样的 Spark 属性在 Spark 1.6中不可用。
解决此问题的一种方法是删除与 Hive 相关的 jar,这些 jar 反过来会禁用 Spark 中的 Hive 支持(因为当需要的 Hive 类可用时,Spark 具有 Hive 支持)。
您可以通过创建 spark 会话来启用 hive 支持,但只能在 spark >=2.0 中:
val spark = SparkSession
.builder()
.appName("Spark Hive Example")
.config("spark.sql.warehouse.dir", warehouseLocation)
.enableHiveSupport()
.getOrCreate()
在这里您可以阅读如何通过更改 hive-site.xml、spark-defaults.conf 中的 hive 和 spark 属性来配置 hive on spark:https ://cwiki.apache.org/confluence/display/Hive/Hive+on+ Spark%3A+Getting+Started - 它必须与 spark 1.6.1 一起使用