首页 > 解决方案 > 在 HDP 3.1 中插入覆盖操作后,Hive 外部表保留旧数据文件

问题描述

我正在 Hive (HDP 3.1) 中执行插入覆盖操作。问题在于它不断添加基本文件和增量文件,其中基本文件包含新插入的数据,而增量包含覆盖操作之前的旧数据。

在 Hive 上查询只为我提供了新添加的数据,但是当涉及到 spark 时 - 它倾向于从位于 HDFS 位置的 delta 和基本文件中输出旧数据和新数据。

我需要找到以下解决方案 -

1)有什么方法不允许 Hive 在使用插入覆盖操作时首先存储增量文件 - (任何设置?)

2) 为什么 spark 获取旧数据?它是否总是在内部引用表格位置?我怎样才能阻止它读取增量文件?

注意:我们的管理员已将 Hive Warehouse 连接器配置为从 Hive 中的任何数据库读取,如 HDP 文档中所述。而且我不想在将数据读入 spark 之前使用hadoop fs -rm -r file手动删除文件。任何人都可以提供任何指示。

谢谢。

标签: apache-sparkhivehdp

解决方案


推荐阅读