码迷,mamicode.com
首页 > 其他好文 > 详细

抓取数据同步备份hive

时间:2016-07-21 21:54:18      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:

1:创建表

CREATE external TABLE `tbl_spider`(
`url` string,
`html` string
) partitioned by (
`site` string,
`dt` string
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY \t
LINES TERMINATED BY \n
LOCATION hdfs://aaa-offline/hive/warehouse/tbl_spider‘;

 

external 的作用,在drop表时,保留数据文件。


2:构建测试数据

在/home/cphmvp下vim文件 aaas.com  内容如下 两列以\t分割

http://www.aaaa.com/1.html    test

构建初始导入

load data local inpath /home/cphmvp/aaaa.com overwrite into table tbl_spider partition (site =aaaa.com,dt=20160720);

 

3: 查询
select * from tbl_spider where site=‘aaaa.com‘;

数据上传备份方案
1: load方式
2:put方式
2.1 判断文件夹是否存在 ,不存在 手动创建
2.2 put上传文件 ,-f(覆盖)(检查是否成功 $?)
2.3 hive加载识别partion

=====================

demo:
1:测试上传
hadoop fs -put aaaa.com hdfs://aaaa-offline/hive/warehouse/tbl_spider/site=aaaa.com/dt=20160719/
2:判断状态 echo $? 不等于0的话失败 ,尝试创建目录
3:创建目录
hadoop fs -mkdir -p hdfs://aaaa-offline/hive/warehouse/tbl_spider/site=aaaa.com/dt=20160719/
判断状态 echo $? 【注意-p 递归创建目录】
4: 正式上传 hadoop fs -put -f aaaa.com hdfs://aaaa-offline/hive/warehouse/tbl_spider/site=aaaa.com/dt=20160719/
echo $? 【不加说明 都需要结果判断,重试 】 -f 强制覆盖
5: 测试查询
select * from tbl_spider; 发现仍为一条,(需要hive load part)
6: hive 加载partition 
hive -e "alter table tbl_spider add partition (site=aaaa.com,dt=20160719) LOCATION hdfs://aaaa-offline/hive/warehouse/tbl_spider/site=aaaa.com/dt=20160719;"
echo $0
7:验证数据
select * from tbl_spider;
两天数据
select * from tbl_spider where dt=20160719;
单天数据

 

 

抓取数据同步备份hive

标签:

原文地址:http://www.cnblogs.com/cphmvp/p/5693022.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!