【发布时间】:2018-07-16 00:45:18
【问题描述】:
我正在尝试将 Spark Scala DataFrame Column 编写为字节数组。 我有一个由两列组成的 DataFrame。第一列是一个字符串,第二列是从 Strings 到 Longs 的 Map。
例如,
user_id | map
"ac2" | Map("c2" -> 1, "b3" -> 5)
我想将映射列写为字节数组。到目前为止,我已经尝试将 Jackson 与以下 UDF 一起使用:
val writeJackson = udf { x: Map[String, Long] =>
jacksonWriter.writeValueAsBytes(x)
}
val df2 = df.withColumn("jacksonMap", writeJackson($"map"))
但这失败了,因为
java.io.NotSerializableException: com.fasterxml.jackson.module.paranamer.shaded.CachingParanamer
有没有办法让它与 Jackson 一起工作,如果没有,是否有不同的库可以让我将此 Spark 列写为字节数组?
【问题讨论】:
标签: scala apache-spark jackson