我是hadoop的新人。必须每天和每月从EDS(企业数据源)移动来自外部和内部供应商的数据的文件。在eds中我们有gzip文件。如何迁移到hdfs?
答案 0 :(得分:0)
您是否尝试过使用Put command。此命令可用于将存储在eds中的本地数据移动到HDFS。
从文档中删除:
hadoop fs -put localfile /user/hadoop/hadoopfile
hadoop fs -put localfile1 localfile2 /user/hadoop/hadoopdir
答案 1 :(得分:0)
我建议您使用copyFromLocal
命令here
此外,更重要的是,如果您的gzip文件大于默认的块大小(例如128 MB),我强烈建议您使用-Ddfs.block.size
参数设置将gzip文件放入平均gzip文件大小。
在map-reduce作业期间,在hadoop之外创建的Gzip文件(除非你在hadoop中创建一个序列文件)不能在分割块上工作。因此,这种情况会导致在整个群集中分割的gzip文件失去位置,并且当任何gzip文件上的作业启动时,所有块都必须合并到一个文件中,从而在网络上造成瓶颈。
此参数不会拆分或将您的gzip文件拆分为比它少得多的块。 例如;如果块大小为128 MB,则2 GB的gzip文件将被拆分为16个块。如果您的块大小为1 GB,则只需要合并2个块。
参数用法:hadoop fs -Ddfs.block.size=1G -copyFromLocal localfile /user/root/destination