当前位置: 首页 > 面试题库 >

如何在Spark上将JSON字符串转换为数据帧

华建同
2023-03-14
问题内容

我想将下面的字符串变量转换为spark上的dataframe。

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

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

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

但是我不知道如何从字符串变量创建数据框。

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


问题答案:

对于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])重载。它也sqlContext.read.json(path: String)可以直接读取Json文件。

对于旧版本:

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


 类似资料:
  • 问题内容: 我已经编写了使用SparkSQL访问Hive表的代码。这是代码: 我想知道如何将完整的输出转换为String或String数组?当我尝试与另一个只能传递String或String type Array值的模块一起使用时。 我试过其他方法,例如将类型转换为字符串值或将其转换为字符串值。但是没有为我工作。 请让我知道如何将DataSet值转换为String? 问题答案: 这是Java中的示

  • 问题内容: 我在JS中有一个JSON对象,我想将其转换为字符串。这是功能吗? 提前致谢, 问题答案: JSON.stringify() 将值转换为JSON,如果指定了replacer函数,则可以选择替换值,如果指定了replacer数组,则可以选择仅包括指定的属性。

  • 我有一个具有如下架构的数据帧 我已经有了上面的结果。 我想使用火花scala转换如下架构 请帮忙

  • 问题内容: 我已经开始在golang中工作,我正在尝试解析JSON字符串以构建结构,但无法正常工作。 JSON字符串: 每日”:[{“ userAccessToken”:“ acessToken”,“ uploadStartTimeInSeconds”:1499744832,“ uploadEndTimeInSeconds”:1499744832,“ callbackURL”:“ callback

  • 问题内容: 使用服务器端C#,如何将查询字符串转换为键和值的JSON字符串?例如,我想转换 至 我知道如何手动解析和格式化,但是在走那条路之前,我想问一下,因为可能有一个库可以做得更好。谢谢! 问题答案: 这给出了您想要的完全相同的json

  • 问题内容: 我试过了: 它返回:我期望 如何执行此操作? 问题答案: 不是IDictionary,因此无法直接将其序列化。您首先需要将其转换为字典,然后对其进行序列化。 更新 :关于每个键多个值的问题之后,对的调用将简单地将它们返回,并以逗号分隔,这可能没问题。如果不是,则总是可以调用并决定如何适当地使用这些值。更新了下面的代码以显示一种可能的方法。