一個簡單的ETL腳本的內容


 

一個簡單的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執行狀態,並寫出相應的狀態日志

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM