卡夫卡火花流动态模式

Posted

技术标签:

【中文标题】卡夫卡火花流动态模式【英文标题】:Kafka spark streaming dynamic schema 【发布时间】:2017-07-09 19:30:33 【问题描述】:

我正在用动态模式扼杀 Kafka 火花流。 我从 Kafka (KafkaUtils.createDirectStream) 消费每个消息/JSON 字段可以嵌套,每个字段可以出现在某些消息中,有时不会出现。

我发现唯一要做的就是: Spark 2.0 implicit encoder, deal with missing column when type is Option[Seq[String]] (scala)

案例类 MyTyp(column1: Option[Any], column2: Option[Any]....) 这将涵盖(我不确定)可能出现的字段和嵌套文件。

任何批准/其他想法/一般帮助将不胜感激......

【问题讨论】:

很确定您可以将 Map 类型用于动态 json 字段/列。不过我自己没试过。 【参考方案1】:

经过长时间的集成和跟踪,解决非模式 Kafka 消耗的两种方法:1)使用“lambda”函数抛出“编辑/验证”每条消息。不是我最喜欢的。 2)Spark:在每个微批次上获取展平模式并与所需列相交。使用 spark SQL 查询框架以获取所需数据。这对我有用。

【讨论】:

以上是关于卡夫卡火花流动态模式的主要内容,如果未能解决你的问题,请参考以下文章

如何在火花中处理这个

卡夫卡连接 |由于操作冲突,无法完成请求

卡夫卡领导人多党选举与仲裁员/证人/观察员一起选举

卡夫卡生产者拦截器

阿帕奇骆驼与阿帕奇卡夫卡[重复]

Pyspark 结构化流处理