我有三个线程a,b,c
a& b:循环,每次输出一行。
a和b都将数据写入c。
c:从a和b中读取数据,并进行一些处理。
我想在HDFS之上实现此任务。所以A和B将数据写入HDFS,C从中读取数据。
首先,我想出了一个想法,即每次循环时,A都会写入文件夹“/ a-c”中的新文件。例如在第一个循环中,A输出一行到文件/a-c/0.txt,下一次循环,/ - c / 1.txt,等。
读者C,读取/ a-c和/ b-c中的文件,阅读后删除文件。
事实证明这是有效的,但效率极低。
问题:
还有其他方法可以在HDFS(或频道)之上创建类似于结构的队列,以便有一个公共频道P_QUEUE,其中A& B可以将数据写入,C可以读取。
(记住这些事情同时发生。)
或者,或者,在HDFS之上实现此任务的任何其他方式????????