gpt4 book ai didi

apache-spark - 外部表未从 Spark 流写入的 Parquet 文件更新

转载 作者:行者123 更新时间:2023-12-03 22:45:17 25 4
gpt4 key购买 nike

我正在使用 Spark 流将聚合输出作为 Parquet 文件写入使用 SaveMode.Append 的 hdfs。我创建了一个外部表,如:

CREATE TABLE if not exists rolluptable
USING org.apache.spark.sql.parquet
OPTIONS (
path "hdfs:////"
);

我的印象是,在外部表的情况下,查询也应该从新添加的 Parquet 文件中获取数据。但是,似乎新写入的文件没有被提取。

每次删除并重新创建表都可以正常工作,但不是解决方案。

请建议我的表如何也有来自较新文件的数据。

最佳答案

你在用 Spark 读那些表吗?
如果是这样, Spark 缓存拼花表元数据(因为模式发现可能很昂贵)

为了克服这个问题,您有 2 个选择:

  • 设置配置 spark.sql.parquet.cacheMetadatafalse
  • 查询前刷新表:sqlContext.refreshTable("my_table")

  • 详情请看这里: http://spark.apache.org/docs/latest/sql-programming-guide.html#hive-metastore-parquet-table-conversion

    关于apache-spark - 外部表未从 Spark 流写入的 Parquet 文件更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33812993/

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