查看表結(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è)的維度為主,從該維度進行層級聚合