hadoop - 大数据 - Lambda 架构和存储原始数据

标签 hadoop lambda cassandra

目前我正在使用 cassandra 为我的功能用例存储数据(向用户显示时间序列和合并数据)。如果您正确设计数据模型(查询驱动),Cassandra 非常擅长

基本上,数据由 Storm 从 RabbitMQ 提取并保存到 Cassandra

Lambda 架构只是大数据架构师和技术独立的设计模式,层可以组合:

Cassandra 是一个可以用作服务层和批处理层的数据库:我也将它用于 spark 的分析目的(因为数据已经在 cassandra 中格式化,如时间序列)

据我所知,需要考虑的一件大事是在任何处理之前存储您的原始数据。您需要这样做才能恢复任何基于人的问题(算法问题、PROD 中的 DROP TABLE,诸如此类可能发生的事情……)或供将来使用或主要用于批处理聚合

现在我面临一个选择:

目前我将其存储在 cassandra 中,但出于不同的原因,我正在考虑切换将原始数据存储在 HDFS 中:原始数据“已死”,使用 cassandra token ,使用 cassandra 集群中的资源(主要是磁盘空间)。

有人可以帮我做出选择吗?

最佳答案

HDFS 非常有意义。一些注意事项:

  • 数据序列化 - 如果格式可变,则使用 ORC/Parquet 或 AVRO
  • 数据压缩 - 始终压缩
  • HDFS 不喜欢太多的小文件 - 在流式传输的情况下,有一个定期聚合和写入单个大文件的作业
  • 有一个好的分区方案,这样你就可以在不浪费资源的情况下在 HDFS 上获取你想要的数据

关于hadoop - 大数据 - Lambda 架构和存储原始数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43409031/

相关文章:

c# - AndAlso 之间有几个 Expression<Func<T, bool>> : referenced from scope

Cassandra CQL 在列表中搜索元素

cassandra - 当我刷新浏览器时,Datastax Opscenter‎ 中的小部件和图表消失

cassandra - 如何在 CQL3 中为复合键列提供空列值

hadoop - 在CDH3上运行级联代码时出错-在缓存中找不到 token

hadoop - Hortonworks Data Platform HDP 2.1 启动 Namenode 错误

hadoop - 在 Cloudera 中扩展 HDFS 内存

Python:使用 "or"和 lambda 函数进行变量赋值?

java - 如何像 oracle/mysql in(row1,row2,row3...) 一样按行解析 HBase 查询数据

Java使用java函数表达式抽象出通用代码