基本上整个问题都在标题中.我想知道是否可以同时从多台计算机上附加到位于HDFS上的文件?类似于存储由多个进程不断产生的事件流的东西.订单并不重要.
我记得听过谷歌技术演示文稿之一,GFS支持这样的追加功能,但尝试使用HDFS进行一些有限的测试(使用常规文件追加()或使用SequenceFile)似乎不起作用.
谢谢,
Spi*_*nim 12
我不认为HDFS可以实现这一点.即使您不关心记录的顺序,也要关心文件中字节的顺序.您不希望编写器A编写部分记录,然后由编写器B损坏.这是HDFS自身解决的难题,因此它不会.
每个编写器创建一个文件.将所有文件传递给需要读取此数据的任何MapReduce工作程序.这更简单,适合HDFS和Hadoop的设计.如果非MapReduce代码需要将此数据作为一个流读取,则按顺序流式传输每个文件或编写一个非常快速的MapReduce作业来合并文件.
| 归档时间: |
|
| 查看次数: |
11640 次 |
| 最近记录: |