hadoop - Lambda 架构 - 为什么使用批处理层

标签 hadoop lambda architecture bigdata

我正在研究 lambda 架构并了解如何使用它来构建容错大数据系统。

我想知道当一切都可以存储在实时 View 中并从中生成结果时,批处理层有何用处?是不是因为实时存储不能用来存储所有数据,那么它就不是实时的,因为检索数据所花费的时间取决于数据存储所占用的空间。

最佳答案

Why batch layer

为了节省时间和金钱!

它基本上有两个功能,

  • 管理主数据集(假设是不可变的)
  • 为临时查询预先计算批处理 View

Everything can be stored in realtime view and generate the results out of it - NOT TRUE

以上当然是可能的,但不可行,因为数据可能是 100 到 1000 PB,生成结果可能需要时间......很多时间!

这里的关键是实现对大型数据集的低延迟查询。批处理层用于创建批处理 View (低延迟查询),实时层用于最近/更新的数据,这些数据通常很小。现在,任何临时查询都可以通过合并来自批处理 View 和实时 View 的结果来回答,而不是计算所有主数据集。

另外,想想一个查询(同一个查询?)在庞大的数据集上一次又一次地运行……浪费时间和金钱!

关于hadoop - Lambda 架构 - 为什么使用批处理层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34373454/

相关文章:

hadoop - 按多个字段分组并输出元组

java - 尝试传递重载方法作为参数时无法解决方法错误

wpf - INotifyPropertyChanged 与 ViewModel 中的 DependencyProperty

hadoop - HDFS未格式化,但没有错误

apache-spark - spark 谓词下推不适用于 phoenix hbase 表

c# - 如何使用 Lambda 和 EF 返回列表而不是对象

java - 带lambda的热交换代码失败,表明该方法无法删除

architecture - 处理复杂事件

c# - 在业务层 (BLL) 使用设置文件

hadoop - 我正在尝试停止hadoop服务,但收到诸如 'Error: root user required"的错误消息