一個簡單的ETL腳本應該包含如下內容
1.注釋

2.設置字符集
3.基礎路徑參數
- 腳本路徑
- 票據路徑
- 日志路徑
- 當前SHELL的腳本別名:declare SHELL_NAME=“${basename $0 |sed s/\./_/g}” eg:sss.sh =>sss_sh
- 票據文件
4.集群的相關認證 這些變量不做檢查但是必須保證正確
- client基礎路徑
- source認證文件
- kinit的路徑
- kinit的文件
5.檢查程序傳入參數
- 對參數個數的檢查$#
- 對參數格式的檢查
6.日志
- 日志的文件
- 創建日志目錄方法INIT_LOG()
- 寫日志的方法LOG()
- 創建日志路徑和日志文件
7.載入變量
- 載入FI的環境變量
- 載入Hive的環境變量
- kerberos認證
- kinit認證
8.執行SQL
- 對sql文件的檢查
- 執行sql beeline -f "${SQL_FILE}" --hivevar QUEUE='${QUEUE}' --hivevar BATCH_DATE='${BATCH_DATE}' >>${LOG_FILE} 2>&1
- 檢查sql執行狀態,並寫出相應的狀態日志
