跨集群表数据迁移
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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步