文档章节

hive数据迁移,cdh3u5的hive中数据迁移到cdh5.1的hive中

月下独酌100
 月下独酌100
发布于 2014/10/29 15:38
字数 422
阅读 56
收藏 0
点赞 0
评论 0

hive数据迁移,cdh3u5的hive中数据迁移到cdh5.1的hive中,由于distcp不能使用,需要手动导出数据

on hadoop4

cd /tmp/test/people_payment_log

hadoop fs -get /data/warehouse/userdb.db/people_payment/hour=201309* .

hadoop fs -get /data/warehouse/userdb.db/people_payment/hour=201310* .

hadoop fs -get /data/warehouse/userdb.db/people_payment/hour=201311* .

hadoop fs -get /data/warehouse/userdb.db/people_payment/hour=201312* .

hadoop fs -get /data/warehouse/userdb.db/people_payment/hour=201401* .

hadoop fs -get /data/warehouse/userdb.db/people_payment/hour=201402* .

hadoop fs -get /data/warehouse/userdb.db/people_payment/hour=201403* .


cd /tmp/test

tar -czf people_payment_log.tgz people_payment_log


压缩,copy到hdp7,/home/abc/cdh/people_payment,解压缩

on hdp7,scp -Cr hadoop4:/tmp/test/people_payment_log.tgz /home/abc/cdh/people_payment

cd /home/abc/cdh/people_payment;tar -xzf people_payment_log.tgz

将数据上传到cdh5集群的people_payment表中,shell内容如下:

base_dir=/home/abc/cdh/people_payment

data_dir=$base_dir/people_payment_log

ls $data_dir >$base_dir/hour.txt

cd $data_dir

 cat $base_dir/hour.txt |while read oneHour

do

    echo $oneHour

hadoop fs -put $oneHour /user/hive/warehouse/userdb.db/people_payment/

done


然后需要让hive metastore知道这些分区的存在,生成分区alert语句。

base_dir=/home/abc/cdh/people_payment

cd $base_dir 

echo "use userdb;">$base_dir/alert.txt

cat $base_dir/hour.txt |while read oneHour

do

    realy_hour=`echo $oneHour|awk -F '=' '{print $2}'`

echo "ALTER TABLE people_payment ADD PARTITION (hour = '$realy_hour');">>$base_dir/alert.txt 

done


alert.txt的内容类似

use userdb;

ALTER TABLE people_payment ADD PARTITION (hour = '2013090100');

ALTER TABLE people_payment ADD PARTITION (hour = '2013090101');


然后调用hive -f alert.txt集中进行alert partition。


直接有文件存在的话,可以用下面的方式导入hive

脚本内容如下:

base_dir=/home/abc/cdh/people_payment

data_dir=/data/login/data_login_raw

hive_db=userdb

table=user_login


 ls $data_dir/a.bc.d.201408*|awk -F '.' '{print $5}'>$base_dir/hour.txt

 cat $base_dir/hour.txt |while read oneHour

do

    echo $oneHour

    sql="use $hive_db;LOAD DATA LOCAL INPATH '$data_dir/a.bc.d.$oneHour'  OVERWRITE INTO table $table partition ( hour=$oneHour);"

    echo "===================================================$sql"

    /home/abc/cdh/hive/bin/hive -e "$sql"

done


最好是生成一个批量的LOAD DATA LOCAL INPATH。..语句

然后hive -f调用,避免了多次启动hive client.


© 著作权归作者所有

共有 人打赏支持
月下独酌100
粉丝 25
博文 220
码字总数 56475
作品 0
浦东
高级程序员
大数据迁移(简单案例)(41 )

大数据迁移: 所谓的大数据迁移就是把某个节点上的数据(或者几个节点上的数据)分别拷贝到不同数据节点上的过程. 就像我在的公司就是这样做的,在CDHhadoop的版本中,一个命令就能完成上面的大数...

肖鋭
2014/05/11
0
1
hadoop2.7集群迁移namenode

我的hadoop集群是2.7.0的集群。 hadoop是机器不相关的,迁移namenode的话,可以按以下步骤迁移。 1、关闭所有hadoop集群、zookeeper、hive、hbase集群,设置hosts和ssh互信,调整服务器时间 ...

灵宝
2015/09/14
56
0
Apache Hive 走向内存计算,性能提升26倍

Apache Hive 2.1已于几个月前发布,它引入了内存计算,这使得Hive计算性能得到极大提升,这将会影响SQL On Hadoop目前的竞争局面。据测试,其性能提高约26倍。 Apache Hive 2.1新引入了6大性...

王练
2016/11/01
5.4K
17
SQL、NewSQL和NoSQL融合研究与实践

本文根据DBAplus社群第111期线上分享整理而成。 近几年,各类大数据技术迅猛发展,企业中数据处理量呈现几十到几百倍增长,数据类型也从传统结构化数据,延伸到实时流数据,以及各类非结构化...

朱祥磊
2017/07/06
0
0
Apache Hive走向内存计算,性能提升26倍{转}

Apache Hive 2.1已于几个月前发布,它引入了内存计算,这使得Hive计算性能得到极大提升,这将会影响SQL On Hadoop目前的竞争局面。据测试,其性能提高约26倍。 Apache Hive 2.1新引入了6大性...

强子哥哥
2016/10/31
313
0
Hive 入门介绍

1 Hive是什么 Hive是构建在Hadoop之上的数据仓库平台; Hive是一个SQL解析引擎,它将SQL语句转译成MapReduce任务,并在Hadoop上执行; Hive表是HDFS的一个文件目录,一个表名对应一个目录名,...

林中漫步
2016/07/13
41
0
使用java 如何将oracle 的数据迁移到Hive 上?

如题:使用java 如何将oracle 的数据迁移到Hive 上? 自己准备 先用jdbc 将oracle 的数据先导出成文本, 根据hive 规则创建表 在jdbc 上执行hive load data 语句进行导入。 想请问大神,这种...

D大调协奏曲
2016/12/01
390
1
旧集群的hive表结构和数据迁移到新的hadoop集群

如题, 迁移过程是不是只要把mysql数据导入新库中,然后通过distcp把hdfs上数据拷贝到新环境上就可以了? 第一次接触hive迁移,不懂方法,希望大家给点意见,谢谢

zroc7
2015/08/06
177
0
sqoop实战(五)

1 Importing Data Directly into Hive 关系型数据库-----hive sqoop import --connect jdbc:mysql://192.168.130.221/sqoop --username root --password root --table tblplace --hive-impor......

发光体
2016/02/26
118
0
Hive Hbase区别 整理

Hive是为了简化编写MapReduce程序而生的,使用MapReduce做过数据分析的人都知道,很多分析程序除业务逻辑不同外,程序流程基本一样。在这种情况下,就需要Hive这样的用戶编程接口。Hive本身不...

李超
2015/04/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

about git flow

  昨天元芳做了git分支管理规范的分享,为了拓展大家关于git分支的认知,这里我特意再分享这两个关于git flow的链接,大家可以看一下。 Git 工作流程 Git分支管理策略   git flow本质上是...

qwfys
今天
1
0
Linux系统日志文件

/var/log/messages linux系统总日志 /etc/logrotate.conf 日志切割配置文件 参考https://my.oschina.net/u/2000675/blog/908189 dmesg命令 dmesg’命令显示linux内核的环形缓冲区信息,我们可...

chencheng-linux
今天
0
0
MacOS下给树莓派安装Raspbian系统

下载镜像 前往 树莓派官网 下载镜像。 点击 最新版Raspbian 下载最新版镜像。 下载后请,通过 访达 双击解压,或通过 unzip 命令解压。 检查下载的文件 ls -lh -rw-r--r-- 1 dingdayu s...

dingdayu
今天
0
0
spring boot使用通用mapper(tk.mapper) ,id自增和回显等问题

最近项目使用到tk.mapper设置id自增,数据库是mysql。在使用通用mapper主键生成过程中有一些问题,在总结一下。 1、UUID生成方式-字符串主键 在主键上增加注解 @Id @GeneratedValue...

北岩
今天
2
0
告警系统邮件引擎、运行告警系统

告警系统邮件引擎 cd mail vim mail.py #!/usr/bin/env python#-*- coding: UTF-8 -*-import os,sysreload(sys)sys.setdefaultencoding('utf8')import getoptimport smtplibfr......

Zhouliang6
今天
0
0
Java工具类—随机数

Java中常用的生成随机数有Math.random()方法及java.util.Random类.但他们生成的随机数都是伪随机的. Math.radom()方法 在jdk1.8的Math类中可以看到,Math.random()方法实际上就是调用Random类...

PrivateO2
今天
1
0
关于java内存模型、并发编程的好文

Java并发编程:volatile关键字解析    volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在...

DannyCoder
昨天
0
0
dubbo @Reference retries 重试次数 一个坑

在代码一中设置 成retries=0,也就是调用超时不用重试,结果DEBUG的时候总是重试,不是0吗,0就不用重试啊。为什么还是调用了多次呢? 结果在网上看到 这篇文章才明白 https://www.cnblogs....

奋斗的小牛
昨天
2
0
数据结构与算法3

要抓紧喽~~~~~~~放羊的孩纸回来喽 LowArray类和LowArrayApp类 程序将一个普通的Java数组封装在LowArray类中。类中的数组隐藏了起来,它是私有的,所以只有类自己的方法才能访问他。 LowArray...

沉迷于编程的小菜菜
昨天
0
0
spring boot应用测试框架介绍

一、spring boot应用测试存在的问题 官方提供的测试框架spring-boot-test-starter,虽然提供了很多功能(junit、spring test、assertj、hamcrest、mockito、jsonassert、jsonpath),但是在数...

yangjianzhou
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部