日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

hadoop自动提交脚本

發布時間:2024/4/17 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hadoop自动提交脚本 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

自動提交到hadoop系統,然后調用wordcount的任務,并下載輸出的文件。

#!/bin/sh #從給定的路徑獲取文件列表,提交到hadoop系統,使用wordcount的功能統計單詞數量 #echo "$#" if [ $# -ne 1 ]; thenecho "請輸入文件的路徑"exit 1 fi #echo "$1" filecount=$(ls $1|wc -w) #echo $filecount #if [ $filecount -lt 1 ]; then #fi submitcount=0 wordsubmitlog=wordsubmitlog.log hadoopdellog=hadoopdellog.log for f in $1 ; doif [ -f $wordsubmitlog ]; thenechoelse#不存在文件的時候創建touch $wordsubmitlogfiexistsubmit=$(cat $wordsubmitlog|grep $f|wc -l)if [ $existsubmit -lt 1 ]; thenecho "$f"|cat>>$wordsubmitloghadoop fs -put $f /wz/wordcount/input/#rm -f $flet submitcount=submitcount+1fi done #有提交文件才執行 if [ $submitcount -ge 1 ]; then hadoop jar /usr/hadoop/hadoop-examples-1.2.1.jar wordcount /wz/wordcount/input /wz/wordcount/output rm -f part-r-* hadoop fs -get /wz/wordcount/output/part-r-* . #下載到當前目錄
#重命名下載下來的文件,并移動到其他的文件夾

? pcount=0
? newfilename=$(date +'%Y%m%d%H%M%S')
? #echo $newfilename
? for p in part-r-*;
? do
?  if [ -f $p ]; then
  ?  let pcount=pcount+1
    ?#newfilename=$(date +'%Y%m%d%H%M%S')
    ?newfilename=$(echo part-r-"$newfilename"_"$pcount".dat)
    ?echo $newfilename
    ?mv $p $newfilename
    ?mv $newfilename part/
? ? fi
? done

echo "`date +'%Y-%m-%d %H:%M:%S'`"|cat>>$hadoopdellog

hadoop fs -rmr /wz/wordcount/input/*|cat>>$hadoopdellog

hadoop fs -rmr /wz/wordcount/output|cat>>$hadoopdellog echo "執行完成" else echo "沒有提交的文件"
fi -- 插入 -- 30,4-18 95%

?如果用crontab設置自動運行的話,需要將上面的所有路徑設置為絕對路徑,包括hadoop

例如 hadoop的命令需要寫成 /usr/hadoop/bin/hadoop jar ......

文件日志也要寫錯絕對路徑

使用crontab添加任務是也要設置絕對路徑

例如設置每隔5分鐘執行一次:

*/5 * * * * /usr/hadoop/xxx.sh &> /dev/null //表示不用發送郵件告知,否則會收到很多郵件通知

另外,hadoop運行時如果日志不想顯示出來,可以先重定向到0 然后再從2輸出

例如 hadoop jar ......>0 2>>xxx.log

0表示 stderr 1表示stdin 2表示stdout

?

轉載于:https://www.cnblogs.com/ringwang/p/3634269.html

總結

以上是生活随笔為你收集整理的hadoop自动提交脚本的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。