我们正在开发一个平台,用于对图表中的实体流进行建模。系统必须回答这样的问题:具有这些属性的实体有多少位于图上的给定节点,节点上的流入量,节点上的流出量等等。流数据以流的形式馈送到系统。我们正在考虑打破时间桶中的流数据(比如5分钟),并根据不同的属性预先计算各种聚合,并将聚合存储在DynamoDB中以提供查询。
关于这一点,我们正在评估以下选项:
EMR:将流数据放入AWS -S3 / DynamoDB运行Map Reduce / hive作业
将最新数据放入AWS-RDS,通过sql计算聚合
Akka:这是一个通过Actors构建分布式应用程序的框架 和消息传递。
如果有人使用过类似用例或使用过上述任何技术,请告诉我哪种方法最适合我们的用例。
答案 0 :(得分:0)
我已经使用EMR处理S3中的数据......效果很好。最好的部分是你可以调整适合工作量的各种尺寸的hadoop簇。
您可能需要查看Storm进行流处理
我还在这里收集大数据工具列表:http://hadoopilluminated.com/hadoop_book/Bigdata_Ecosystem.html
答案 1 :(得分:0)
最终的解决方案采用了AWS Redshift,驱动原因是需要高速数据摄取,Redshift通过COPY命令提供。
Hadoop是为了有效地存储数据而构建的,但它并不保证接收亚秒级的sla,也不提供SLA以确定何时数据可用于MR作业,这是我们没有的主要原因一般来说,请使用EMR或Hadoop。