hadoop - Hive 插入覆盖所有分区
问题描述
假设,昨天我加载了 partition_dates 的数据:01-01、02-01 到 10-01 当我今天加载数据时,我看到 partition_dates 为:01-01、03-01 到 11-01,这意味着 02-01 分区是无法使用。但是 hive 不会覆盖或删除这个 02-01 分区。
如何动态实现此功能?
解决方案
截断表然后加载动态分区。
TRUNCATE [TABLE] table_name [PARTITION partition_spec];
省略 partition_spec 将截断表中的所有分区。
应该管理表。如果它是外部的,请在截断之前对其进行管理:
ALTER TABLE mytable SET TBLPROPERTIES('EXTERNAL'='FALSE');
推荐阅读
- python - TypeError 输出似乎倒退
- google-apps-script - Google 表格 - 用于将表格导出为仅包含值和格式的 xls 的按钮 - 不是公式
- rust - 如何从更高级别的特征绑定特征返回关联类型?
- r - 如何在不使用移位功能的情况下引用数据表(R)中的上一行?
- android - 如何在反应原生 TVEventHandler 中检测保持和快进事件
- python - 无法将numpy数组重塑为向量
- javascript - Javascript: Css-Selectors: (Bug or Feature?) Class-Name "starts-with" 只选择元素,当类在类列表中的第一个位置时
- c++ - Visual Studio 2019 C++ dll Excel VBA 插件问题
- android - 如何处理单击 RecyclerView 行中的某些项目?
- c++ - 我在 graphics.h 中遇到错误。我该如何修复它?