繁体   English   中英

从Kafka读取数据时,Spark流是否单独处理每个JSON“事件”?

[英]Does Spark streaming process every JSON “event” individually when reading from Kafka?

我想使用Spark流从JSON格式的单个Kafka主题消息中读取内容,但是并非所有事件都具有相似的架构。 如果可能,检查每个事件的方案并进行相应处理的最佳方法是什么?

是否可以在内存中将几个组组成,每个组由一堆相似的模式事件组成,然后将每个组作为批处理?

恐怕你做不到。 您需要某种方式来解码JSON消息以识别模式,这将在您的Spark代码中完成。 但是,您可以尝试为每个架构填充一个具有不同值的Kafka消息密钥,并为每个密钥分配分配的Spark分区。

出于这个原因,像镶木地板和avro这样的对象格式是好的,因为该模式在标头中可用。 如果您绝对必须使用JSON,则可以按照您所说的做,并在投射到所需对象时使用按组方式。 如果您使用的是大型JSON对象,那么您会看到性能下降,因为必须先解析整个JSON“文件”,然后才能进行任何对象解析。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM