hive数据迁移

停机方式(简单)

hive数据迁移:

hive有2种存储方式,存磁盘或者hdfs,2者操作一样,磁盘就scp过去。

hdfs就distcp过去。

bash 复制代码
hadoop distcp -Dmapreduce.job.hdfs-servers.token-renewal.exclude="xx.xx.xx.xx" -i -strategy dynamic -log /hdfs_migration/None/日志路径 -bandwidth 100 -m 100 hdfs://xx.xx.xx.xx:8020/user/hive/warehouse/xx.db/table_name/* hdfs://xx.xx.xx.xx2:8020/user/hive/warehouse/xx.db/table_name/* 

这段代码的意思是

-Dmapreduce.job.hdfs-servers.token-renewal.exclude 设置HDFS服务器的配置,排除指定的IP地址以避免进行令牌续期。

-i: 表示在复制过程中忽略已存在的文件,不覆盖目标目录中的文件。

-strategy dynamic: 使用动态策略,根据输入数据量和集群资源动态调整任务的映射器数量,以优化复制性能。

**-log /hdfs_migration/**指定存放操作日志的路径

-bandwidth 100 -m 100 代表每个map传送的宽带是每秒100mb,-m指的是 启动100个map

hive表迁移:

hive有2种表方式,磁盘和关系型数据库,一般我们都是用mysql,2者操作一样。

磁盘scp,mysql的话将mysql的hive库和表同步过去。

同步方式很多,导出sql,用工具navicat,同步脚本。这里就不写具体方式, 比较简单。

如果原表有分区,那么需要在迁移后的表,迁移数据后,进行分区修复。

进入迁移后的hive后输入

msck repair table xxx

如果迁移失败,导致没有元数据,那么需要重新建表。

先查看原表的结构,在原来的hive里或者beeline中。

show create table xxx

然后通过脚本导出为不带边框的表sql

beeline --showHeader=false --outputformat=dsv -e "show create table 库名.表名" > /xx.sql

然后进入迁移后的表,迁移数据后,进入hive在将这个建表sql建立一下。

相关推荐
Database_Cool_13 小时前
AnalyticDB MySQL vs StarRocks/ByteHouse:云数仓选型指南——全托管 vs 自建方案
数据库·数据仓库·mysql·阿里云
涤生大数据14 小时前
从 ETL 到 Agent:AI数据工程如何搭建企业级“数据工厂“
数据仓库·人工智能·etl
Eileen Seligman15 小时前
0CTF/TCTF 2023 OLAPInfra Nashorn RCE + HDFS UDF RCE
大数据·hadoop·hdfs·ctf·rce
Sonnie0000001(马库斯)15 小时前
【Hadoop之HDFS替换方案】【Haoop远程挂载Cubefs】Cubefs对接Hadoop生态
大数据·hadoop·hdfs
好问者15 小时前
【大数据】:hdfs相关进程启停管理命令
大数据·hadoop·hdfs
段一凡-华北理工大学20 小时前
工业领域的Hadoop架构学习~系列文章18:制造业Hadoop应用实践 - 从数据到智能的完整闭环
大数据·人工智能·hadoop·分布式·学习·架构·高炉炼铁
属鼠哥21 小时前
HDFS 短路本地读取系列(二):你以为的「本地读」和真正的「本地读」—getLegacy vs getBlockReaderLocal 的本质差异
大数据·hadoop
段一凡-华北理工大学1 天前
工业领域的Hadoop架构学习~系列文章17:Hadoop性能调优- 调度集群每一分性能
大数据·人工智能·hadoop·分布式·学习·架构·高炉炼铁
段一凡-华北理工大学2 天前
工业领域的Hadoop架构学习~系列文章15:机器学习与大数据融合 - 工业智能的算法引擎
大数据·人工智能·hadoop·机器学习·架构·工业智能体·高炉炼铁智能化
Database_Cool_2 天前
AnalyticDB MySQL vs Hologres:阿里云内部数仓产品如何选——场景化选型指南
数据库·数据仓库·mysql·阿里云