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

被折叠的 条评论
为什么被折叠?



