Abh*_*and 4 hive apache-spark parquet apache-spark-sql
我正在使用 Spark 流将聚合输出作为镶木地板文件写入使用 SaveMode.Append 的 hdfs。我创建了一个外部表,如:
CREATE TABLE if not exists rolluptable
USING org.apache.spark.sql.parquet
OPTIONS (
path "hdfs:////"
);
Run Code Online (Sandbox Code Playgroud)
我的印象是,在外部表的情况下,查询也应该从新添加的镶木地板文件中获取数据。但是,似乎新写入的文件没有被提取。
每次删除并重新创建表都可以正常工作,但不是解决方案。
请建议我的表如何也有来自较新文件的数据。
你在用火花读那些表吗?如果是这样,火花缓存拼花表元数据(因为模式发现可能很昂贵)
为了克服这个问题,您有 2 个选择:
spark.sql.parquet.cacheMetadata为falsesqlContext.refreshTable("my_table")有关更多详细信息,请参见此处:http : //spark.apache.org/docs/latest/sql-programming-guide.html#hive-metastore-parquet-table-conversion
| 归档时间: |
|
| 查看次数: |
5538 次 |
| 最近记录: |