[英]How to transform Flink Source [ Data Stream ] String value to Map?
嘗試使用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”)
有什么方法可以將String值轉換為Map,因為我是flink實現的新手。
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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.