howtodown 发表于 2018-3-20 19:23:43

大数据shell执行与代码执行效率比较

在开发中,一般来讲,我们都是通过代码开发,比如Java,Scala等来写mapreduce,spark编程等。然后如果使用shell编程来实现,效率会更高。很多企业为了效率,都采用这个方法。

suzjst 发表于 2018-3-21 10:01:56

就一句话?后面木有了?

howtodown 发表于 2018-3-21 10:18:40

suzjst 发表于 2018-3-21 10:01
就一句话?后面木有了?

这是1分钟小知识。有问题,可以回帖交流。

pig2 发表于 2018-3-21 15:52:05

比如hive使用shell
#!/bin/bash
#######################################
#
# args format: ./test.sh tablename date
# dateformat: yyyymmdd
# 当参数只有表名,没有日期时,为全量加载
#######################################

source /etc/profile
#默认的SQL目录存放路径
sqlhome=/home/hadoop/shell/hive/sql
#数据库名称
db=safe
table=""

#获取日期参数
dt=$( date +"%Y%m%d" )
yesterday=$(date -d "1 days ago $dt " +%Y%m%d)

file0=$(basename $0)

file=${file0%.*}

echo "args number : $# "

if [ $# -eq 2 ] ; then
dt=$2
yesterday=$(date -d "1 days ago $dt " +%Y%m%d)

table=$1
hivefile=$sqlhome"/"$table".sql"
#echo "hivefile: $hivefile "
if [ ! -e $hivefile ] ; then
    echo "++++++++++++++ file not exist!! [$hivefile] +++++++++++++"
    exit 1
fi
elif [ $# -eq 1 ] ; then
   
dt=$( date +"%Y%m%d" )
yesterday=$(date -d "1 days ago $dt " +%Y%m%d)

table=$1
hivefile=$sqlhome"/"$table".sql"

if [ ! -e $hivefile ] ; then
    echo "++++++++++++++ file not exist!! [$hivefile] +++++++++++++"
    exit 1
fi
else
echo " +++++++++++++ command format error!! +++++++++++++ "
exit 1
fi

#运行hive的开始时间--时分秒
time1=`date "+%Y%m%d %T"`
start_time=$(date -d "$time1" +%s)

#hive --hiveconf table=$db.$table --hiveconf dt=$yesterday -f $hivefile
/opt/spark2.12/bin/spark-sql --hiveconf table=$db.$table --hiveconf dt=$yesterday -f $hivefile

result=$?

rt=$(date +"%Y%m%d %T")
#运行hive的结束时间
time2=`date "+%Y%m%d %T"`
end_time=$(date -d "$time2" +%s)

if [ $result -ne 0 ] ; then
failfile=$file"-"$dt.fail
cd ~/log/fail
rm -rf $failfile
touch $failfile
echo "$rt $file step error!! " >> ~/log/$file.log
exit 1
else
sucfile=$file"-"$dt.suc
cd ~/log/success
rm -rf $sucfile
touch $sucfile
a=`expr $end_time - $start_time`
echo "$rt$0step complete!!   elapsed time [ $a ] econd " >> ~/log/$file.log
fi

suzjst 发表于 2018-3-22 09:25:10

明白了!感谢两位版主!

tatata000 发表于 2018-3-29 12:32:58

shell脚本不熟,如果要用脚本的话,我会用Python来实现。
页: [1]
查看完整版本: 大数据shell执行与代码执行效率比较