优步在Hadoop上做增量处理的案例

 

 

图四:结果表的计算,背后是一个经由增量处理得到的快速视图和一个经由批处理得到的更完整的视图。由Vinoth Chandar提供

上图中描述的思想相当简洁。正如我们所说的,你可以使用SQL或者类似Spark这样的批处理框架来一致地实现你的处理逻辑。结果表增量地被建立,像流式处理那样在“新数据”上执行SQL来产生一个结果的快速视图。同样的SQL可以周期性的被执行在全数据上,来纠正任何不准确的结果(记住,连接操作总是棘手的!),并产生一个更加“完整”的结果的视图。在这两种情况下,我们都将使用同样的Hadoop基础设施来执行计算,这可以降低总体运营成本和复杂度。

增量处理的挑战

在罗列了增量处理架构的优点之后,让我们来讨论一下在现在的Hadoop生态系统中实现这一架构时会面临的挑战。