Hive 中一些特殊的HSQL

来源:互联网 发布:php接收不到ajax传值 编辑:程序博客网 时间:2024/06/05 04:03
1、导入数据时,指定分隔符  
CREATE TABLE new_table_name  row format delimited fields terminated by '\t'  stored by textfileas select id,name from table_name;

2、当创建了一个bucket的表时,导入数据的方式:

set hive.enforce.bucketing = true;//这个让程序自动分配reduce的数量从而适配相关的bucket
insert overwrite table ext_login_bucket partition(dt='2013-12-01')select uid,ips from ext_login where dt='2013-12-27';   
注意上面的语句中,一定需要指定 dt='xxx'条件,不然的话,会出现一个空指针的异常:(message:partition values=[2013-12-01])

还有一点,插入语句的overwrite并不是可选的,是必填的,我经常忘记

同时,我们知道,加载数据还有一种方式,叫 load data ,这种方式也能导入成功,但是它不会按你设置的bucket个数将原文件拆分,这点需要了解一下。

3、查看bucket的 tablesample数据

     select * from ext_login tablesample(bucket 1 out of 2 on id);

     tablesample是抽样语句,语法:TABLESAMPLE(BUCKET x OUT OF y);其中y必须是table总bucket数的倍数或者因子。hive根据y的大小,决定抽样的比例。

    比如:table总共分了64份,当Y=32时,抽取(64/32=)2个bucket的数据;当y=128时,抽取(64/128=)1/2个bucket数据。x表示从哪个bucket开始抽取。例如,table总bucket数为32,tablesample(bucket 3 out of 16),表示总共抽取 (32/16=)2个bucket的数据,分别为第3个和第(3+16=)19个bucket的数据


4、未完。。



0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 感冒一直流鼻涕该怎么办 婴儿一个月鼻塞怎么办 1岁婴儿感冒怎么办 轻微鼻塞感冒了怎么办 50天宝宝鼻塞怎么办 50天婴儿鼻塞怎么办 50天新生儿鼻塞怎么办 40天婴儿鼻塞怎么办 孩子感冒鼻子塞怎么办 月子里感冒了怎么办 宝宝感冒鼻塞严重怎么办 婴幼儿鼻塞有痰怎么办 感冒了浑身没劲怎么办 四个月宝宝鼻塞怎么办 四个月小孩鼻塞怎么办 小儿流清水鼻涕怎么办 小孩总是流鼻子怎么办 四个月小孩咳嗽怎么办 儿童流清水鼻涕怎么办 四个月婴儿发烧怎么办 宝宝体温36度怎么办 儿童感冒后鼻塞怎么办 儿童没感冒鼻塞怎么办 宝宝鼻塞怎么办3岁 儿童刚开始感冒鼻塞怎么办 婴儿感冒打喷嚏流鼻涕怎么办 宝宝感冒鼻涕多怎么办 一个多月的宝宝鼻塞怎么办 五个月宝宝鼻塞怎么办 4个月大婴儿鼻塞怎么办 四个月婴儿鼻塞怎么办 鼻炎晚上睡觉鼻塞怎么办 感冒了一直流鼻涕怎么办 感冒了鼻塞严重怎么办 两边鼻子都塞怎么办 感冒睡觉鼻子堵怎么办 孩子鼻炎流清水怎么办 小儿鼻涕流不停怎么办 老是单侧流鼻涕怎么办 有鼻炎光流鼻涕怎么办 一只鼻塞流鼻涕怎么办