hive的 INSERT OVERWRITE 是先将sql逻辑数据写入临时文件最后Moving data to目标路径,是先清空后写入吗?如果移动一半任务中止,这个表的数据是什么样?
hive的 INSERT OVERWRITE 是先将sql逻辑数据写入临时文件最后Moving data to目标路径,是先清空后写入吗?如果移动一半任务中止,这个表的数据是什么样?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
只是甲 2021-08-18 16:19关注其实无需清空,只需要标注你要写入的hive表所使用的数据块为可覆盖即可。
如果数据块上已有数据,再insert的时候只能利用其它为写入的块,防止数据被覆盖。
insert overwrite的时候,就标记这些已经写入的数据块状态为可以被覆盖。解决 无用评论 打赏 举报