集群之间hive表数据迁移

前言

这几天在做集群之间的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;

    原文作者:府学路十八吖
    原文地址: https://www.jianshu.com/p/5009d296cf40
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞