等待hive上游数据公用函数

本文介绍了一个用于Hive数据库的Shell脚本,该脚本能够检查指定数据库中特定表的分区状态,并在分区未准备好时进行轮询等待直至可用。此脚本适用于大数据环境中需要确保数据分区就绪的场景。

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

function wait_table()
{
  database=$1
  table_name=$2 
  table_partition=$3
  if [ $# -ge 4 ]
  then
    ((minute=$4*2))
  else
    
    minute=600
  fi
  set +e
  for ((i=0;i<=$minute;i=i+1))
  do
    cnt=`hive -e "use $database;show partitions $table_name" | grep $table_partition |wc -l`
    t=`date +"%F %T"`
#if [ "$cnt" = '1' ];
    if [ $cnt -ge 1 ];
    then
      echo "$t Found partition $table_partition of table ${database}.$table_name ."
      set -e
      return 0
    fi
    if [ $minute -eq 0 ]
    then
      break
    fi
    echo "$t Waiting partition $table_partition of table ${database}.$table_name to be ready ..."
    sleep 30 
  done
  set -e
  echo "$t No partition $table_partition of table ${database}.$table_name found."
  return 1

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值