【发布时间】:2019-11-23 01:57:37
【问题描述】:
我已尝试发送 json 请求并接收 json 响应,并且我正在将 json 内容转换为 Dataframe,但架构是所有属性的字符串。无论如何,我的自定义架构是否应用于存储在中的 json 响应使用 scala 和 spark 的数据集。
val inputStream = entity.getContent()
content = scala.io.Source.fromInputStream(inputStream).getLines.mkString
inputStream.close
}
httpClient.getConnectionManager().shutdown()
println(content)
val rootelem = "data"
var JsonDF : Dataframe = null;
if (rootelem.equalsIgnoreCase("NULL"))
{
jsonDF = sqlContext.read.json(Seq(content).toDS)
}
else{jsonDF=sqlContext.read.json(Seq(content).toDS).select(explode(col(rootelem))。 as("child").select(col("child.*"))
jsonDF.show()
}}
【问题讨论】:
-
@Prateek Prateek 这是针对 JSON 文件的,但在我的情况下,我直接从 rest post API 获得响应,我将其动态保存到数据框,但数据类型不匹配。对于文件级自定义架构适用,但获取响应并将其动态存储到数据框中与 JSON 文件的情况不匹配。
标签: scala apache-spark apache-spark-sql bigdata spark-structured-streaming