java—将文件上载到hdfs或直接创建和写入hdfs文件,哪个更快?

gdrx4gfi  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(471)

基本上我有一个程序,上传文件到hdfs。文件在任务执行结束时上载。因此,很多任务同时(在执行结束时)将文件上载到hdfs,从而产生争用。文件大小小于hdfs块(<64 mb)。我想知道,如果只是提前创建一个hdfs文件(同时任务正在进行一些处理以避免争用),然后在处理完成时,读取一个字符串中的本地文件的内容,并将该字符串附加到已经提前创建的hdfs文件中,是否会更快。
所以,基本上我的问题是,创建一个hdfs文件还是在已经创建的hdfs文件中添加一个字符串,哪个开销更大?

ojsjcaue

ojsjcaue1#

我自己也做过测试,并且注意到创建一个hdfs文件所需的时间几乎与附加到它所需的时间相同。这是假设写入的内容小于hdfs块大小。如果你上传一个hdfs文件,那就相当于创建一个hdfs文件并附加到它上面,所以这意味着它需要的时间是附加到它上面的两倍。

相关问题