当我运行一个日期范围的计数时,我遇到了一个gc开销问题,因为它有大量的数据要拉,所以需要一个逻辑来运行一个特定日期范围的查询(例如每30天运行一次查询,而不丢失任何数据),并在最后对其进行汇总。
我曾尝试每30天运行一次查询,但在这种方法中,可能会有几天错过数据计数。
目前,我写了下面的代码,能够成功地运行查询,但这是一个非常耗时的过程,所以需要一个帮助,以改变这个代码为每个月或一些特定的日期范围,而不是在下面运行。
while [ ${PART_START_DATE} -le ${RUN_START_DAY} ]
do
fb_TEST=$(($fb_TEST+$(hive -S -e "use ${DATABASE};set hive.cli.print.header=false;select count(*) from fb_wrk_tab where date = '${PART_START_DATE}';")))
PART_START_DATE=`date -d "${PART_START_DATE} 1 days" +%Y%m%d`
echo "fbwrk_TEST count is"$fb_TEST >> ${LOG_FILE}
done
暂无答案!
目前还没有任何答案,快来回答吧!