一起學Hadoop——文件的上傳、分發與打包


如果我們想把文件上傳到Hadoop集群中,使用put命令即可。下面的語句是將本地文件上傳到hadoop集群的/目錄下。
hadoop fs -put fruit.txt /
 
下面介紹通過腳本將文件分發到Hadoop集群的方法。因為Hadoop本身就帶有文件自動分發的功能,我們只需在啟動hadoop作業的腳本文件中做相應的配置即可。可選的配置項有三個,每個適用的場景都不一樣:
-file:將本地文件分發到計算節點。
-cacheFile:將HDFS中已經存在的文件發送到需要使用該文件的節點。
-cacheArchive:將HDFS中已經存在的壓縮文件分發到相應的計算節點並解壓。
 
簡單介紹三個選項的用法。
-file用法:在腳本文件中添加代碼:-file ./map_sort.py \。將當前目錄的map_sort.py文件上傳到計算節點,\是換行符。
 
-cacheFile用法:在腳本文件中添加代碼:-cacheFile "hdfs://hadoop-master:8020/fruit.txt#fruit"。“#”是給要分發的文件起別名,在Mapreduce程序中直接使用該別名就可訪問該文件。
 
-cacheArchive用法:在腳本文件中添加代碼:-cacheArchive “hdfs://hadoop-master:8020/fruit.tar.gz#fruit.gz”。將hdfs中的fruit.tar.gz壓縮文件分發到計算節點。同-cacheFile的用法一樣,#也是給要分發的壓縮文件起別名,然后在mapreduce中通過別名就可以訪問到該壓縮文件。-cacheArchive會將fruit.tar.gz壓縮文件解壓成一個fruit.tar.gz的目錄。
 
-file適合在文件比較小(10M以內)的場景下使用。
-cacheFile和-cacheArchive適合在文件比較大(文件大小在G以上)的場景下使用。
 
關注本人的公眾號獲取大數據和機器學習的知識


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM