HIVE数据的导入与导出详解
程序员文章站
2022-05-09 10:56:14
...
1.导入
load data [local] inpath '' [overwrite] into database.table [partition(partcol=val)]
原始文件在linux本地 加上local 如果原始数据文件在hdfs 不用local
如果是覆盖数据加上overwrite 如果是追加 不要overwrite
如果是分区表加上partition,不是就不用了。
2.创建表通过insert 加载
create table db_hive.dept_copy like dept;
insert into table db_hive.dept_copy
select * from dept ;
3.创建表时通过location指定文件路径
2.导出
1.通过insert [overwrite] [local] directory
导出数据到本地文件 会自动创建目录啦 注意这里的目录是一个文件夹
insert overwrite local directory '/opt/datas/hive_exp_dept'
select * from db_hive.dept;
查看导出的数据
发现数据不太好看
格式化一下
insert overwrite local directory '/opt/datas/hive_exp_dept'
row format delimited fields terminated by '\t'
collection items terminated by '\n'
select * from db_hive.dept;
再次查看
导出数据到hdfs 当然就是不要local啦
insert overwrite directory '/user/hive/warehouse/db_hive.db/dept_exp_hdfs'
select * from db_hive.dept;
50070页面查看
查看
将文件拿到本地
bin/hdfs dfs -get /user/hive/warehouse/db_hive.db/dept_exp_hdfs/0* /root/hive_datas/
2.重定向
将查询结果重定向到一个文件 这里是一个文件 上面有数据而不是文件夹
bin/hive -e "select * from db_hive.emp;" > /opt/datas/emp_exp_dept ;
3.hive的import和export
官方文档:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+ImportExport
import 导入数据到hive表中
IMPORT [[EXTERNAL] TABLE new_or_original_tablename [PARTITION (part_column="value"[, ...])]]
FROM 'source_path'
[LOCATION 'import_target_path']
export (注意这个target_path是hdfs的路径)
EXPORT TABLE tablename [PARTITION (part_column="value"[, ...])]
TO 'export_target_path' [ FOR replication('eventid') ]
上一篇: VisualFreeBASIC基础——单选和复选框的使用
下一篇: day7Java-this关键字
推荐阅读
-
Android Studio3.6.3 当前最新版本数据库查找与导出方法(图文详解)
-
【C#常用方法】2.DataTable(或DataSet)与Excel文件之间的导出与导入(使用NPOI)
-
PHP+MySQL实现海量数据导入导出的总结:is_numbric函数的坑
-
sql2005 数据库转为sql2000数据库的方法(数据导出导入)
-
SQL2005CLR函数扩展-数据导出的实现详解
-
详解MySQL导出指定表中的数据的实例
-
Python之csv文件从MySQL数据库导入导出的方法
-
Hive中导入Amazon S3中的分区表数据的操作
-
对sklearn的使用之数据集的拆分与训练详解(python3.6)
-
Android之采用execSQL与rawQuery方法完成数据的添删改查操作详解