hadoop hive集群_Hadoop集群数据搬迁流程--hive篇

喜欢的同学记得点赞关注呀~~

准备工作

在进行集群数据迁移之前,首先梳理出需要迁移的hdfs路径,文件数及文件大小。确保目标集群存储空间及文件数不超限额。

可参考以下信息:

源集群 namenode1:50070

hiveserver1

源集群路径 /data/warehouse/buiness.db

目的集群 namenode2

hiveserver2

目的集群 /data/warehouse/input/

1.全量数据拷贝

通过distcp指令,对跨集群文件传输。

注意,红色字体需要结合自身总带宽修改。

nohup hadoop distcp -Dmapreduce.job.queuename=root.default -Dipc.client.fallback-to-simple-auth-allowed=true -m 30 -bandwidth 25 -p webhdfs://namenode1:50070/data/warehouse/buiness.db hdfs://namenode2:8020/data/warehouse/input>/tmp/distcp_CSDETL_BAK.log 2>&1 &

2.验证文件一致性

通过count文件数量验证迁移数据是否正确,确保迁移过程无数据丢失情况。

源集群:

hdfs hdfs dfs -count /data/warehouse/business.db/

目的集群:

hdfs hdfs dfs -count /data/warehouse/

3.建表

通过连接源集群beeline方式连接到hive;

beeline
!connect jdbc:hive2://hiveserver:10000

查询建表语句

show create table 'table_name';

通过建表语句,查看是否是分区表

d5b0a06f2b617cb039fe70a258a31511.png

登录目标集群beeline连接到hive,使用源表语句建表。(因集群、目录等可能发生改变,需要修改location等信息)

4.创建分区表

以上步骤以及完成了数据拷贝以及新集群中表的创建工作,但是分区表还需要单独创建分区,并指定location

alter table table_name add if not exists partition (`record_date`='20200820') location '/data/warehouse/bussiness.db/table_name/record_date=20200820/';

5.再次进行增量拷贝

6.最后再进行一次数据对比即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值