【问题标题】:Big data lambda architecture with cassandra and hadoop带有 cassandra 和 hadoop 的大数据 lambda 架构
【发布时间】:2017-04-05 17:46:01
【问题描述】:

我正在研究用于传感器数据和预测分析的大数据解决方案。 我是大数据的新手,并且已经阅读了 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也在存储它?

【问题讨论】:

标签: hadoop cassandra bigdata


【解决方案1】:

权衡是在延迟和吞吐量之间。 Hadoop 应该提供高吞吐量,但延迟非常高。所以hadoop用于lambda架构中的批处理。但是当您想将预先计算的数据(或汇总数据)传递到可视化层等另一层时,可能会有要求。这些预先计算的数据基本上存储在 cassandra 或 hbase 中以具有低延迟。

【讨论】:

  • 你的意思是如果我有大型数据集分析应该在 hadoop 上完成并且结果在 cassandra 中是安全的?
  • 如果我希望我的所有时间戳+数据也在 cassandra 中而不对其进行任何分析,该怎么办?
  • 基本上任何数据的转换或操作都可以在基于hadoop的系统中完成,并且摘要可以不存储在sql中。
  • 我的主要问题仍未得到解答或我没有理解。我可以开始将数据保存在 cassandra 中吗?另外,如果我的数据很大,我可以有一个 hdfs,我可以将我的数据从 cassandra 传输到那里?
【解决方案2】:

当您从物联网设备接收数据时,您需要尽快保存这些数据。这正是 Cassandra 的优势所在。
比您需要处理这些数据,并且由于数据量很大,在实际情况下,您不希望进行即时数据处理,而是进行批处理(例如,夜间)处理。
轮到Hadoop了。
所以你必须从 Cassandra 中提取数据,然后放入 Hadoop 的文件系统 (hdfs) 中,然后进行一些处理(通过 Hive 或 Spark)。
您也可以考虑让 Cassandra-Spark 直接流式传输作业,但我建议先从 Cassandra 复制数据,因为这允许将此数据用作沙箱(调试作业、测试新算法等)而不会影响Casandra 集群性能。

【讨论】:

    【解决方案3】:

    您可以阅读有关 Cassandra 和大数据的信息 here
    免责声明:我是这篇文章的作者。

    【讨论】:

      猜你喜欢
      • 2017-09-10
      • 2016-10-21
      • 1970-01-01
      • 2017-10-08
      • 1970-01-01
      • 2013-01-27
      • 2016-01-14
      • 2023-01-27
      • 1970-01-01
      相关资源
      最近更新 更多