Hive常用操作之数据导入导出
一、Hive数据导入导出
1、hive数据导出
很多时候,我们在hive中执行select语句,希望将最终的结果保存到本地文件或者保存到hdfs系统中或者保存到一个新的表中,hive提供了方便的关键词,来实现上面所述的功能。
1.将select的结果放到一个新表中(首先要用create table创建新的表格)
insert overwrite table table_name2 select id,name from table_name2;
将从表table_name2中查询的数据插入到表table_name1中
2.将select的结果放到本地文件系统中
insert overwrite local '/tmp/reg_3' row formatted delimited fields terminated by '\t' select * from table table_name;
在hive环境下,将从表“table_name”中查询到的数据放在本地目录“/tmp/reg_3”下
3.将select的结果放到hdfs文件系统中
insert overwrite directory '/tmp/hdfs_out' select a.* from table_name where a.ds='<date>';
将从表table_name中查询到的数据放在HDFS的'/tmp/hdfs_out'目录下
4.通过Hadoop命令将表中的数据导入到本地文件目录下
hadoop fs -get '/hive/t1' /root/data/
将表目录hive下的表t1中的数据导入到本地目录/root/data/下
5.Shell命令加管道(hive -f/e | sed/grep/awk >file)
hive -e "select * from table_name" grep key_word
筛选出table_name表中所有含有key_word字符的数据。
2、hive数据导入
1、load data [local] inpath '/data/userdata' [overwrite] into table user;
将本地数据插入到表user中,插入的数据存放在本地的'/data/userdata'下
2、创建表的时候直接指定路径
create external table user(id int,name string) row format delimited fields terminated by '44' lines terminated by '12' stored as textfile localtion '/data/userdata';
将'/data/userdata'下的数据导入到新创建的外部表user中
3、创建表之后也可以导入数据到表中
(1)本机路径
load data local inpath '/data/data.txt' overwrite into table table_name partition(pt='time');
(2)Hadoop路径
load data inpath '/hadoop/data.txt' overwrite into table table_name partition(pt='time');
上面overwrite关键字会全表覆盖,如果只是想附加数据,将OVERWRITE去掉即可,添加一个分区到表可以利用语句:
alter table table_name add partition(pt='partition_name') location '/hive/pt=partition_name';
还可以直接从从其它的表拖数据过来
insert overwrite table table_name select * from table_name1;
Hive常用操作之数据导入导出的更多相关文章
- Hive(四)【DML 数据导入导出】
目录 一.数据导入 1.1 [load]--向数据中装载数据 案例 1.2 [insert]--查询语句向表中插入数据 案例 1.3 [as select]--查询语句中创建表且加载数据 案例 1.4 ...
- 从零自学Hadoop(16):Hive数据导入导出,集群数据迁移上
阅读目录 序 导入文件到Hive 将其他表的查询结果导入表 动态分区插入 将SQL语句的值插入到表中 模拟数据文件下载 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并 ...
- 利用sqoop将hive数据导入导出数据到mysql
一.导入导出数据库常用命令语句 1)列出mysql数据库中的所有数据库命令 # sqoop list-databases --connect jdbc:mysql://localhost:3306 ...
- Hive 实战(1)--hive数据导入/导出基础
前沿: Hive也采用类SQL的语法, 但其作为数据仓库, 与面向OLTP的传统关系型数据库(Mysql/Oracle)有着天然的差别. 它用于离线的数据计算分析, 而不追求高并发/低延时的应用场景. ...
- Winform开发框架之通用数据导入导出操作的事务性操作完善
1.通用数据导入导出操作模块回顾 在我的Winfrom开发框架里面,有一个通用的导入模块,它在默默处理这把规范的Excel数据导入到不同的对象表里面,一直用它来快速完成数据导入的工作.很早在随笔< ...
- Oracle 数据导入导出操作 (转)
Oracle数据导入导出imp/exp 功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份. 大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢 ...
- 数据仓库Hive数据导入导出
Hive库数据导入导出 1.新建表data hive (ebank)> create table data(id int,name string) > ROW FORMAT DELIMIT ...
- 如何利用sqoop将hive数据导入导出数据到mysql
运行环境 centos 5.6 hadoop hive sqoop是让hadoop技术支持的clouder公司开发的一个在关系数据库和hdfs,hive之间数据导入导出的一个工具. 上海尚学堂 ...
- 2.11 Hive中数据导入导出Import和Export使用
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+ImportExport 一.Export.Import Export ...
随机推荐
- CSS3实战开发 表单发光特效实战开发
首先,我们先准备好html代码: <!doctype html> <html> <head> <meta charset="utf-8"& ...
- JavaScript 中的面向对象的初步认识
我在学习JS的面向对象编程的时候,总是有两个奇怪的问题. 第一个就是:面向对象在JS中很少用到... 可能是目前自己做的项目还是比较简单,前端方面的任务我几乎都是用面向过程的方式写的,所以就导致,我啃 ...
- 第三章SignalR在线聊天例子
第三章SignalR在线聊天例子 本教程展示了如何使用SignalR2.0构建一个基于浏览器的聊天室程序.你将把SignalR库添加到一个空的Asp.Net Web应用程序中,创建用于发送消息到客户端 ...
- 关于vs启动调试报错:CS0016: 未能写入输出文件“xxxxxxxx”--“目录名称无效。”解决方法
很多人都会遇到这个错误,网友说一般这错误都是由于权限引起,我尝试按照博客写的方法,解决失败!http://www.cnblogs.com/finesite/archive/2011/01/28/194 ...
- OCP准备记录
0628: 051 OK053 1-192! 加油了,每天至少100道吧明天复习一下626,627,628这几天的成果先看一遍对的,再看一遍错的!!最少要把051复习一遍 0629: 今天忙了太久 只 ...
- TSQL 根据经纬度计算两点间的距离;返回米(m)
-- ============================================= -- Author:Forrest -- Create date: 2013-07-16 -- Des ...
- applicationContext.xml 配置文件的存放位置
eb.xml中classpath:和classpath*: 有什么区别? classpath:只会到你的class路径中查找找文件; classpath*:不仅包含class路径,还包括jar文件中 ...
- split 函数自己实现
要求自己实现split函数 def mySplit(str,delimiter): result = [] start = 0 pos = str.find(delimiter, start) whi ...
- C++虚函数在内存中的实现
首先来一张图,一目了然: 然后把相应的代码贴上来: class A { int a; public: virtual void f(); virtual void g(int); virtual vo ...
- java后台开发- NOTE
2015-1-6: IDEA servlet-api.jar idea从14升级到15后,发现 import javax.servlet.AsyncContext; 找不到,右击工程,open mod ...