[shell]shell脚本实现每天自动抽取数据插入hive表

本文介绍了一个使用 Bash 脚本结合 Spark SQL 更新指定表数据的实例。该脚本会根据前一天的日期来更新数据库中名为 db.tbname 的表,并检查更新后的文件大小,如果大于0,则标记成功。此过程涉及日期操作、SQL 查询及 Hadoop 文件系统交互。

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

#!/bin/bash
source /etc/profile
source ~/.bashrc

M_DATE=$(date -d'-1 day' +%m) #取系统日期前一天的月份




spark-sql -e"
insert overwrite table db.tbname 
partition(event_day='${day}')
select 
    col_name1
    ,col_name2
    ,col_name3
from
    db.tbname2
where condition
  ;"

  #touchz _SUCCESS
  line_num=`$HADOOP_HOME/bin/hadoop fs -du -s /user/warehouse/db/tbname1/event_day=$day | awk '{print $1}'`
  if [ $line_num -gt 0 ]
  then
      $HADOOP_HOME/bin/hadoop fs -touchz /user/warehouse/db/tbname1/event_day=$day/_SUCCESS
  fi

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值