前言
这几天在做集群之间的hive表数据迁移,方法比较笨,但是亲测有效,能够实现预期目标。
操作流程
1、在本地集群建立临时文件夹currentData
mkdir currentData
2、将hive表中的数据保存到临时文件夹下currentData
hdfs dfs -get /user/hive/warehouse/test_db.db/test_data/* /test/currentData
注意:两个地址之间有空格;第一个地址后面的星号表示选取该路径下的所有内容
3、通过xftp将currentData下的文件保存到本地:复制整个文件夹到本地
4、在新的集群中建立数据库:tar_test_db
hcat -e "create database tar_test_db"
5、进入hive,在数据库中建立hive表:test_table;
CREATE EXTERNAL TABLE test_table(
user_id STRING,
name STRING,
gender STRING,
performance STRING,
age STRING,
speciality STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '|';
6、load 数据
load data local inpath '/home/hadoop/test_data' overwrite into table test_table;
7、查看表结构和表内容
use test_db;
show tables;
desc test_table;
slelct * from test_table limit 5;
select count(*) from test_table;