我想把下面的字符串变量转换成spark上的dataframe.

val jsonStr = "{ "metadata": { "key": 84896, "value": 54 }}"

我知道如何从json文件创建数据帧.

sqlContext.read.json("file.json")

but I don't know how to create dataframe from string variable.

如何将json字符串变量转换为dataframe.

推荐答案

For Spark 2.2+:

import spark.implicits._
val jsonStr = """{ "metadata": { "key": 84896, "value": 54 }}"""
val df = spark.read.json(Seq(jsonStr).toDS)

Spark 2.1.x美元:

val events = sc.parallelize("""{"action":"create","timestamp":"2016-01-07T00:01:17Z"}""" :: Nil)    
val df = sqlContext.read.json(events)

提示:这是使用sqlContext.read.json(jsonRDD: RDD[Stirng])重载.

对于older versions:

val jsonStr = """{ "metadata": { "key": 84896, "value": 54 }}"""
val rdd = sc.parallelize(Seq(jsonStr))
val df = sqlContext.read.json(rdd)

Json相关问答推荐

如何将自定义卡保存到dart/flutter中的共享偏好设置?

如何在PowerShell中扩展JSON中的嵌套数组

Golang返回的JSON顶级字段是可变的.如何在 struct 中使用

在Ruby的json中压缩单个字段

jq如何合并两个json对象

爆炸没有数组的 struct pyspark

使用 jolt 将对象数组转换为数组

使用本地 JSON api react TS Axios

使用 serde 和 csv crates 将嵌套的 json 对象序列化为 csv

用powershell条件解析json文件的数组对象

jq:来自嵌套 JSON 的映射

Rails 控制器无需编码即可渲染 json

如何使用 json.net 将数据表转换为 json 字符串?

apple-app-site-association json 文件是否会在应用程序中更新?

使用 JSON 的 javascript 深拷贝

在 Android 中使用带有 post 参数的 HttpClient 和 HttpPost

JSON日期到Java日期?

Sequelize - 如何仅返回数据库结果的 JSON 对象?

如何从 MySQL 中检索 JSON 数据?

JSON - 是否有任何 XML CDATA 类似功能?