【问题标题】:Delta Lake 1.1.0 location in spark local mode not work properlySpark 本地模式下的 Delta Lake 1.1.0 位置无法正常工作
【发布时间】:2022-10-15 17:19:51
【问题描述】:

我更新了一些 ETL 以激发 3.2.1 和 delta Lake 1.1.0。这样做之后,我的本地测试开始失败。经过一些调试,我发现当我创建一个具有指定位置的空表时,它在元存储中注册了一些前缀。 假设如果尝试在青铜数据库上创建一个表火花仓库/用户作为我指定的位置:

    spark.sql("""CREATE DATABASE IF NOT EXISTS bronze""")
    spark.sql("""CREATE TABLE bronze.users (
    |  name string,
    |  active boolean
    |)
    |USING delta
    |LOCATION 'spark-warehouse/users'""".stripMargin)

我最终得到:spark-warehouse/bronze.db/spark-warehouse/users在 metastore 上注册,但实际文件在 spark-warehouse/users 中!这会使对表的任何查询都失败。

我生成了一个示例存储库:https://github.com/adrianabreu/delta-1.1.0-table-location-error-example/blob/master/src/test/scala/example/HelloSpec.scala

【问题讨论】:

标签: scala apache-spark delta-lake


【解决方案1】:

它已在 delta github 主题上得到解决。需要给出仓库的完整路径。详情请查看https://github.com/delta-io/delta/issues/1252

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-13
    • 2015-05-13
    • 2021-05-25
    • 2019-10-06
    • 1970-01-01
    • 2021-07-14
    • 1970-01-01
    • 2016-03-04
    相关资源
    最近更新 更多