简体   繁体   English

将JSON对象转换为Spark Java中的各个列

[英]Convert JSON object to individual columns in spark java

I have a Spark Dataset and want to convert it into individual columns. 我有一个Spark数据集,并希望将其转换为单独的列。

Using Spark 2.2 and java 1.8 使用Spark 2.2和Java 1.8

DF.printSchema()
root
 |-- ute.internal.id: string (nullable = false)
 |-- ute.features.serialized: string (nullable = false)

DF.show()

{"ute.id":"123","ute.isBoolean":"true","ute.sortPriority":"5"},
{"ute.id":"456","ute.isBoolean":"false","ute.sortPriority":"6"}

Expected output - 
===============
ute.id|ute.feature.isBoolean|ute.sortPriority
123   |true                 |5 
456   |false                |6 

Someone can help on this?.Thanks. 有人可以帮忙吗?谢谢。

val newDf = sqlContext.read.json(df.rdd)

It will give you a dataframe with all json columns 它将为您提供一个包含所有json列的数据框

Example

  val json2 ="""{"ute.id":"123","ute.isBoolean":"true","ute.sortPriority":"5"},
              |{"ute.id":"456","ute.isBoolean":"false","ute.sortPriority":"6"}"""
  val jsonRdd = sc.parallelize(Seq(json2))
  val sqlContext = new SQLContext(sc)


  val df = sqlContext.read.json(jsonRdd)
  df.show(false)

+------+-------------+----------------+
|ute.id|ute.isBoolean|ute.sortPriority|
+------+-------------+----------------+
|123   |true         |5               |
+------+-------------+----------------+

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM