我正在努力解决火花流中的实现问题。
来自kafka的消息看起来像这样但有更多字段
{"event":"sensordata", "source":"sensors", "payload": {"actual data as a json}}
{"event":"databasedata", "mysql":"sensors", "payload": {"actual data as a json}}
{"event":"eventApi", "source":"event1", "payload": {"actual data as a json}}
{"event":"eventapi", "source":"event2", "payload": {"actual data as a json}}
我正在尝试从Kafka主题(具有多个模式)中读取消息。我需要阅读每条消息并查找事件和源字段,并决定将其存储为数据集的位置。实际数据在字段有效负载中作为JSON,它只是一条记录。
有人可以帮助我实施这个或任何其他替代方案吗?
在同一主题中发送包含多个模式的消息并使用它是一种好方法吗?
提前致谢,
答案 0 :(得分:1)
您可以从传入的JSON对象创建0.1234567
。
创建JSON对象的responseJson.stores.sort(function(a, b) {
return (a.name.toUpperCase() < b.name.toUpperCase()) ? -1 : (a.name.toUpperCase() > b.name.toUpperCase()) ? 1 : 0;
});
。
使用val Dataframe
。
在您选择的Seq[Sring]
上执行操作。
答案 1 :(得分:0)
如果您只关心某些列
,请将JsonString转换为JavaBean