presto操作hive数据的时候如何覆盖写数据

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

sql 复制代码
set session hive.insert_existing_partitions_behavior = 'overwrite';

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

sql 复制代码
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

相关推荐
lifewange10 小时前
Hive 数据库 增删改 完整操作指南
数据库·hive·hadoop
WL_Aurora14 小时前
Sqoop数据迁移工具从入门到精通
hive·hadoop·sqoop
蜀道山老天师14 小时前
Prometheus监控Hadoop集群(实操完整版,含避坑指南)
大数据·linux·运维·hadoop·云原生·prometheus
zgdlsz1 天前
羲之文化传承人王杰宝:沉厚笔墨间的守正出新
大数据·数据库·数据仓库·涛思数据
莽撞的大地瓜1 天前
舆情分析智能体:蜜度新浪舆情通以多Agent协同驱动全流程智能升级
大数据·数据仓库·数据分析
极光代码工作室2 天前
基于大数据的交通流量分析系统
大数据·hadoop·python·数据分析·数据可视化
卷毛迷你猪2 天前
快速实验篇(A1)干旱气象数据上传至HDFS
大数据·hadoop·hdfs
头歌实践平台2 天前
Hadoop开发环境搭建
java·大数据·hadoop
小的~~2 天前
CentOS7安装CDH6.3.2
hive·hdfs·kafka
KANGBboy2 天前
hadoop冷热数据分离
大数据·hadoop·分布式