apache-spark - 在 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手动删除文件。任何人都可以提供任何指示。
谢谢。
解决方案
推荐阅读
- python - 熊猫。在巨大的df中只留下最频繁的行
- python - Kivy (python) 允许用户为 background_colors 和 texts 选择“color_options”
- java - 为什么我的程序忽略 else 语句
- php - 未在用户提及时创建通知
- javascript - 如何使显示的元素接收滚动事件?
- javascript - processStudents.then 不是函数
- django-views - django在成功登录重定向到主页后显示anonymoususer
- c++ - c++中的结构节点,链表是什么意思
- php - 如何在php中创建一个`Typed`数组?
- python - 基于 Python 中 OHLC 股票数据的体积配置文件确定价值区域