hadoop/HDFS:是否可以将多个进程写入同一个文件?

hadoop/HDFS:是否可以将多个进程写入同一个文件?,hadoop,hdfs,Hadoop,Hdfs,f、 e.创建20字节的文件。 第一个进程将从0写入4 从5点到9点的第二个 等 我需要这个来并行创建一个大文件使用我的MapReduce 谢谢 另外,可能还没有实施,但总的来说是可能的-请告诉我应该在哪里挖掘 您是否能够解释在创建此文件后打算对其执行的操作 如果您需要将其从HDFS中取出,然后使用它,那么您可以让Hadoop M/R创建单独的文件,然后使用类似于Hadoop fs-cat/path/to/output/part*>localfile的命令将这些部分组合到单个文件中,并保存到本地

f、 e.创建20字节的文件。
第一个进程将从0写入4
从5点到9点的第二个

我需要这个来并行创建一个大文件使用我的MapReduce

谢谢


另外,可能还没有实施,但总的来说是可能的-请告诉我应该在哪里挖掘

您是否能够解释在创建此文件后打算对其执行的操作

如果您需要将其从HDFS中取出,然后使用它,那么您可以让Hadoop M/R创建单独的文件,然后使用类似于
Hadoop fs-cat/path/to/output/part*>localfile的命令将这些部分组合到单个文件中,并保存到本地文件系统

否则,无法让多个写入程序打开同一个文件—对HDFS的读取和写入是基于流的,虽然可以打开多个读取程序(可能读取不同的块),但不可能进行多个写入


Web下载者在多个线程中使用请求文件的一部分,然后在稍后合并这些部分之前使用tmp文件(正如Thomas Jungblut所建议的),或者他们可能能够使用随机IO,在将下载的部分写入正确位置的输出文件之前将其缓冲在内存中。不幸的是,您没有能力使用Hadoop HDFS执行随机输出

您是否能够解释在创建此文件后打算对其执行的操作

如果您需要将其从HDFS中取出,然后使用它,那么您可以让Hadoop M/R创建单独的文件,然后使用类似于
Hadoop fs-cat/path/to/output/part*>localfile的命令将这些部分组合到单个文件中,并保存到本地文件系统

否则,无法让多个写入程序打开同一个文件—对HDFS的读取和写入是基于流的,虽然可以打开多个读取程序(可能读取不同的块),但不可能进行多个写入


Web下载者在多个线程中使用请求文件的一部分,然后在稍后合并这些部分之前使用tmp文件(正如Thomas Jungblut所建议的),或者他们可能能够使用随机IO,在将下载的部分写入正确位置的输出文件之前将其缓冲在内存中。不幸的是,您没有能力使用Hadoop HDFS执行随机输出

我认为简单的答案是否定的。实现这一点的方法是将多个“初步”文件写入hadoop,然后将它们合并到一个统一的文件中。基本上,使用hadoop,不要重新发明轮子。

我认为简单的答案是否定的。实现这一点的方法是将多个“初步”文件写入hadoop,然后将它们合并成一个统一的文件。基本上,使用hadoop,不要重新发明轮子。

为什么要并行写入同一个文件?这与mapreduce有什么关系?我想加快这个过程。我可以做并行数据计算。现在,我应该找到一种将准备好的数据写入文件的方法。最好是并行而不是排队。你不能加快速度,至少不能写入一个文件。你能解释一下你的观点吗?免费下载管理器、自动更新、传输等Web下载程序都在使用此功能。好的。你怎么知道他们下载到一个文件而不是n个并行文件,然后合并?为什么你要并行写入同一个文件?这与mapreduce有什么关系?我想加快这个过程。我可以做并行数据计算。现在,我应该找到一种将准备好的数据写入文件的方法。最好是并行而不是排队。你不能加快速度,至少不能写入一个文件。你能解释一下你的观点吗?免费下载管理器、自动更新、传输等Web下载程序都在使用此功能。好的。你怎么知道他们下载到一个文件而不是n个并行文件,然后合并?