2016-06-21 63 views
0

我从大量传感器(> 500)传输数据,我需要将这些数据写入HDFS。传感器几乎每1秒发送一次数据,每次推送的数据的大小都是〜300B。问题是我已经经历过,当我开始在HDFS上用append模式推动很多东西时,它开始引发许多异常并被卡住。我需要找到一种方法来处理每秒大量的文字,比如采用存储数据的中间层,然后慢慢地将它们推送到HDFS中。我不知道是否有数据库会为此工作,如果是的话,哪个是最好的?以高吞吐量在HDFS上流式传输数据

更新:我环顾四周,很难理解不同解决方案的限制和潜力。

  • 显然,技术为Kafka可以处理“数以千计的客户端每秒读取数百兆字节”。
  • 还有其他技术,其中一些建立在卡夫卡本身上,如Confluent,但它如何改进写作对我来说还不是很清楚。
  • 然后,还有其他框架,命名为“Logging Layers”(或多或少),它提供了这种管理书写的中间层。大多数广告产品是FluentdLogstash
  • 最后,Spark作为流式传输组件,Spark Streaming,它应该以某种方式管理大量数据的流式传输。

现在,我的问题是,如果有人曾经处理类似的问题,这可能是一个很好的解决方案。

回答

0

我无法帮助您获得HDFS吞吐量,但是由于您提到了中间层,我会列出一些常用数据存储与Spark结合使用,通常会提供高写入(我认为您试图使用Spark作为好?)。我怀疑大部分或全部能够写回HDFS。

什么是 “最好的”,一个是见仁见智了这通常在StackOverflow上皱起了眉头。但是,有些挖掘,你可以找到基准,什么不是。