Hive SQL-DML-insert插入数据

Hive SQL-DML-insert插入数据


在这里插入图片描述
在这里插入图片描述


1. 插入静态数据

在这里插入图片描述
可以直接插入具体的值到Hive表中:

INSERT INTO TABLE tablename (column1, column2, column3)
VALUES (value1, value2, value3),
       (value4, value5, value6),
       ...;

2. 插入查询结果

在这里插入图片描述

将一条查询的结果直接插入到另一个表中。这是一种很常见的操作,用于数据转移和转换:

INSERT INTO TABLE tablename
SELECT column1, column2, column3
FROM othertable
WHERE condition;

3. 多重插入和静态分区插入

在这里插入图片描述

对于分区表,可以在插入时指定分区。这不仅可以提高查询效率,而且还能更好地管理数据:

-- 插入到指定分区
INSERT INTO TABLE tablename PARTITION (partition_column='partition_value')
SELECT column1, column2, column3
FROM othertable
WHERE condition;

在这里插入图片描述

-- 插入不同分区的数据
FROM from_table
INSERT INTO TABLE tablename PARTITION (partition1)
SELECT column1, column2 WHERE condition1
INSERT INTO TABLE tablename PARTITION (partition2)
SELECT column1, column2 WHERE condition2;

4. 动态分区插入

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Hive还支持在执行INSERT操作时动态创建分区。这需要设置一些配置参数,如启用动态分区:
在这里插入图片描述

SET hive.exec.dynamic.partition=true;
SET hive.exec.dynamic.partition.mode=nonstrict;

INSERT INTO TABLE tablename PARTITION (partition_column)
SELECT column1, column2, partition_column
FROM othertable;

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

5.导出数据

导出数据是从 Hive 中提取数据的过程,通常用于将数据转移到本地文件系统、HDFS 或其他数据存储中。

INSERT OVERWRITE 用于将查询结果或表数据写入到特定的输出位置。可以将数据导出到 HDFS 或本地文件系统。这个方法支持多种文件格式,如 Text、Parquet、ORC 等。

  • 导出到 HDFS:

    INSERT OVERWRITE DIRECTORY '/path/to/hdfs/directory'
    SELECT * FROM my_table;
    
  • 导出到本地文件系统:

    INSERT OVERWRITE LOCAL DIRECTORY '/path/to/local/directory'
    SELECT * FROM my_table;
    

在这两个示例中,数据将被导出到指定的 HDFS 或本地路径。默认情况下,数据以文本格式输出,但可以通过 STORED AS 选项指定不同的文件格式。

在这里插入图片描述
在这里插入图片描述
示例:
在这里插入图片描述
在这里插入图片描述

6.注意事项

  • Hive中的INSERT操作本质上是对文件的写操作。特别是在HDFS中,这意味着每次INSERT都会生成新文件。这可能会影响性能,特别是在大量小批量插入时。
  • 建议在执行大批量数据插入前调优Hive配置和考虑合适的文件格式和压缩机制。
  • 在执行大数据量的插入时,需要注意Hive服务器和Hadoop集群的资源配置,以避免过载。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

软件工程基础知识,软考选择题的重点

本篇知识来自:软件设计师考试同步辅导 ---考点。。。。。,钟彩华 博伟玉 清华出版社,那本书。仅供学习。以下理解都是本人自己认为的。仅供参考。 本书的第132页,第五章知识。 目录 软件工程叙述 软件的生命周期 软件过程 软…

android studio配置Http Proxy

1、问题描述: Error:Unable to tunnel through proxy. Proxy returns “HTTP/1.1 400 Bad Request” 解决:HTTP Proxy设置 1.File→Settings…→System Settings → HTTP Proxy → Auto-detect proxy settings”; 2.勾选下方“Automatic prox…

Codigger:Vim的革新者,提升开发体验和功能性

深知Vim在编程和文本编辑领域的卓越地位,因此,在设计和开发过程中,Codigger始终将保留Vim的核心功能和高度定制能力作为首要任务。然而,Vim的复杂性和高度定制性也让很多新用户望而却步。为了降低这种使用门槛,Codigge…

常用Linux命令详细总结

一、文档编辑、过滤、查看命令 1、cp 复制文件和目录 -a 复制文件并保持文件属性 -d 若源文件为链接文件,则复制链接文件属性而非文件本身 -i 覆盖文件前提示,如果不要提示,在命令前加上\ -r 递归复制,通常用于目录的复制 …

【bug记录】清除僵尸进程,释放GPU显存

目录 1. 为什么会出现这种情况?2. 解决方案方法一:使用 fuser 命令方法二: 3. 小贴士 在进行深度学习或其他需要GPU支持的任务时,我们有时会发现虽然没有可见的进程在执行,但GPU资源却意外地被占用。这种情况往往会阻碍…

揭秘LLMOps,高效开发大型语言模型

大家好,随着人工智能(AI)的蓬勃发展,一个新兴领域语言模型运维(LLMOps)正逐渐成为关注的焦点。LLMOps专注于对大型语言模型(LLMs),例如OpenAI的GPT系列,进行全…

ESP32重要库示例详解(一):EEPROM之Preferences库

1. 了解EEPROM 在嵌入式系统开发中,断电后晚能存储少量数据是常见需求。EEPROM(Electrically Erasable Programmable Read-Only Memory)是一种非易失性存储器,即使断电数据也不会丢失。ESP32的EEPROM模拟功能利用闪存空间&#x…

信创应用软件之办公流版签

信创应用软件之办公流版签 文章目录 信创应用软件之办公流版签概述流式文件版式文件电子签章厂商金山办公永中-永中Office中标-中标普华Office福昕科技e签宝法大大 概述 办公流版签软件主要包括办公中常用到的流式软件、版式软件以及电子签章。 版式文件和流式文件都是文书类…

时间范围交集查询

业务场景: 数据库中时开始时间与结束时间,筛选数据条件将这两个字段(开始时间、结束时间)糅合成一个字段,并且是范围筛选。 数据库字段: 筛选条件: 数据分析 全部包含(子集&#…

WorkPlus im(即时通讯)集成平台助力政企数字化转型升级

随着互联网技术的不断发展,企业内部通讯软件已经成为企业日常运营中不可或缺的一部分。企业IM(即时通讯)和移动门户作为企业内部通讯软件的关键组成部分,为企业提供更加高效、便捷的通讯方式,提高了企业的运营效率。 针…

共绘财富管理新蓝图,ATFX赞助出席拉美峰会,引领家族资本新航向

全球新兴市场中,拉丁美洲以其非凡活力与潜力格外引人注目,成为全球资本竞相追逐的价值洼地。ATFX自2019年开设墨西哥办事处以来,持续深耕拉美市场已成为头部品牌。自4月行业资深人士Ergin Erdemir掌舵拉美业务后,掀起市场营销新浪…

队列的实现以及队列如何实现栈

一、队列的定义 队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出 FIFO(First In First Out) 入队列:进行插入操作的一端称为 队尾 出队列:进行删除操作的一端称为 队头 …

选型前必看,西门子五大系列PLC的区别及特点

西门子是全球知名的自动化解决方案提供商,其PLC(可编程逻辑控制器)系列产品广泛应用于工业控制领域。不同系列的PLC在功能、性能和适用范围上有所区别。本文将详细介绍西门子PLC各个系列的特点和区别,以及在实践应用时如何采用无线…

用vsCode开发uni-app(vue + ts)项目流程

提示:记录项目创建流程 文章目录 前言一、安装 uni-app 插件二、ts 类型校验1.安装类型声明文件2.配置 tsconfig,json三、json 注释问题四、组件引入1. 安装 uni-app2. 组件自动引入3. 配置 ts 类型五、小程序端 Pinia 持久化六、uni.request 请求封装七、请求成功提取数据和设…

内容付费小程序功能源码系统 带完整的安装代码包以及搭建部署教程

随着互联网技术的不断进步,内容创作和传播方式发生了翻天覆地的变化。用户对于高质量、有价值的内容需求日益增长,而内容创作者也希望通过自己的专业知识、经验分享等方式获取经济回报。然而,传统的内容分发方式存在诸多局限性,如…

使用map类型的参数在mapper.xml中使用案例

使用map类型的参数在mapper.xml中使用案例 简介:在常见的开发中,对于参数的装载一般使用map类型方式,这样可以避免创建很多参数实体类,不管嵌套多层的数据参数都可以通过map拿取,对于嵌套多层的map,我们需…

事件代理 浅谈

事件代理是一种将事件处理委托给父元素或祖先元素来管理的技术。当子元素触发特定事件时,该事件不会直接在子元素上进行处理,而是会冒泡到父元素或祖先元素,并在那里进行处理。这样做的好处是可以减少事件处理函数的数量,提高性能…

Centos 7.9 安装 tigervnc-server

环境:当前使用的 Centos 7.9 的光盘作为的本地源。 1 检查是否已安装 tigervnc [rootlocalhost /]# rpm -q tigervnc tigervnc-server 未安装软件包 tigervnc tigervnc-server-1.8.0-21.el7.x86_64 如果安装过卸掉 卸载: rpm -e [rootlocalhost /]# rpm -e tige…

Springboot 集成 Consul 实现服务注册中心-05

因为后续很多模块都要用到注册中心,所以此处先实现此模块。 Consul简介 Consul是一个开源的服务发现和配置管理工具,具有跨平台、运行高效等特点。它由HashiCorp公司开发,并使用Go语言编写。Consul主要用于实现分布式系统中的服务发现、健康…

代码随想录Day 41|Leetcode|Python|198.打家劫舍 ● 213.打家劫舍II ● 337.打家劫舍III

198.打家劫舍 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个…