【问题标题】:Where is table data stored in Spark?Spark中的表数据存储在哪里?
【发布时间】:2019-07-31 11:39:02
【问题描述】:

您好,我想了解 SparkSQL 将表元数据存储在 Spark 中的什么位置?如果默认不在 Hive 元存储中,那么它存储在哪里?

【问题讨论】:

    标签: apache-spark apache-spark-sql apache-spark-2.0


    【解决方案1】:

    这里是 spark-2.2.0 文档的解释

    hive-site.xml未配置时,上下文自动在当前目录创建metastore_db,并创建spark.sql.warehouse.dir配置的目录,默认为当前目录下的spark-warehouse目录Spark 应用程序已启动。请注意,自 Spark 2.0.0 以来,hive-site.xml 中的 hive.metastore.warehouse.dir 属性已被弃用。而是使用spark.sql.warehouse.dir 指定仓库中数据库的默认位置。

    这里是链接: https://spark.apache.org/docs/latest/sql-data-sources-hive-tables.html

    【讨论】:

    • 我说的是表元数据而不是表数据
    • 是的,元数据或元存储是一样的。就像 hive 使用的 derby db。我在回答中添加了官方文档的链接。
    • 另外,metastore_db 似乎是 derby 格式的,因为 spark 会生成 derby.log 文件。你可以查看这个帖子:ibm.com/support/knowledgecenter/en/SS3H8V_1.1.0/…
    • 如果某些内容存储在 Spark 中的“默认”数据库下,它不会显示在与“spark.sql.warehouse.dir”定义的路径相同的路径中。我们在哪里可以找到这些?
    猜你喜欢
    • 2019-03-16
    • 1970-01-01
    • 2020-06-04
    • 1970-01-01
    • 1970-01-01
    • 2011-12-02
    • 2015-11-17
    • 2012-04-11
    • 2011-12-14
    相关资源
    最近更新 更多