微软开源自家Spark数据串流工作管线构建工具

微软开源了一个原为内部使用的大数据项目Data Accelerator,能进行大规模数据处理,简化在Apache Spark上串流传输的工作,支持SQL以及即时查询,不需要撰写程序代码就能设置处理规则与设置警报。从2017年开发以来,已经大规模应用在各种微软产品工作管线上,现在于GitHub上开源。

微软在2017年开始发展Data Accelerator项目,为的是要处理多来源串流数据,将这些数据重新组合后,路由到不同的输出数据池(Output Sink),以方便进行后续的分析。微软提到,在这过程中,范式是一个负担沉重的工作,要在异构事件环境,捕捉和调整事件解析器,需要花费不少时间与资源。

而Data Accelerator可以帮助用户简化这项工作,从事件数据样本中推断数据的结构,并将串流中的事件写出到各种数据存储。微软提到,Data Accelerator不只可以被当作事件截取服务Event Hubs以及数据库间的管线,还能在进行串流传输的时候,重塑传入的事件,将同一事件的不同部分路由到不同的数据库。

Data Accelerator能大幅加速在Spark上的串流工作管线构建,其随插即用的简单设计,用户只要设置输入来源以及输出数据池,在数分钟内就能完成管线构建。Data Accelerator支持从Eventhub和IoThub读取数据,并将数据写入到Azure blob、CosmosDB、Eventhub等服务。

综合应用事件与结构,Data Accelerator可以在事件流经工作管线的时候,识别并进行修改,分割、整合甚至是丢弃事件不需要的部分。Data Accelerator提供了配置用户接口,以及好用的查询和规则设计工具,让用户无需撰写任何程序代码,就能设置警示或是处理数据的规则。另外,Data Accelerator还支持串流数据的复杂处理任务,不论是依变动的时间窗口处理数据,还是随时间累加数据,用户都能以简单的方法操作这些高端功能。

微软提到,Data Accelerator支持dev-test循环的快速验证周期,让事件查询的实例,在部署之前就能迭代修正到可用,这可以节省大测量试工作管线处理的时间,Data Accelerator还支持SQL查询,用户不需要使用Scala,光用SQL就能进行复杂的查询工作。