2016-11-15 67 views
1

本书中的红色火花在行动如下:Spark用于异步更新。

“Spark不适合用于共享数据的异步更新(例如,在线事务处理),因为它是用批量创建的(Spark流只是在一个时间窗口中将数据应用于批量分析),专门用于这些用例的工具仍然是必需的。“

有人可以解释是它的意思吗?

我有兴趣使用火花来执行一些ETL过程。作为一个便笺,我打算在中间使用卡夫卡。虽然我不明白这个问题。因为从卡夫卡获取数据并将其写入数据库会有些相同的问题。这将平行完成。

回答

2

Spark流以小批量工作 - 即每X次,Spark会读取自上次从流式源读取后可用的所有数据。它们一起处理所有这些数据。

这个批处理工作意味着更新下游系统具有固有的等待时间(X时间),而不像其他工具(例如Flink,Apex)通过记录工作记录。但是,请注意,在更新OLTP目标时,如果您可以忍受延迟,则实际上可能会获得更好的吞吐量,因为批量更新通常更高效