跨集群表数据迁移
1.Spark方式
从老集群写到新集群
spark.table("ods.test").write.mode("overwrite").save("hdfs://192.20.10.10/tmp/tabledata/ods_test")
从新集群生成hive表:
spark.read.parquet("hdfs://192.20.10.10/tmp/tabledata/ods_test/").write.mode("overwrite").saveAsTable("ods.test")
如果是分区表的话使用partitionBy("")来定义
2.Hive MapReduce方式
(这种是针对hive表)
hive导出表:
hive -e "export table ods.ods_test to 'hdfs://192.168.20.35/tmp/hivetransfer/ods_test';"
hive导入表:
hive -e "import table ods.ods_test to 'hdfs://192.168.20.35/tmp/hivetransfer/ods_test';"
3.hdfs文件拷贝
hadoop distcp -m 1000 hdfs://cdh192-57:8020/user/hive/warehouse/ods.db/ods_test/* hdfs://192.168.20.35:8020/user/hive/warehouse/ods.db/ods_test/
本文来自博客园,作者:硅谷工具人,转载请注明原文链接:https://www.cnblogs.com/30go/p/17085205.html