您的位置:首页 > 教育 > 锐评 > 网络技术包括哪些具体内容_制作网站视频教程_友情链接是啥意思_百度手机助手官方正版

网络技术包括哪些具体内容_制作网站视频教程_友情链接是啥意思_百度手机助手官方正版

2025/8/4 14:03:01 来源:https://blog.csdn.net/dudadudadd/article/details/142336407  浏览:    关键词:网络技术包括哪些具体内容_制作网站视频教程_友情链接是啥意思_百度手机助手官方正版
网络技术包括哪些具体内容_制作网站视频教程_友情链接是啥意思_百度手机助手官方正版

在hive中实现表数据覆盖写用的是insert overwrite,但是这个语句在presto中不支持,在presto中你需要在sql前面写上如下的参数

set session hive.insert_existing_partitions_behavior = 'overwrite';

这个配置其他两个参数值如下:

set session hive.insert_existing_partitions_behavior = 'append';
set session hive.insert_existing_partitions_behavior = 'error';

默认是append追加写,error一般情况下用不到

带上这个参数之后,正常写insert into语句就行,已存在的分区中的数据会被覆盖,若分区不存在会新建。

要注意的是,有的人会先delete旧数据,但是这种操作会造成分区结构被删掉但是同时底层文件仍然存在的问题,Presto认为该分区不存在,需要新建分区,但底层文件其实还存在,这样会造成 Unable to rename … 的报错。需要手动去hadoop里删掉底层数据

同时要注意你使用的发行版是那个,博主之前用过李老板家的BOS,那个服务的第三方路径是dgs,因此这个配置被封装成了hivedgs.insert_existing_partitions_behavior

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com