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自带了数据的备份和恢复命令,不止数据,包括表结构也可以一同导出:
这里的path是HDFS的路径,我这里将表导出然后删除之后再恢复:
Export:
export table tab_nm to '/hdfs_path/to/storage';
再看一下这个目录下是什么样子的:
可以看到导出后的目录下,有一个_metadata元数据文件存储hive表的元数据以及一个data目录存储hive表数据。
执行export命令就是将表结构存储在_metadata文件,并且直接将hive数据文件复制到备份目录。
Import:
执行import命令,选择刚才导出的hdfs目录即可,注意这里的新表原来是不存在的,在import的时候会根据_metadata文件里的信息自动建表,方便做hive表的备份恢复或者迁移操作。
import table tab_nm from '/hdfs_path/to/storage';
上一篇: day06Java_面向对象
下一篇: 回归分析python实践