如何用shell脚本判断hive数据库是否导入dt分区的数据?

如何用shell脚本判断hive数据库是否导入dt分区的数据?

目标:将goals中所有的表名判断一遍,是否在hive的ods层中

tmp="part-"         # 这里只取了"part-"这个字段  
#遍历文本文件,获取表名称
for i in `cat /home/goals.txt`
do
#获取hdfs上的以dt为时间分区的内容
temp1=`hadoop fs -ls /idp/src/ods/${i}/dt=$1` 
#判断是否为空:这里用了grep来找出temp1字符串中是否有tmp("part-")这个子串  
result=$(echo $temp1 | grep "${temp0}")       
#创建每天执行任务的日志
cd /date
touch $1.txt
#判断是否有当日数据,都将结果输入创建的日志里
if [[ "$result" != "" ]]  
then  
  echo "是" >> $1.txt   
else  
  echo "否" >> $1.txt 
fi 
done 

如何用python去除文件目录下所有文件的首行?

1.为何使用python去除?shell脚本同样能实现,看具体的需求,shell适合单个文件,python便于遍历整个文件夹。
2.如何使用删除首行功能?搭积木式,将搜索到的遍历功能和删除首行功能放在一起。

#conding=utf8
import fileinput
import os
# 获取目录下的全部文件
g = os.walk(r"/test")
for path,dir_list,file_list in g:
    for file_name in file_list:
         join = os.path.join(path, file_name)
         #逐个删除文件的第一行
         for line in fileinput.input(join, inplace=1):
             if not fileinput.isfirstline():
                 print(line.replace('\n',''))

总结:我们在面对工作中编写程序的挑战,1.可以先试着完善功能,比如借鉴网络上其他人的实现方式。2.实现单个的测试,完成后再去做批量操作。3.最后再思考能否继续进一步优化。总之,我们采用小步快跑的方式完成开发挑战。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值