一个简单的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执行状态,并写出相应的状态日志

猜你喜欢

转载自www.cnblogs.com/wqbin/p/10890916.html
今日推荐