常用hive語句

查看表結(jié)構(gòu),可以查看存儲文件格式

desc formatted table_name?


分區(qū)表增加表字段

alter table dwd_dj_ese_iot_case_di add columns(

is_failed? ? ? ? ? ? ? ? ? ? ? bigint? ? ? ? ? ? ? comment'是否失敗' ) cascade;?

分區(qū)表修改表字段(字段名、字段類型、字段備注)

ALTER TABLE 數(shù)據(jù)庫名.表名

CHANGE COLUMN 字段名 新的字段名(如果不變就保持原字段) 字段類型(若不變就采用原來的字段) COMMENT '新的字段備注';


reduce調(diào)優(yōu)

set mapreduce.reduce.memory.mb=4096;

set mapreduce.reduce.java.opts=-Xmx3683m;

set mapred.reduce.tasks = 100;

set hive.map.aggr=true;


map調(diào)優(yōu)

set hive.map.aggr=true;

set mapred.max.split.size=256000000;? ? ? ? ? -- 決定每個map處理的最大的文件大小,單位為B

set mapred.min.split.size.per.node=1;? ? ? ? -- 節(jié)點中可以處理的最小的文件大小,102400000

set mapred.min.split.size.per.rack=1;? ? ? ? -- 機架中可以處理的最小的文件大小


map join

select?

/*+ mapjoin(a6,a7)*/


非嚴格模式

set hive.mapred.mode=nonstrict;


hive關(guān)鍵字沖突處理

先用 ` `,不行的話 ????SET hive.support.sql11.reserved.keywords=false;


hive 數(shù)組

array字段建表時格式 array<string/int>

array_contains 判斷array是否含有某個元素 :? array_contains(column,"a"),返回true/false


分組聚合,上鉆下鉆?

grouping_sets ????在一個GROUP BY查詢中,根據(jù)不同的維度組合進行聚合,等價于將不同維度的GROUP BY結(jié)果集進行UNION ALL

cube????根據(jù)GROUP BY的維度的所有組合進行聚合

rollup????是CUBE的子集,以最左側(cè)的維度為主,從該維度進行層級聚合

http://lxw1234.com/archives/2015/04/193.htm

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容