gpt4 book ai didi

apache-spark - Spark 2 : how does it work when SparkSession enableHiveSupport() is invoked

转载 作者:行者123 更新时间:2023-12-03 15:58:21 31 4
gpt4 key购买 nike

我的问题很简单,但是以某种方式我无法通过阅读文档找到明确的答案。

我在 CDH 5.10 集群上运行了 Spark2
还有Hive和Metastore。

我在Spark程序中创建一个 session ,如下所示:

SparkSession spark = SparkSession.builder().appName("MyApp").enableHiveSupport().getOrCreate()

假设我有以下HiveQL查询:
spark.sql("SELECT someColumn FROM someTable")

我想知道是否:

将该查询翻译为
  • ,翻译为Hive MapReduce原语或
  • 对HiveQL的支持仅在语法级别上,Spark SQL将在后台使用。

  • 我正在做一些性能评估,我不知道是否应该声明用 spark.sql([hiveQL query])执行的查询的时间性能引用Spark或Hive。

    最佳答案

    Spark知道两个目录,hive和内存。如果设置enableHiveSupport(),则spark.sql.catalogImplementation设置为hive,否则设置为in-memory。因此,如果启用配置单元支持,spark.catalog.listTables().show()将为您显示配置单元元存储中的所有表。

    但这并不意味着将hive用于查询*,仅意味着spark与hive-metastore通信,执行引擎始终是spark。

    *实际上有一些功能,例如percentilepercentile_approx,它们是 native 配置单元UDAF。

    关于apache-spark - Spark 2 : how does it work when SparkSession enableHiveSupport() is invoked,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52169175/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com