当前位置:  开发笔记 > 编程语言 > 正文

如何在Spark 2 Scala中将Row转换为json

如何解决《如何在Spark2Scala中将Row转换为json》经验,为你挑选了1个好方法。



1> Psidom..:

您可以使用getValuesMap将行对象转换为Map,然后将其转换为JSON:

import scala.util.parsing.json.JSONObject
import org.apache.spark.sql._

val df = Seq((1,2,3),(2,3,4)).toDF("A", "B", "C")    
val row = df.first()          // this is an example row object

def convertRowToJSON(row: Row): String = {
    val m = row.getValuesMap(row.schema.fieldNames)
    JSONObject(m).toString()
}

convertRowToJSON(row)
// res46: String = {"A" : 1, "B" : 2, "C" : 3}


更正:它实际上只适用于Map/Struct的第一级,而不是嵌套Map,您只能看到值而不是键.
推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有