最近,一直在寫 hive
1)create_table lzo格式
2. 執行shell,請使用全路徑,如 sh/data3/dmp_online/dmp/dw/mds/purpow/create_table/mds_dm_purpow_source_his.sh;
3. dm工作組時,$應修改為$;
shell名稱如果不是hive表名,請手工指定變數$、$。
#獲取當前工作組(dw或dm)
echo $ | grep -q "/dmp/dm/"
if [ $? -eq 0 ]
then
work_group="dm"
else
work_group="dw"
fi#載入配置檔案
cd $(dirname `ls -l $0 |awk ''`)/..
shellpath=`pwd|awk -f $ ''`
cd $
. common/conf/.hive_config.sh
#table_level=mds
#table_name=mds_dm_purpow_his
#建立表資訊
$hive<< eof
use $;
drop table $;
create external table $
( cookie string comment '使用者cookie',
price int comment '使用者對應車型**',
source int comment '**'
)partitioned by(dt string, type string)
row format delimited fields terminated by '\t' lines terminated by '\n'
stored as inputformat 'com.hadoop.mapred.deprecatedlzotextinputformat'
outputformat 'org.apache.hadoop.hive.ql.io.hiveignorekeytextoutputformat'
location '$/$/$';
alter table $ set serdeproperties('serialization.null.format'='');
eof
create_tablercfile
格式:stored as rcfile
create_tabletxt
格式:
stored as textfile
附:關於 hive null的問題:
hive中null預設是以
'\n'
表示的;可以通過alter table table_name set serdeproperties('serialization.null.format' = '');修改空值描述符
hive中分割槽字段如果為null需注意
使用dynamic partition,如果分割槽欄位為null,資料會放到乙個特殊的分割槽,這個分割槽由引數「hive.exec.default.partition.name」控制,預設為「__hive_default_partition__」。
VBA之用模板建立表
有這樣乙個模板,想在此模板的基礎上,新建很多sheet,每個sheet對應乙個日期,並且表裡的報表日期和工作表名字一樣,如何去實現呢 sheets sheets.count name 5月 i 日 sheets sheets.count range e5 2016 5 i next end sub ...
順序表和煉表的模板
c 引入模板是為了更好的 復用,模板這邊分為兩個大塊.1.模板函式 2.模板類 我們今天來介紹模板類的應用 順序表和煉表 單鏈表為例 模板的順序表 templateclass seqlist seqlist seqlist const seqlist s size s.size capacity s...
oracle建立表空間和表
oracle安裝完後,其中有乙個預設的資料庫,除了這個預設的資料庫外,我們還可以建立自己的資料庫。對於初學者來說,為了避免麻煩,可以用 database configuration assistant 嚮導來建立資料庫。建立完資料庫後,並不能立即在資料庫中建表,必須先建立該資料庫的使用者,並且為該使...