dolphinschedule调度跑python文件与sql文件,运行,传参,数据本地保存等相关介绍

1、调度中时间变量的定义

echo "程序开始"
#时间参数处理
today=$(date '+%Y-%m-%d')
month_first_day=${workdate:0:6}01
# 定义昨天时间,后面时间的定义格式
yesterday_date=$(date -d '-1 day' +'%Y%m%d')
# 定义一周前时间
lastweek_date=$(date -d '-8 day' +'%Y%m%d')
# 定义40天前时间
pol_add_date=$(date -d '-40 day' +'%Y-%m-%d')
echo ${today}
echo ${month_first_day}
echo ${yesterday_date}
echo ${lastweek_date}

2、检查代码

function checkExitCode(){
  current_time=$(date '+%Y-%m-%d %H:%M:%S')
  if [ "$1" = "0" ]
  then
    echo ${current_time},$2",succeed"
  else
    echo ${current_time},$2",fail"
    exit 1;
  fi
}

3、运行sql文件时利用--hivevar方式进行传参,例如:

hive-sql -f ndc_ocr_operation_careate_table.sql --hivevar upload_date=${upload_date} 

其中表示传入参数:${upload_date},运行的sql文件中参数的编码形式样例如下:

select
    *
from tableA where pt = '${upload_date}'

4、除直接运行sql建表外,同样可以通过调度将sql运行结果保存在指定文件夹中,例如:

hive-sql --outputformat=dsv --delimiterForDSV=$'\t' -f XXXX.sql > /xxx/data_${upload_date}.csv

其中--outputformat=dsv表示可自定义分割符,--delimiterForDSV=$'\t'表示以符号‘\t’为分割符,同时将以特定文件名data_${upload_date}.csv 保存对应地址。

hive运行时,相关参数介绍参见地址

https://blog.csdn.net/qq_24256877/article/details/106496306

5、当调度运行python文件时如何传参。直接在 .py 文件后面加入对应参数,例如

python your_script.py arg1 arg2 ... argn

调度中时间案例:

# 传入参数 yesterday_date,此处需要登陆安装有python的指定位置运行代码
ssh root@ip /xxx/anaconda3/python /xxx/xxx.py ${yesterday_date} 

对应.py文件中,相关传入参数的编码形式如下:

import sys

yesterday = sys.argv[1]  # 参数1
today = sys.argv[2].     # 参数2

def function(yesterday):
    print(yesterday)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值