【问题标题】:How to enable or disable Hive support in spark-shell through Spark property (Spark 1.6)?如何通过 Spark 属性 (Spark 1.6) 在 spark-shell 中启用或禁用 Hive 支持?
【发布时间】:2018-10-22 19:06:02
【问题描述】:

是否有任何配置属性我们可以设置它来禁用/启用通过 spark-shell 显式在 spark 1.6 中的 Hive 支持。我试图获取所有 sqlContext 配置属性,

sqlContext.getAllConfs.foreach(println)

但是,我不确定禁用/启用配置单元支持实际上需要哪个属性。或者有没有其他方法可以做到这一点?

【问题讨论】:

    标签: apache-spark hive apache-spark-sql apache-spark-1.6


    【解决方案1】:

    火花 >= 2.0

    可以通过配置启用和禁用 Hive 上下文 spark.sql.catalogImplementation

    spark.sql.catalogImplementation 的可能值为 内存中hive

    SPARK-16013 Add option to disable HiveContext in spark-shell/pyspark


    火花

    这样的 Spark 属性在 Spark 1.6 中可用。

    解决此问题的一种方法是删除与 Hive 相关的 jar,这反过来会禁用 Spark 中的 Hive 支持(因为当需要的 Hive 类可用时,Spark 具有 Hive 支持)。

    【讨论】:

    • 谢谢@Jacek Laskowski。同样,我尝试在没有 HiveContext 的情况下重新创建 sqlContext 对象,因为 val sqlContext = new SQLContext(sc) 禁用了配置单元连接属性。谢谢。
    • 那么我想如果你还没有摆弄configs,那么在Spark 2.xspark-shell 已经启用了Hive-support,如上所述here [或者是专门针对HDP?]
    • @y2k-shubham spark-shell 默认启用 Hive 支持,因此诀窍是在启动时在命令行上使用 spark.sql.catalogImplementation
    【解决方案2】:

    您可以通过创建 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 一起使用

    【讨论】:

    • 谢谢@yehor Krivokon。每当我想在 saprk 1.6.0 中禁用或启用 hive 时,都应该需要编辑 hive-site.xml 或 spark-defaults.conf,这在我想更改此 hive 启用时有点困难。这是我暂时尝试提供的服务我的目的是在没有 HiveContext 的情况下重新创建 sqlContext,例如 val sqlContext = new SQLContext(sc)。
    • 在这种情况下,我认为在 SparkSession 所在的地方使用 spark 2.0+ 确实更好
    • @YehorKrivokon 我使用的是 spark-sql-2.3.1 版本,如何获取 hiveContext?
    • @user3252097 自 Spark 2.0.0 以来已弃用 HiveContext,请改用 SparkSession.builder.enableHiveSupport。更多信息:spark.apache.org/docs/2.3.1/api/java/org/apache/spark/sql/hive/…
    • @Yehorkrivokon,谢谢我现在有不同的错误stackoverflow.com/questions/53100404/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-03
    • 1970-01-01
    • 2019-07-09
    • 1970-01-01
    • 1970-01-01
    • 2015-05-28
    • 1970-01-01
    相关资源
    最近更新 更多