簡體   English   中英

如何將gzip文件移動到hdfs

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM