gpt4 book ai didi

apache-spark - Spark and Hive in Hadoop 3 : Difference between metastore. catalog.default and spark.sql.catalogImplementation

转载 作者:行者123 更新时间:2023-12-03 17:01:38 24 4
gpt4 key购买 nike

我正在使用 Hadoop 3 处理 Hadoop 集群 (HDP)。还安装了 Spark 和 Hive。

由于 Spark 和 Hive 目录是分开的,因此有时会有些困惑,要知道如何以及在 Spark 应用程序中保存数据的位置。

我知道,该属性(property)spark.sql.catalogImplementation可以设置为 in-memory (使用基于 Spark session 的目录)或 hive (使用 Hive 目录进行持久元数据存储 -> 但元数据仍然与 Hive DB 和表分开)。

我想知道什么属性metastore.catalog.default做。当我将其设置为 hive 时我可以看到我的 Hive 表,但由于这些表存储在 /warehouse/tablespace/managed/hive 中HDFS 中的目录,我的用户无权访问此目录(因为 hive 是所有者)。

那么,我为什么要设置 metastore.catalog.default = hive ,如果我无法从 Spark 访问表?和 Hortonwork 的 Hive Warehouse Connector 有关系吗?

感谢您的帮助。

最佳答案

目录实现
有两个目录实现:

  • in-memory创建仅在 Spark session 中可用的内存表,
  • hive使用外部 Hive Metastore 创建持久表。

  • 更多详情 here .
    Metastore 目录
    在同一个 Hive Metastore 中可以共存多个目录。
    例如从 3.1.0 到 3.1.4 的 HDP 版本使用不同的目录来保存 Spark 表和 Hive 表。
    您可能想使用 metastore.catalog.default=hive使用 Spark API 读取 Hive 外部表。运行 Spark 应用程序的用户必须可以访问 HDFS 中的表位置。
    HDP 3.1.4 文档
    您可以在以下链接中根据 Hive 表类型、读/写功能和安全要求获取有关访问模式的信息:
  • Apache Hive 3 tables
  • Hive Warehouse Connector for accessing Apache Spark data
  • Using the Hive Warehouse Connector with Spark
  • 关于apache-spark - Spark and Hive in Hadoop 3 : Difference between metastore. catalog.default and spark.sql.catalogImplementation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59894454/

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