Hive shell指令碼形式執行HSQL

2021-08-14 08:28:49 字數 3169 閱讀 9907

接上文mac-單機hive安裝與測試,文中最後將本地檔案load到了hive 表中,下面對該錶清洗,以shell指令碼形式提交,清洗所用的hsql指令碼。

例如要清洗出的字段如下表

use hive_test;

create

external

table fact_***_log(

time_stamp string comment '時間戳',

dim1 string comment 'dim1',

type string comment '型別',

query_id string comment 'query_id',

error_stack string comment '錯誤棧',

trace_log string comment 'trace_log',

result_meta string comment '結果meta',

extend_info string comment '擴充套件資訊'

)comment '清洗日誌事實表'

partitioned by (

`dt` string comment '日'

)row format delimited fields terminated by

'\t'

stored as textfile;

hive_test.sh

#!/bin/sh

echo "---- start exec hive sql"

hive -e "set hive.exec.dynamic.partition.mode = nonstrict;

insert overwrite table hive_test.fact_***_log

partition (dt)

select

****** 這裡省略了

from

hive_test.system_log

;echo "---- end hive sql"

本地執行指令碼

/shell$ ls

hive_test.sh

@localhost:~/documents/book/shell$ sh hive_test.sh

執行日誌如下

Hive shell指令碼自動載入分割槽資料

業務場景 每天都有日誌而且每小時都有日誌,將日誌按照小時儲存 acccess log 20190528 2019052800.log 2019052801.log 2019052802.log bin bash yesterday date d 1 days y m d access log dir...

以記憶體形式執行Xcode

首先經本人自己實踐,此方法在ssd上效果不明顯,而且存在弊端,每次重啟電腦都會丟失資訊,每次需要重新建立記憶體分割槽來執行 對於hhd的使用者可能會有用 diskutil erasevolume hfs ramdisk hdiutil attach nomount ram 2097152 volum...

以服務形式執行SVN(svnserve)

註冊svnserve到系統服務 安裝目錄不帶空格 sc create svnserve binpath c svnserve svnserve.exe service root c repos displayname subversion depend tcpip start auto 安裝目錄帶空...