写点什么

hive 数据迁移

  • 2023-06-29
    浙江
  • 本文字数:1007 字

    阅读完需:约 3 分钟

hive数据迁移

数新网络官网已全新上线,欢迎点击访问

www.datacyber.com 数新网络_让每个人享受数据的价值


01 数据迁移场景

  • 不同平台之间的迁移,比如 apache hadoop 到 cdh 数据迁移;

  • 集群数据集体迁移,由于业务发展迅速,当前集群可能有比较大的业务压力,需要把数据整体迁移到更大的集群;

  • 数据的准实时同步,为了保证数据的双备份可用,需要定期的同步数据,保证两个集群的数据周期内基本完全一致。这样做的好处是如果某一天 A 集群宕机了,可以把线上使用的集群直接切到 B 集群而不会造成影响。


02 hadoop 集群间数据命令


hadoop distcphdfs://master1:8020/foo/barhdfs://master2:8020/bar/foo
复制代码


03 什么是 distcp?是如何实现的?


Distcp 是 hadoop 内部自带的一个程序,用于 hdfs 之间的数据拷贝。Distcp 是作为一个 MapReduce 作业来实现的,该复制作业是通过集群中并行运行的 map 来完成。每个文件通过一个 map 进行复制,并且 distcp 试图为每一个 map 分配大致相等的数据来执行,即把文件划分为大致相等的块。默认情况下,每个集群节点最多分配 20 个 map 任务。


04 distcp 常用的参数




05 Distcp 优势特性

  • 带宽限流:Distcp 是支持带宽限流的,使用者可以通过命令参数 bandwidth 来为程序进行限流,原理类似于 HDFS 中数据 Balance 程序的限流。

  • 增量数据同步:对于增量数据同步的需求,在 distcp 中也得到了很好的实现。通过 update,append 和 diff 2 个参数能很好地解决。官方的参数使用说明:Update: Update target, copying only missing files or directories;

    Append: Reuse existing data in target files and append new data to them if possible;

    Diff: Use snapshot diff report to identify the difference between source and target.


  • 高效的性能:执行的分布式特性高效的 MR 组件。


06 hive 数据迁移

1. hive 数据 export 到 hdfs


export table tablename to '/tmp/export/tablename';
复制代码


2. 数据复制


hadoop distcp -D ipc.client.fallback-to-simple-auth-allowed=true-D dfs.checksum.combine.mode=COMPOSITE_CRChdfs://master1:8020/tmp/export/tablenamehdfs://master2:8020/tmp/export/tablename
复制代码

3. 新集群创建表并且导入数据

在源 hive show create table tbName 显示建表语句,用语句在目标 hive 建表,然后导入数据:LODA DATA [LOCAL] INPATH ‘filepath’;


4. 验证数据是否相同

select count(*) from 'tablename'
复制代码


本期分享就到这里,欢迎关注我们了解更多精彩内容~

发布于: 刚刚阅读数: 3
用户头像

云数据智能操作系统领导者 2022-12-05 加入

浙江数新网络有限公司是一家拥抱开源,专注于云数据平台的大数据服务商,致力于结合全球云数仓先进理念,打造适合中国落地路径的云数仓体系。

评论

发布
暂无评论
hive数据迁移_大数据_数新网络官方账号_InfoQ写作社区