Hive数据迁移
2015-12-08 23:18
651 查看
基于全表导出和全表导入。流程为Source Hive -> Source HDFS Cluster -> Destination HDFS Cluster -> Destination Hive
1. 创建导出临时目录
这里定为hdfs://tmp/hive-export/<database name>
假设这里导出的数据库名为cdp_data
2. 生成导出数据脚本
3. 执行导出数据脚本
4. 数据导出完成
1 创建导入临时目录
这里定为hdfs://tmp/hive-import/<database name>
2. 从Source端复制导出到HDFS的数据
这里用DistCp,该步只能在Destination端进行。并且需要用hftp连接Source端的hdfs文件系统。这是为了避免因Cluster版本不同产生的问题。
3. 生成导入数据脚本
4. 执行导入数据脚本
简介
基于全表导出和全表导入。流程为Source Hive -> Source HDFS Cluster -> Destination HDFS Cluster -> Destination Hive
(Source端)群集操作
1. 创建导出临时目录
这里定为hdfs://tmp/hive-export/<database name>
假设这里导出的数据库名为cdp_data
$ sudo -u hdfs dfs -mkdir -p /tmp/hive-export/cdp_data
2. 生成导出数据脚本
$ sudo -u hdfs hive -e "use cdp_data; show tables;" | \awk '{printf "export table %s to @/tmp/hive-export/cdp_data%s@;\n",$1,$1}' | \sed "s/@/'/g" > export.hql
3. 执行导出数据脚本
$ sudo -u hdfs hive -e "use cdp_data; source export.hql"
4. 数据导出完成
(Destination端)群集操作
1 创建导入临时目录
这里定为hdfs://tmp/hive-import/<database name>
$ sudo -u hdfs dfs -mkdir -p /tmp/hive-import/cdp_data
2. 从Source端复制导出到HDFS的数据
这里用DistCp,该步只能在Destination端进行。并且需要用hftp连接Source端的hdfs文件系统。这是为了避免因Cluster版本不同产生的问题。
$ sudo -u hdfs hadoop distcp hftp://<source host>:50070/tmp/hive-export/cdp_data \hdfs://<destination host>:8020/tmp/hive-import/cdp_data
3. 生成导入数据脚本
$ sudo -u hdfs hdfs dfs -ls /tmp/hive-import/cdp_data/ | \awk '{print $8}' | awk -F '/' '{print $5}' | grep -v "^$" > table.list $ cat table.list | \awk '{printf "import table %s from @/tmp/hive-import/cdp_data/%s@;\n",$1,$1}' | \sed "s/@/'/g" > import.hql
4. 执行导入数据脚本
$ sudo -u hdfs hive -e "use cdp_data; source import.hql"
相关文章推荐
- MySQL 5.7 新特性解读
- 几种获取request,session方法
- win7 32位 上重装 64位
- 浅谈sql中的in与not in,exists与not exists的区别
- 互联网科普-什么是淘宝
- 我们学不会的C语言的最大敌人是谁?
- shell练习题之for循环——读取/var目录
- leetcode -- Climbing Stairs -- 简单重要
- spring-session源码解读-1
- jquery根据label文本查找label元素
- javaSE(27)(观察者设计模式)
- Android从源码解析三:View绘制流程
- struts2处理结果类型
- java面向对象-继承
- 建造者模式
- 【消息框】的4种显示形式
- 【html】【3】html标签列表
- MariaDB Galera Cluster 部署
- spark streaming初体验
- 【操作系统】 银行家算法-banker's algorithm