簡體   English   中英

如何將Flink Source [Data Stream]字符串值轉換為Map?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM