赞
踩
目前第一步已经执行完成,路径在 /etl/part-r-00000
数据格式如下:
time | url | referer | ip | ua | province | pageid |
---|---|---|---|---|---|---|
2013-07-21 16:42:55 | http://www.yihaodian.com/cart/cart.do?action=view | http://www.yihaodian.com/cmsPage/show.do?pageId=20391&provinceId=14 | 117.27.153.190 | Mozilla/5.0 (compatible; MSIE 9.0;) | 福建省 | - |
create external table trackinfo(
time string,
url string,
referer string,
ip string,
ua string,
province string,
pageid bigint
)PARTITIONED BY (day string)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
location '/trackinfo';
说明:创建外部表名叫trackinfo
,根据day
字段进行分区,导入数据的行分隔符是\t
,指定表文件位置在HDFS的trackinfo
文件夹下。
load data inpath '/etl/part-r-00000' into table trackinfo partition(day='2013-07-21');
说明:加载HDFS上路径为/etc/part-r-00000
的数据到trackinfo
表中,分区天数day=2013-07-21
。
create external table province_stat(
province string,
count int
)PARTITIONED BY (day string)
location '/trackinfo/province';
insert overwrite table province_stat partition(day='2013-07-21')
select province,count(province) count from trackinfo group by province;
说明:将trackinfo
中的省份统计结果写到province_stat
表,并按天分区。
其实Hive就是把一个HiveQL语句翻译成一个MapReduce作业去跑,将跑完的结果写出到HDFS上,对于一些简单的统计任务可以用Hive来实现,但如果出现比较复杂的业务场景,还是得写代码来实现。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。