hive跨集群迁移数据

1.源端查看要传递的表建表语句

源端hive shell执行

show create table tablename
2.目标端建表

目标端hive shell执行

根据第一步中建表语句建表即可

3.distcp

源端shell执行

hadoop distcp -D ipc.client.fallback-to-simple-auth-allowed=true -i -skipcrccheck -update hdfs://nn012018:9000/hive/warehouse/king_test.db/king_test_table webhdfs://目标端ip:9870/user/hive/warehouse/king_test.db/king_test_table1
4.目标端加载数据

目标端hive shell执行

# hive>  load data inpath 'user/hive/warehouse/king_test.db/king_test_table1' into table king_test_table1;

有以下几种方法可以从一个Hive集群迁移数据到另外一个集群: 1. 使用Hadoop命令行工具将数据从一个HDFS集群复制到另一个HDFS集群。首先,您需要在集群中使用Hadoop命令行工具将数据从HDFS中导出到本地文件系统。然后,将数据上传到目标集群中的HDFS。最后,在目标集群上使用Hive命令行工具将数据加载到目标集群Hive中。 2. 使用Sqoop数据从一个RDBMS中导出并加载到另一个RDBMS中。Sqoop是一个用于在Hadoop和关系数据库之间传输数据的开工具。您可以使用Sqoop数据RDBMS中导出为CSV文件,然后将文件上传到目标集群中,并将数据加载到目标RDBMS中。 3. 使用Hive的复制表功能将数据集群中的Hive复制到目标集群中的Hive。在集群中,您可以使用Hive的CREATE TABLE语句创建一个新表,并使用INSERT INTO语句将数据从旧表中复制到新表中。然后,在目标集群上使用Hive的CREATE TABLE语句创建一个新表,该表与集群中的新表具有相同的结构。最后,在目标集群上使用INSERT INTO语句从集群中的新表中复制数据到目标集群中的新表中。 4. 使用Hive的导出功能将数据集群中的Hive导出为CSV文件,然后将文件上传到目标集群中,并使用Hive的导入功能将数据加载到目标集群中的Hive中。在集群中,您可以使用Hive的INSERT OVERWRITE语句将数据导出为CSV文件。然后,将文件上传到目标集群中,并使用Hive的LOAD DATA语句将数据加载到目标集群中的Hive中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值