使用Cassandra和Hadoop的大数据Lambda架构

4
我正在开发一个用于传感器数据和预测分析的大数据解决方案。 我对大数据还比较陌生,但已经了解过lambda架构。 我考虑使用Cassandra数据库和Hadoop。 Cassandra是一个高可用性和分区容错性数据库,而Hadoop HDFS是一个用于大型分析作业的文件系统。
如果我从物联网设备接收数据,那么应该先将数据保存在Hadoop中,然后再保存到Cassandra中吗? Lambda架构将Hadoop置于批处理层,接收数据并将其发送到服务层的nosql数据库。
为什么数据需要首先存储在Hadoop中呢? 如果Hadoop包含原始数据,那么Cassandra中存储哪种数据?
流层现在不是重点。 我只想了解如何同时使用Cassandra和Hadoop。
Hadoop中的数据用于大规模分析,而Cassandra中应保存来自我的Hadoop作业的结果。
这是否意味着我可以在两个地方存储我的原始数据?如果仅仅大型分析作业对我的应用有用,那么我可以将原始数据存储在Cassandra和Hadoop中吗?
例子
INSERT INTO temperature(weatherstation_id,event_time,temperature)
VALUES (’1234ABCD’,’2013-04-03 07:02:00′,’73F’);

如果这是我每分钟数千个插入的操作,我想要做一些大型工作,我可以使用Hadoop吗?

但是我也需要每个数据行用于我的应用程序,而不进行分析。Cassandra是否也存储它?


1
你想要实时向用户展示的数据需要存储在Cassandra中。 - Ashraful Islam
那我可以同时在两个地方保存我的数据和时间戳吗?此外,我还可以对大型数据集进行分析,并将结果传递到Cassandra的不同表中吗? - Khan
如果我不想在原始数据上进行分析,数据是如何从Hadoop传递到Cassandra的?还是数据应该传递到两个平台? - Khan
1
如果您不需要分析,只需将数据存储到Cassandra中。如果需要,稍后可以将数据复制到Hadoop中。 - Ashraful Islam
如果我现在没有太多数据,但是我知道它会增长。我可以先使用Cassandra,然后再集成Hadoop吗?我需要进行分析,但目前数据并不大。 - Khan
1
是的,稍后您可以与Hadoop集成。如果您的数据将增长,则您的数据模型必须足够好以支持这些链接可以帮助您 https://academy.datastax.com/resources/getting-started-time-series-data-modeling http://www.datastax.com/dev/blog/advanced-time-series-data-modelling https://dev59.com/s4rda4cB1Zd3GeqPOJIN http://www.ebaytechblog.com/2012/07/16/cassandra-data-modeling-best-practices-part-1/ - Ashraful Islam
3个回答

1
当你从IoT设备接收数据时,你需要尽快保存这些数据。这正是Cassandra擅长的地方。
然后你需要处理这些数据,在现实情况下,由于数据量很大,你不会想要实时处理数据,而是希望进行批量(例如每晚)处理。
这就轮到Hadoop上场了。
所以你需要从Cassandra中提取数据,然后将其放入Hadoop的文件系统(hdfs),然后通过Hive或Spark进行一些处理。
你还可以考虑使用Cassandra-Spark直接流式作业,但我建议先复制数据从Cassandra中获取,因为这样可以将这些数据用作沙盒(用于调试作业、测试新算法等),而不会对Cassandra簇性能产生任何影响。

1
您可以在这里了解有关Cassandra和大数据的内容。
免责声明:本文作者为我。

1
折衷方案在于延迟和吞吐量之间的平衡。Hadoop应该提供高吞吐量,但延迟相当高。因此,在Lambda架构中,Hadoop用于批处理。但是,可能需要将预先计算的数据(或汇总数据)传递到另一层,如可视化层。这些预计算数据基本上存储在Cassandra或HBase中以获得低延迟。

如果我的数据集很大,分析应该在Hadoop上进行,结果应该保存在Cassandra中? - Khan
如果我想将所有的时间戳+数据都存储在Cassandra中,而不对它们进行任何分析,该怎么办? - Khan
1
基本上,在基于Hadoop的系統中可以進行數據的任何轉換或操作,並且可以將摘要存儲在NoSQL中。 - kanishka vatsa
我的主要问题仍未得到回答或者我还没有理解。我可以开始将数据保存在Cassandra中吗?如果我的数据非常大,我还可以使用HDFS将数据从Cassandra传输到其中吗? - Khan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接