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

相关推荐
大鳥21 小时前
数据仓库知识体系
hive·hadoop
计算机毕业编程指导师1 天前
大数据可视化毕设:Hadoop+Spark交通分析系统从零到上线 毕业设计 选题推荐 毕设选题 数据分析 机器学习 数据挖掘
大数据·hadoop·python·计算机·spark·毕业设计·城市交通
计算机毕业编程指导师1 天前
【计算机毕设选题】基于Spark的车辆排放分析:2026年热门大数据项目 毕业设计 选题推荐 毕设选题 数据分析 机器学习 数据挖掘
大数据·hadoop·python·计算机·spark·毕业设计·车辆排放
talle20211 天前
Hive | 行列转换
数据仓库·hive·hadoop
Gain_chance1 天前
27-学习笔记尚硅谷数仓搭建-数据仓库DWD层介绍及其事务表(行为)相关概念
大数据·数据仓库·笔记·学习
talle20211 天前
Hive | json数据处理
hive·hadoop·json
CTO Plus技术服务中1 天前
Hive开发与运维教程
数据仓库·hive·hadoop
Gain_chance1 天前
28-学习笔记尚硅谷数仓搭建-DWD层交易域加购事务事实表建表语句及详细分析
数据仓库·hive·笔记·学习·datagrip
小邓睡不饱耶1 天前
Hive 实战:数据仓库建模、SQL 进阶与企业级案例
数据仓库·hive·sql
ha_lydms1 天前
Hadoop 架构
大数据·hadoop·hdfs·架构·mapreduce·yarn·数据处理