hadoop hive 的使用心得

2021-07-16 04:47:31 字數 724 閱讀 2329

1. 外部表和管理表的區別

1. 外部表和管理表都支援分割槽(partition),但是只有管理表使用分桶(bucket)

2. 管理表可以定義儲存格式(如orc),可以把外部表作為過渡表,最終匯入到管理表中

2. 預設的配置引數比較適合通用場景,沒有什麼特殊情況的話一般不需要改動。比較有效的優化手段包括分割槽、分桶、儲存格式、修改引擎等,其他的如壓縮,join相關配置等視情況而定,不適合所有人。

3. 可以通過shell指令碼執行hql檔案,使用hive -hivevar 將變數傳遞到hql檔案中

4. 我們的使用場景是這樣的:

4.1 新建user_tmp的外部表,並按照日期分割槽,新建user 管理表,並分區分桶

4.2 每天凌晨通過 alter table user_tmp add partition (dt='2016-08-03') location '2016-08-03' 命令更新user_tmp資料,通過 insert overwrite table user partition(dt='2016-08-03') select uid,create_time from user_tmp where dt='2016-08-03' 更新user資料;

4.3 使用user表查詢

5. 靈活使用hive的高階資料型別(array, struct, map)解決實際問題,如我們使用map型別表示url中的引數列表(id=11&name=aa&***=1&....)

fastjson的使用心得

這個的使用很簡單,但今天下午犯二搞了很久,整理下 以免下次犯同樣的錯 1 錯誤 對json的格式想當然了 描述 json 字串拼錯了,造成怎麼解析都不對 下面是錯誤的示範 name jack psd piao city name name 就是在陣列中定義的時候錯了,乙個很2 的錯誤,今天搞的頭大 ...

ShareSDK的使用心得

最近要寫個微博關注的功能,看了很多資料,好多人說推薦友盟,說那個很好用,後來對比了還是選了sharesdk,我只是需要乙個關注功能。redirecturi 然後就是編寫關注的 在授權頁面中新增關注官方微博 authoptions setfollowaccounts nsdictionary dict...

C ThreadPoold的使用心得

在c 多執行緒程式設計中經常要使用執行緒,但是因為得執行緒的建立和撤銷是非常消耗資源的代價很大,因此我們使用執行緒池來解決這個問題,執行緒池就是在一開始向系統申請一定數量的執行緒,並維護它,有任務來時,如果有空閒執行緒的話就分配乙個執行緒給它執行,如果沒有空閒的執行緒就得等待。當執行緒執行完任務後,...