当前位置: 首页 > news >正文

hive:数据导入,数据导出,加载数据到Hive,复制表结构

hive不建议用insert,因为Hive是建立在Hadoop之上的数据仓库工具,主要用于批处理和大数据分析,而不是为OLTP(在线事务处理)操作设计的。INSERT操作会非常慢

数据导入

命令行界面:建一个文件

查询数据>>复制>>粘贴到新建的文件中

 加载数据到Hive(方法一)

查看数据是否插入成功

通过DataGrip

通过Hue查看是否插入成功

加载数据到Hive

set hive .exec.mode.local.auto = true ;开启本地模式, exec 是 "execution"(执行)
向多张表中插入数据的语法

示例

 

只是把原表的数据映射到目标表

示例

方法二示例

加载结束后再查询原文件所在的目录,文件已不存在,HDFS 加载走的是move移动文件

但是如果是从本地加载,走的是COPY,即保留原文件

方法二示例

(通过第三方工具访问Hive来执行本地加载文件可能会出现问题)

在命令行输入Hive启动Hive CLI,即Hive的命令行界面("Command Line Interface")

方法三示例

很慢, 因为相当于走的是insert

方法四示例

只是映射了原表的数据,没有创建新表, 即通过新表名和原表都可以查到相同的数据

注意事项

粘贴数据内容时,末尾不要有空行,否则数据表会出现空行,因为Hive默认行和行之间是换行,只要出现换行就会新起一行,只不过没有匹配到数据,所以是NULL

加载2次,可以上传成功,但是HDFS会把文件自动改名

使用overwrite,相当于先清空当前目录下的文件,在把文件上传

复制表结构

不同

使用like复制原表的表结构给目标表, 连分隔符也和原表一致,使用select语句则是先创建新表再插入数据,分隔符是默认的,不一定和原表一致.如果想要表结构一致且需要数据,使用数据导入的方法四

数据导出

示例

导出的文件系统自动起名

注意:只能在终端使用这个命令

命令解释: 

>>也常被称为追加

参数 e 代表 "expression",即要执行的HiveQL语句

示例

使用 -e参数命令执行完就到了linux,其他的命令执行完还在Hive

http://www.lryc.cn/news/528806.html

相关文章:

  • 【某大厂一面】HashSet底层怎么实现的
  • 动手学图神经网络(3):利用图神经网络进行节点分类 从理论到实践
  • 免杀国内主流杀软的恶意样本分析
  • 第4章 基于中点电流的NPC逆变器中点电压平衡策略
  • 消息队列篇--通信协议篇--应用层协议和传输层协议理解
  • FLTK - FLTK1.4.1 - demo - animgifimage
  • 目前市场主流的AI PC对于大模型本地部署的支持情况分析-Deepseek
  • 1.2 基于深度学习的底层视觉技术
  • HTML 标题
  • SOME/IP--协议英文原文讲解3
  • Microsoft Visual Studio 2022 主题修改(补充)
  • UE(UltraEdit) 配置简易C/C++编译运行环境
  • 使用 MSYS2 qemu 尝鲜Arm64架构国产Linux系统
  • python Flask-Redis 连接远程redis
  • 在Windows系统中本地部署属于自己的大语言模型(Ollama + open-webui + deepseek-r1)
  • Haproxy入门学习二
  • Git图形化工具【lazygit】
  • node 爬虫开发内存处理 zp_stoken 作为案例分析
  • 基于Langchain-Chatchat + ChatGLM 本地部署知识库
  • 【C语言】main函数解析
  • 【QT】- QUdpSocket
  • 性能测试丨分布式性能监控系统 SkyWalking
  • SQL GROUP BY 详解
  • C语言中string.h头文件功能介绍
  • 从规则到神经网络:机器翻译技术的演进与未来展望
  • 园区管理智能化创新引领企业效能提升与风险控制新趋势
  • Python爬虫之——Cookie存储器
  • 第21节课:前端构建工具—自动化与模块化的利器
  • 企业SaaS(软件即服务)行业中AARRR
  • 为什么要学习rust