hadoop批处理需要记录计数

gj3fmq9x  于 2021-05-27  发布在  Hadoop
关注(0)|答案(2)|浏览(290)

我有一个通过shell脚本main.ksh调用的配置单元ql job main.sql。脚本是通过一个cron作业安排的,该作业一天运行一次。我需要捕获mysql表中main.sql处理并插入到目标表中的记录数,以便进行审计。我们怎样才能做到这一点?

sycxhyv7

sycxhyv71#

您可以将输出重定向到某个文件,然后在该临时文件上插入类似“inserted”的grep字符串,然后使用其他grep命令获取整数
下面是示例方法

1. Sh myscript.sh > tmp.txt 
2. tmp.txt | grep "insert" | grep -Eo '[0-9] > finalcount.txt
nimxete2

nimxete22#

您可以使用hive和grep info提供的表属性,例如 numRows .

INSERTED_ROWS=$(echo $(hive -e "describe formatted sample_table partition(dt='$DATE_WRITTEN')") 
| grep -o 'numRows.*' 
| awk '{print $3}')

如果不使用分区插入新数据,可以使用

select COUNT(*) from table where='your_condition'

并解析值。

相关问题