文章摘要
Hive是一个依赖Hadoop集群的数据处理平台,支持多种数据导出方式,包括插入操作、Hadoop命令、Hive shell命令、export命令、导出到HDFS以及Truncate删除表中的数据。导出操作用于将数据多次使用,尤其适用于Hive仓库管理。文章详细介绍了六种导出方法:
1. **插入操作**:支持加local和不加local,前者将数据写入本地路径,后者将数据写入集群。
2. **Hadoop命令**:使用Hadoop命令如`hadoop dfs -get`将数据导出到本地或HDFS。
3. **Hive shell命令**:通过`Hive shell`命令导出数据,支持覆盖或追加导出。
4. **export命令**:将数据导出到HDFS,适用于表或目录结构。
5. **导出到HDFS**:使用`export`命令将数据写入HDFS。
6. **Truncate操作**:用于删除表中的数据,但无法删除外部表数据,可通过转为内部表解决。
文章还提到将Hive数据导出到Windows系统的MySQL中进行可视化操作。Truncate命令只能删除管理表的数据,但可以将外部表转为内部表。文章末尾提到六大帮派统治着数码武林,提升文章趣味性。
总结:文章介绍了Hive数据导出的核心方法和注意事项,帮助用户更好地理解Hive数据管理与导出操作。
目录一、数据导出是什么?二、六大帮派1.insert2.Hadoop命令导出到本地3.Hive shell命令导出4.export导出到HDFS上5.Sqoop导出6.清除表中的数据(Truncate)——删库跑路总结
hive是一个依赖Hadoop集群的数据处理平台,我们不仅需要对数据进行筛选处理,更需要进行导出,供我们多次重复使用。
insert有两种形式,加local上传到本地路径,不加local上传到集群
代码如下(示例):
insert加local
insert overwrite local directory ‘/root/export/data/student’ select * from student;
insert不加local(并将数据格式化)
insert overwrite directory ‘/student’ row format delimited fields terminated by ‘,’ select * from student;


代码如下(示例):
hadoop dfs -get /user/hive/warehouse/hive.db/student/student.txt /root/export/data/student/
一个 > 是覆盖,两个>是追加
代码如下(示例):
bin/hive -e ‘select * from hive.student’ >> /root/export/data/student/student.txt
当该hdfs路径下有文件时或表存在,都不可导,与import连用。
代码如下(示例):
export table hive.student to ‘/user/hive/warehouse/hive.db/student’;
将数据导出到window系统的mysql,并进行可视化操作
Truncate只能删除管理表,不能删除外部表的数据(但可以将外部表转为内部表哦,嘿嘿嘿)只是删除内部表的hdfs数据,元数据还在
内部转为外部表
alter table student set tblproperties(‘EXTERNAL’=’TRUE’)一定大写
截断表
Truncate table student;
六大派别与五大帮派共同统治着数码武林,侠义精神深入人心,hive语句妇孺皆知。街头小巷上谈论着他们的英雄事迹,再一次掀起了学习hive秘籍的狂潮。或许现在人们学习的已经不再是傍身之计,更多的是对天下武功,为快不灭的热爱。有人的地方就会就有江湖,大数据时代亦是如此。
到此这篇关于Hive数据导出详解的文章就介绍到这了,更多相关Hive数据导出内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:python导出hive数据表的schema实例代码Hive数据去重的两种方式?(distinct和group?by)hive数据仓库新增字段方法Java API如何实现向Hive批量导入数据解决sqoop import 导入到hive后数据量变多的问题hive中将string数据转为bigint的操作