Hive桶表

发布 : 2016-02-12 分类 : 大数据 浏览 :

1.创建内部表

1
2
3
4
5
6
7
8
9
10
hive>  CREATE TABLE page_views(
> track_time string comment 'track time',
> url string,
> session_id string,
> referer string,
> ip string,
> end_user_id string,
> city_id string
> )
> ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n';

2.将page_views.dat文件中的数据加载到page_views表中

1
hive> load data local inpath '/opt/modules/hive-1.2.1/demo/page_views.dat' into table page_views;

3.查询page_views表中前10条数据

1
hive> select * from page_views limit 10;

4.查看表结构

1
hive> desc formatted page_views;

5.创建桶表

1
2
3
4
5
6
7
8
9
10
11
hive> create table page_view_bucket(
> track_time string comment 'track_time',
> url string,
> session_id string,
> referer string,
> ip string,
> end_user_id string,
> city_id string
> )
> clustered by (session_id) sorted by(track_time) into 10 buckets
> row format delimited fields terminated by '\t' lines terminated by '\n';

6.添加数据到表中

1
hive> insert overwrite table page_view_bucket select * from page_views;

1
2
查询page_view_bucket前10条数据
hive> select * from page_view_bucket limit 10;

1
默认情况下,hive没有开启分桶属性(false)

7.查看分桶属性是否开启

1
hive> set hive.enforce.bucketing;

8.开启分桶属性

1
2
hive> set hive.enforce.bucketing=true;
hive> set hive.enforce.bucketing;

再次执行

1
hive> insert overwrite table page_view_bucket select * from page_views;

9.在HDFS的Web UI监控可以看到,重写数据进表中的时候执行了MapReduce并分配了若干个Reduce Task

1
http://node1:50070/explorer.html#/usr/hive-1.2.1/warehouse/page_view_bucket

本文作者 : Matrix
原文链接 : https://matrixsparse.github.io/2016/02/12/Hive桶表/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

知识 & 情怀 | 二者兼得

微信扫一扫, 向我投食

微信扫一扫, 向我投食

支付宝扫一扫, 向我投食

支付宝扫一扫, 向我投食

留下足迹