shell加python实现程序自动化控制

该博客介绍了如何使用Shell脚本控制流程,结合Python处理数据,以实现实时传输上一个小时数据的目标。通过示例展示了Shell和Python在自动化控制中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为做到数据的实时传输(实时:当前时间传输上一个小时的数据),shell用于控制整个流程,python用于处理数据。

shell代码如下:

 
#bin/bash
#########
##   学车运行脚本
##   编写者:zqm
##   日期:2018-04-04
##   调用方式:nohup sh duduxueche.sh day/hour > ../log/duduxueche.log 2>&1 &
##   type数据有两种:1、day:按天跑 2、hour:按小时跑  
########

# 程序的日志目录
log='/dudu/log'

# 4G表的HDFS目录
sourceDataHdfs='/home/zhangqm'

# MR清单数据,HDFS目录
mrDataListHdfs='/zhangqm/dudu'

# MR清单数据,本地目录
dataList='/dudu/data'

# 结果数据
resultList='/dudu/result'


# 稽核语句
# 调用方式:Check_num 目录 时间 小时
function Check_num()
{
  if [ $3 == 'day' ];then
     num=$(hadoop fs -du -h -s $1/$2 |awk -F" " '{print $1}'|sed 's/ //g')
	   echo $num
  else
	   num=$(hadoop fs -du -h -s $1/$2/$3|awk -F" " '{print $1}'|sed 's/ //g')
	   echo $num
  fi
}	

# 得到清单数据
# 调用方式:Deal_data 时间 小时
function Deal_data()
{
  if [ $2 == 'day' ];then
     # 拉清单数据
     echo '开始处理'${dayTime_1}'天数据。。。'
     hadoop jar dudu4g_0514.jar ${sourceDataHdfs}/$1/ ${mrDataListHdfs}/$1
     # 检查天数据是否产生
     size=$(Check_num ${mrDataListHdfs} $1 $2)
     if [ ${size} > 0 ] ; then 
        hadoop fs -cat ${mrDataListHdfs}/$1/* > ${dataList}/$1.txt
     else
        echo '天数据没有产生,请核查。。。'
     fi
  else
	   # 拉清单数据
	   echo '开始处理'${dayTime}${hourTime_1}'小时数据。。。'
     hadoop jar dudu4g_0514.jar ${sourceDataHdfs}/$1/$2 ${mrDataLi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值