快递已经送到驿站,取件人却每20分钟才看一次,之后还要花16分钟分拣——这就是这条 Databricks 数据管线的处境。作者称,JSON 消息会先进入 Azure Service Bus(在系统之间暂存、投递事件的消息队列),但任务只在工作时间每20分钟轮询一次。换句话说,入口能实时收消息,不等于数据能实时可用。
任务取回消息后,还要把数据分发到约82张 Bronze 表——保存原始落地数据的一层;部分写入并非简单追加,而要执行 MERGE,按键判断每行应新增还是更新。整批处理目前约需16分钟。随后,数据还要经过转换,才通过 Silver 视图提供给分析人员。
这则案例最值得注意的不是该换哪件工具,而是先把端到端等待拆开看:轮询本身最多会加入约一个周期的等待,批次处理又占16分钟,MERGE、82表分发和后续转换还可能继续累积延迟。原帖未给出各环节耗时,因此暂时无法判断该优先改消息摄取、缩短批次,还是优化表写入。