欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

hive的数据导入导出,备份恢复

程序员文章站 2022-05-09 10:56:14
...

加载HDFS文件数据到表:

LOAD DATA INPATH "hdfs_source_path" OVERWRITE INTO TABLE tbl_nm;

加载本地文件数据到表:

LOAD DATA LOACL INPATH "loacl_source_path" OVERWRITE INTO TABLE tbl_nm;

将数据导出至本地路径下:

insert overwrite local directory '/localpath/to/stoage/' select * from tbl_nm;

将数据导出至本地路径下,可以指定存储格式与分隔符等:

insert overwrite local directory '/localpath/to/stoage/' row format delimited fields terminated by ','  select * from tbl_nm;

Export和Import:

hive自带了数据的备份和恢复命令,不止数据,包括表结构也可以一同导出:

 

hive的数据导入导出,备份恢复

这里的path是HDFS的路径,我这里将表导出然后删除之后再恢复:

Export:

export table tab_nm to '/hdfs_path/to/storage';

hive的数据导入导出,备份恢复

再看一下这个目录下是什么样子的:

hive的数据导入导出,备份恢复

可以看到导出后的目录下,有一个_metadata元数据文件存储hive表的元数据以及一个data目录存储hive表数据。

执行export命令就是将表结构存储在_metadata文件,并且直接将hive数据文件复制到备份目录。

Import:

执行import命令,选择刚才导出的hdfs目录即可,注意这里的新表原来是不存在的,在import的时候会根据_metadata文件里的信息自动建表,方便做hive表的备份恢复或者迁移操作。

import table tab_nm from '/hdfs_path/to/storage';

hive的数据导入导出,备份恢复