四月天03 2021-08-17 10:21 采纳率: 0%
浏览 408

hive的 INSERT OVERWRITE 是先将sql逻辑数据写入临时文件最后Moving data to目标路径,是先清空后写入吗?如果移动一半任务中止,这个表的数据是什么样?

hive的 INSERT OVERWRITE 是先将sql逻辑数据写入临时文件最后Moving data to目标路径,是先清空后写入吗?如果移动一半任务中止,这个表的数据是什么样?

  • 写回答

2条回答 默认 最新

  • 只是甲 2021-08-18 16:19
    关注

    其实无需清空,只需要标注你要写入的hive表所使用的数据块为可覆盖即可。

    如果数据块上已有数据,再insert的时候只能利用其它为写入的块,防止数据被覆盖。
    insert overwrite的时候,就标记这些已经写入的数据块状态为可以被覆盖。

    评论

报告相同问题?

问题事件

  • 修改了问题 8月18日
  • 创建了问题 8月17日