apache spark—流分析的体系结构我需要哪个经纪人?

y4ekin9u  于 2021-06-07  发布在  Kafka
关注(0)|答案(3)|浏览(228)

出于研究目的,我正在研究一种体系结构来进行实时(以及离线)数据分析和语义注解。我附加了一个基本模式:我有一些传感器连接到树莓皮3。我想我们可以使用像mosquitto这样的mqqt代理来处理这个链接。但是,我想收集关于raspberry的数据,做点什么,然后将它们转发到一个商品硬件集群,用spark或storm(关于哪个的任何提示?)执行实时推理。然后,这些数据必须存储在hadoop集群可以访问的nosqldb(可能是cassandra或hbase)中,以便对它们执行批处理推理、语义数据丰富并重新存储在同一db中。因此,客户可以通过查询系统来提取有用的信息。
我应该在红块中使用哪种技术?我的想法是mqqt,但Kafka可能更适合我的目的?

2ekbmq32

2ekbmq321#

使用apache nifi怎么样?
有一篇文章描述了与您非常相似的用例。要将数据输出到hdfs,可以使用puthdfs或puthiveql,然后使用hivellap为客户端提供对数据的访问。
使用apachenifi,您可以以零开发(或者几乎零开发)的速度交付工作原型。您可能会在系统的产品化步骤上花费更多的时间进行性能调优、部署和定制,但这部分对于任何开放源码工具都是必需的。

iswrvxsc

iswrvxsc2#

星火vs风暴
星火是星火和风暴之间的绝对赢家。至少有一个原因是spark更能以高性能的方式处理大数据量。storm努力以高速处理大量数据。在很大程度上,大数据社区已经接受了spark,至少目前是这样。其他技术如apex和kafka流正在流处理领域掀起波澜。
Kafka生产覆盆子皮
如果您选择kafka路径,请记住,根据我的经验,kafka的java客户机是迄今为止最可靠的实现。不过,我会做一个概念证明,以确保不会有任何内存问题,因为rasberry pi上没有太多ram。
Kafka的心脏
把Kafka放在你的红盒子里会给你一个非常灵活的架构,因为任何进程:风暴、Spark、顶点、Kafka流,Kafka消费者都可以连接到Kafka并快速读取数据。将Kafka置于体系结构的核心,可以为所有数据提供一个“分发”点,因为它速度非常快,但也允许数据永久存储在那里。请记住,您不能查询kafka,因此使用它需要您以尽可能快的速度读取消息,以填充其他数据存储或执行流计算。

8yoxcaq7

8yoxcaq73#

您可以为您的用例评估apacheapex,因为它可以满足您的大部分需求。apacheapex还附带apachemalhar项目,该项目为apacheapex提供操作员库。由于您决定使用mqtt协议,apachemalhar还预先构建了abstractmqttinputor/abstractmqttinputor,您可以对其进行扩展,并将其用作输入代理。malhar还提供了各种各样的操作符,它们可以连接到不同的nosql数据库以及hdfs。apacheapex可能不需要kafka在您提议的体系结构中。当您希望将数据推送到hadoop时,作为hadoop本机apex实际上可以显著减少我们的部署工作。
我遇到的另一个有趣的项目是apacheedgent,它可以帮助您在边缘设备上执行一些实时分析。
ps:我是ApacheApex/malhar项目的贡献者。

相关问题