尝试使用 scala 将Apache Flink源字符串转换为Map。
我的源流字符串:key1 = value1key2 = 2000-12-17 00:00:00key3 = Testkey4 = 08.89198key5 = 103.000
代码:
val environment = StreamExecutionEnvironment.getExecutionEnvironment
val out = environment.addSource(...)
val mapper = new ObjectMapper()
val texToMap = out.map(mapper.readValue(_,classOf[Map[Object,Object]])
println(textToJson)
其抛出错误,如
org.apache.flink.shaded.jackson2.com.fasterxml.jackson.core.JsonParseException:无法识别的令牌'key1':正在等待('true','false'或'null')
由于我是flink实现的新手,因此有什么方法可以将 String 值转换为 Map 。
答案 0 :(得分:0)
Apache Flink将Jackson阴影罐子用于某些特殊用途。对于您的情况,您需要导入com.fasterxml.jackson.databind.ObjectMapper
而不是Flink的阴影jackson依赖项。
同时,您需要此功能,因为您正在使用Scala。
import com.fasterxml.jackson.module.scala.DefaultScalaModule
val mapper = new ObjectMapper()
mapper.registerModule(DefaultScalaModule)