insert overwrite table:数据仓库和数据分析中的常用技术

news2024/11/16 10:28:40

一、介绍:

INSERT OVERWRITE TABLE 是用于覆盖(即替换)目标表中的数据的操作。它将新的数据写入表中,并删除原有的数据。这个操作适用于非分区表和分区表。

二、使用场景:

1、数据更新:当您需要更新表中的数据时,可以使用覆写操作。通过覆写,您可以将新的数据写入表中,替换原有的数据。这在需要定期更新或替换表中数据的情况下非常有用。
2、数据重载:如果您需要重新加载表中的数据,覆写操作可以清空表并将新的数据加载进去。这在数据仓库或数据分析任务中很常见,当需要重新加载或替换表中的数据时,覆写操作是一个快速有效的方法。
3、数据清理:当需要删除表中的数据时,可以使用覆写操作。通过将一个空表覆写到目标表中,可以清空表中的数据并释放存储空间。
注:insert overwrite table 是一个具有破坏性操作的语句,因为它会完全覆盖表中的数据。在使用之前,请确保您理解该操作的影响,并备份重要的数据以防止意外数据丢失。

三、普通表应用:

1、准备工作
create table db_1.tb_student(
    id  int,
    name string,
    city    string
)
row format delimited fields terminated by ',';
insert into db_1.tb_student values
(1,'张三','beijing') ,                                 
(2, '李四', 'beijing'),
(3, '王五', 'beijing'),
(4, '妲己', 'shanghai'),
(5, '哪吒', 'shanghai'),
(6, '雷震子', 'shanghai'),
(7, '悟空', 'guangzhou'),
(8, '八戒', 'guangzhou'),
(9, '沙和尚', 'guangzhou');
create table db_1.tb_student_2(
    id  int,
    name string,
    city    string
)
row format delimited fields terminated by ',';
drop table if exists tb_student_3_part;
create table db_1.tb_student_3_part(
    id  int,
    name string
)
partitioned by (city    string)
row format delimited fields terminated by ',';
2、插入数据
insert into db_1.tb_student_2
select * from tb_student;
select * from db_1.tb_student_2; 

在这里插入图片描述

3、按条件覆写
insert overwrite table db_1.tb_student_2
select * from tb_student
where id>=6
;

在这里插入图片描述

四、分区表应用

1、全部插入
set hive.exec.dynamic.partition.mode=nonstrict;
insert into db_1.tb_student_3_part partition(city)
select * from tb_student
;
select * from tb_student_3_part;

在这里插入图片描述

2、部分插入
insert overwrite table db_1.tb_student_3_part partition(city)
select * from tb_student where id between 6 and 8
;
select * from tb_student_3_part;

在这里插入图片描述

五、总结

1、对于分区表,insert overwrite table 操作会覆盖指定分区的数据,而不会影响其他分区的数据。只有指定的分区会被更新或替换。这样可以实现更精细和高效的数据管理。
2、而对于普通表(即非分区表),insert overwrite table 操作将完全覆盖表中的所有数据,不考虑任何分区。所有的数据将被删除,并被新插入的数据替换。
3、因此,分区表和普通表在 insert overwrite table 操作上的区别在于操作的粒度。分区表仅覆盖指定分区的数据,而普通表覆盖整个表的数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1125693.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软考系列(系统架构师)- 2021年系统架构师软考案例分析考点

试题一 软件架构(架构风格、质量属性) 【问题1】(9分) 在架构评估过程中,质量属性效用树(utility tree)是对系统质量属性进行识别和优先级排序的重要工具。 请将合适的质量属性名称填入图1-1中(1)、(2)空白处&#xf…

教您2个方法,轻松学会如何克隆硬盘或分区!

为什么需要克隆硬盘或分区? 在现在,学会如何克隆硬盘或分区是很重要的,因为这项技能本身是很简单的,并且也能够为我们带来足够多的好处与便利。 备份恢复:通过克隆硬盘驱动器或分区,您可以创建…

企业文件加密软件!哪个好用?

天锐绿盾是一款专业的企业文件加密软件,提供了多种功能来保护企业文件的安全。它的主要功能包括文件加密、文件外发控制、打印内容监控、内网行为管理、外网安全管理、文件管理控制、邮件白名单管理和U盘认证管理等功能。 PC访问地址: https://isite.ba…

节奏达人疯狂猜歌双端流量主小程序开发

节奏达人疯狂猜歌双端流量主小程序开发 流量主小程序千千万,可以长期运营且留存高的,猜歌小程序必有一席之地。 好运营:依靠社交属性,可以快速短时间裂变。依靠短视频可以快速吸引玩家。 活跃度高,粘性高&#xff0…

0基础学习PyFlink——使用PyFlink的SQL进行字数统计

在《0基础学习PyFlink——Map和Reduce函数处理单词统计》和《0基础学习PyFlink——模拟Hadoop流程》这两篇文章中,我们使用了Python基础函数实现了字(符)统计的功能。这篇我们将切入PyFlink,使用这个框架实现字数统计功能。 PyFl…

深入解析i++和++i的区别及性能影响

在我们编写代码时,经常需要对变量进行自增操作。这种情况下,我们通常会用到两种常见的操作符:i和i。最近在阅读博客时,我偶然看到了有关i和i性能的讨论。之前我一直在使用它们,但从未从性能的角度考虑过,这…

微信小程序——后台交互

目录 后台准备 pom.xml 配置数据源 整合mtbatis 前后端交互 method1 method2 后台准备 pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org…

第二章 16位微处理器

考点1&#xff1a;功能结构类型、寄存器结构的类型 8088/86寄存器的总结 有8个8位、8个16位通用寄存器 有6个状态标志和3个控制标志 将1MB存储空间分段管理,有4个段寄存器【CPU中】&#xff0c;对应程序中4种逻辑段【段首地址】 默认【DS】的情况允许改变,需要使用段超越前…

nginx安装详细步骤和使用说明

下载地址&#xff1a; https://download.csdn.net/download/jinhuding/88463932 详细说明和使用参考&#xff1a; 地址&#xff1a;http://www.gxcode.top/code 一 nginx安装步骤&#xff1a; 1.nginx安装与运行 官网 http://nginx.org/1.1安装gcc环境 # yum install gcc-c…

k8s-----9、pod 影响调度的因素

资源限制和节点选择器 1、pod资源限制2、节点选择器&#xff08;pod属性&#xff09;3、 节点亲和性(nodeAffinity)&#xff08;pod属性&#xff09;3.1 硬和软亲和性3.2 反亲和性 4、污点&#xff08;taint&#xff09;和污点容忍&#xff08;节点属性&#xff09;4.1 定义4.2…

Janus: Data-Centric MoE 通讯成本分析(2)

文章链接&#xff1a;Janus: A Unified Distributed Training Framework for Sparse Mixture-of-Experts Models 发表会议: ACM SIGCOMM 2023 (计算机网络顶会) 系统学习&#xff1a;Janus: 逆向思维&#xff0c;以数据为中心的MoE训练范式&#xff08;1&#xff09; 目录 前…

【Javascrpt】比较,逻辑运算符

目录 比较运算符 逻辑运算符 &&(与&#xff09; ||&#xff08;或&#xff09; 两真&#xff08;||左侧为真&#xff0c;||右侧为真&#xff09; 两假&#xff08;||左侧为假&#xff0c;右侧为假&#xff09; 一真一假&#xff08;||一侧为假&#xff0c;另一侧为…

接口自动化必学的20个难点,学完至少涨5k

难点1&#xff1a;接口文档的不完整性 当我开始设计接口自动化测试用例时&#xff0c;我发现接口文档非常不完整。有些必要的字段没有说明&#xff0c;有些接口没有文档&#xff0c;这给我带来了很大的困难。 解决方案&#xff1a;与开发人员进行沟通&#xff0c;尽可能补充接口…

【Java集合类面试十】、HashMap中的循环链表是如何产生的?

文章底部有个人公众号&#xff1a;热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享&#xff1f; 踩过的坑没必要让别人在再踩&#xff0c;自己复盘也能加深记忆。利己利人、所谓双赢。 面试官&#xff1a;HashMap中的循环链表是如…

单片机矩阵键盘

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、什么是矩阵键盘&#xff1f;1.独立键盘2.矩阵键盘变化1变化2变化3 3. 通过变型&#xff0c;举一反三&#xff0c;就可以实现4*4的矩阵键盘扫描 二、使用步骤…

一文教你学会使用Cron表达式定时备份MySQL数据库

各位小伙伴大家好&#xff0c;今天我就来讲述一下作为一个运维&#xff0c;如何解放自己的双手去让服务器定时备份数据库数据&#xff0c;防止程序操作数据库出现数据丢失。 mysql_dump_script.sh脚本文件 #!/bin/bash#保存备份个数&#xff0c;备份7天数据 number7 #备份保存…

使用Kali进行实验---主机发现

主机发现 【实训目的】 掌握主机扫描的工作原理&#xff0c;学会使用ping等扫描工具&#xff0c;发现网络当中活跃的主机。 【场景描述】 在虚拟机环境下配置4个虚拟系统“Win XP1” “Win XP2” “Kali Linux”和“Metasploitable2”&#xff0c;使得4个系统之间能够相互通…

数据结构与算法第一课

文章目录 数据结构什么是数据结构数据结构相关单位 物理结构与逻辑结构物理结构逻辑结构 算法一个案例认识算法的重要性时间复杂度与空间复杂度时间复杂度事前计算时间复杂度与事后判断时间复杂度函数的渐进式变化常见函数的时间复杂度最坏时间与平均时间 空间复杂度 先看下目录…

使用vite搭建前端项目

1、在vscode 终端那里执行创建前端工程项目&#xff0c;其中shop-admin为项目名称&#xff1a; npm init vite-app shop-admin 提示如需安装其他依赖执行npm install ....,否则忽略(第三步再讲)。 2、执行npm run dev 命令直接运行创建好的项目&#xff0c;在浏览器打开链接…

变量的引用

1、变量 和 数据 都是保存在 内存 中的 2、在 Python 中 函数的参数传递以及返回值都是靠引用传递的 引用的概念 在 Python 中变量 和 数据 是分开存储的&#xff1b;数据 保存在内存中的一个位置&#xff1b;变量 中保存着数据在内存中的地址&#xff1b;变量 中 记录数据的…