[英]How to move gzip files to hdfs
我是新來的hadoop。 必須從EDS(企業數據源)移動文件,而我們每天和每月都要從外部和內部供應商那里獲取數據。 在eds中,我們有gzip文件。 如何轉移到hdfs?
您是否嘗試過使用Put命令 。 此命令可用於將eds中存儲的本地數據移動到HDFS。
從文檔重新整理:
hadoop fs -put localfile /user/hadoop/hadoopfile
hadoop fs -put localfile1 localfile2 /user/hadoop/hadoopdir
我建議您在這里使用copyFromLocal
命令
此外,更重要的是,如果您的gzip文件大於默認的塊大小(例如128 MB),我強烈建議您使用-Ddfs.block.size
參數設置將gzip文件-Ddfs.block.size
平均gzip文件大小。
在mapoop減少作業期間,無法在拆分塊上使用在hadoop外部創建的Gzip文件(除非您在hadoop內部創建了sequencefile)。 因此,這種情況會導致在整個群集中拆分的gzip文件丟失局部性,並且在任何gzip文件上啟動作業時,所有塊都必須合並到一個文件中,從而在網絡上造成瓶頸。
此參數不會拆分,或者會將您的gzip文件拆分成比實際要少得多的塊數。 例如; 如果塊大小為128 MB,則將2 GB的gzip文件分成16個塊。 如果put的塊大小為1 GB,則僅2個要合並的塊。
參數用法: hadoop fs -Ddfs.block.size=1G -copyFromLocal localfile /user/root/destination
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.