hive学习笔记——Hive表中数据的导入和导出
时间:2022-05-04
本文章向大家介绍hive学习笔记——Hive表中数据的导入和导出,主要内容包括一、将数据导入Hive表、2、从HDFS上导入数据到Hive表中、3、从别的表中查询出相应的数据导入到Hive表中、4、在创建Hive表时通过从别的表中查询并插入的方式将数据导入到Hive表中、二、从Hive表中将数据导出、2、导出到HDFS、3、导出到Hive的另一张表中、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
在创建数据表的过程中,Hive表创建完成后,需要将一些数据导入到Hive表中,或是将Hive表中的数据导出。
一、将数据导入Hive表
Hive表的数据导入主要有三种方式:
- 从本地文件系统中导入数据到Hive表中
- 从HDFS上导入数据到Hive表中
- 从别的表中查询出相应的数据导入到Hive表中
- 在创建Hive表时通过从别的表中查询并插入的方式将数据导入到Hive表中
1、从本地文件系统中导入数据到Hive表中
格式:
LOAD DATA LOCAL INPATH "path" [OVERWRITE] INTO TABLE tablename;
假设此时有一个文本文件存储在本地,地址为:“/home/training/zzy_scripts/studentno_data.txt”,需要将这个本地文件导入到Hive表studentno中。
查询数据库中的文件
已经将制定的文件导入到Hive表中。
2、从HDFS上导入数据到Hive表中
从HDFS导入数据的格式与从本地导入数据的格式差不多,其格式为:
LOAD DATA INPATH "path" OVERWRITE INTO TABLE tablename;
所不同的是少一个LOCAL。
3、从别的表中查询出相应的数据导入到Hive表中
从别的表中查询出相应的数据导入到Hive表中的格式为:
INSERT OVERWRITE TABLE tablename_1 PATITION() SELECT ... FROM tablename_2 WHERE ...
其中,PATITION指的是指定分区,WHERE是查询的条件,如下面的例子:
Hive表将查询的工作转换成MapReduce程序执行,执行完成后返回成功的标志。我们查询表studentnotmp:
4、在创建Hive表时通过从别的表中查询并插入的方式将数据导入到Hive表中
格式(CTAS):
CREATE TABLE IF NOT EXISTS tablename1...AS SELECT ...
如下面的例子:
注意:Hive表studentnotmp1不能指定列。
二、从Hive表中将数据导出
对于Hive表中的数据,有时需要将其导出,或是导出到本地,或是导出到HDFS,再其次便是将其导入到另一张Hive表中。
1、导出到本地文件系统
格式:
INSERT OVERWRITE LOCAL DIRECTORY ... SELECT * FROM ...;
例如:
2、导出到HDFS
格式:
INSERT OVERWRITE DIRECTORY ... SELECT * FROM ...;
3、导出到Hive的另一张表中
与从别的表中查询出相应的结果插入到表中类似,其格式为:
INSERT INTO ...
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Git库迁移步骤(从服务器A迁移至服务器B)
- springboot源码解析(四)
- 第2天:网易2018年校园招聘NLP算法工程师笔试试卷分析(二)
- Windows下Scoop安装、配置与使用
- Flutter免费iOS真机调试 AndroidStudio iPhone真机运行教程
- Flutter GridView 网格控件
- Flutter ListView 下拉刷新,上拉加载更多
- Flutter问题:import 'package:english_words/english_words.dart'失败
- 第17天:NLP实战(一)——爬取语料及其简单分析
- 搞懂 Redis 缓存穿透、击穿、雪崩
- win10_opencv4.2_cuda11_vs2019 编译
- (Demo分享)利用JavaScript(JS)做一个可输入分钟的倒计时钟功能
- Flutter ListView 列表控件
- 第18天:NLP实战(二)——用DNN实现手势识别
- 「0821更新」Flutter入门系列教程汇总