您好,登錄后才能下訂單哦!
這篇文章主要講解了“hadoop streaming archives解壓jar、zip、tar.gz的驗證分析”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“hadoop streaming archives解壓jar、zip、tar.gz的驗證分析”吧!
1、archives作用描述:
Hadoop中DistributedCache方法之一(其他參考文章后面的參考文章) ,作用是 將指定文件分發(fā)到各個Task的工作目錄下,并對名稱后綴為“.jar”、“.zip”,“.tar.gz”、“.tgz”的文件自動解壓,默認(rèn)情況下,解壓后的內(nèi)容存放到工作目錄下名稱為解壓前文件名的目錄中,比如壓縮包為dict.zip,則解壓后內(nèi)容存放到目錄dict.zip中。為此,你可以給文件起個別名/軟鏈接,比如dict.zip#dict,這樣,壓縮包會被解壓到目錄dict中。
2、測試jar文件(基本直接摘抄參考文檔的)
$ ls test_jar/ file file1 file2 file = this is file1(實驗的時候這里搞錯了,應(yīng)該是用file1,對結(jié)果無影響,不做修改了) file2 = this is file2 $ jar cvf cache.jar -C test_jar/ . $ hdfs dfs -put cache.jar /user/work/cachefile #touch 一個input.txt文件,然后put到 /user/work/cachefile $ hdfs dfs -cat /user/work/cachefile/input.txt cache/file (cache是解壓后的目錄名,用#重定義的別名,參加下面的) cache/file2 HADOOP_HOME=/home/hadoop/hadoop-2.3.0-cdh6.1.3 $HADOOP_HOME/bin/hadoop fs -rmr /cacheout/ $HADOOP_HOME/bin/hadoop jar $HADOOP_HOME/share/hadoop/tools/lib/hadoop-streaming-2.3.0-cdh6.1.3.jar \ -archives /user/work/cachefile/cache.jar#cache \ -Dmapred.map.tasks=1 \ -Dmapred.reduce.tasks=1 \ -Dmapred.job.name="Experiment" \ -input "cachefile/input2.txt" \ -output "/cacheout/" \ -mapper "xargs cat" \ -reducer "cat" hadoop fs -cat /cacheout/* this is file 2 this is file1
3、測試zip & tar.gz
分別打包zip , tar.gz的壓縮包,put到hdfs繼續(xù)測試。
-archives /user/work/cachefile/cache.tar.gz#cache \ 只修改后綴名,會報文件找不到的錯誤
查錯:確認(rèn)是否能解壓,將mapper 改成:
-mapper "ls cache" \
發(fā)現(xiàn):jar文件 :結(jié)果有4個文件,分別是META-INF、file、file1、file2
zip & tar.gz:只有一個,是test_jar的目錄名
然后查看3種包的壓縮文件,顯然是解壓成功了,找不到文件的原因是目錄問題,這個就要詳細(xì)研究下3中打包方式了,不再贅述。:
感謝各位的閱讀,以上就是“hadoop streaming archives解壓jar、zip、tar.gz的驗證分析”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對hadoop streaming archives解壓jar、zip、tar.gz的驗證分析這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。