当前位置: 首页 > 知识库问答 >
问题:

spark scala -将json字符串转换为json结构

乜清野
2023-03-14

我有一个具有如下架构的数据

 |-- aaa: string (nullable = true)
 |-- bbb: long (nullable = false)
 |-- ccc: string (nullable = true)
 |-- ddd: string (nullable = true)
 |-- eee: long (nullable = false)

我已经有了上面的结果。

我想使用火花scala转换如下架构

  |ddd:struct (nullable = true)
      |-- aaa: string (nullable = true)
      |-- bbb: string (nullable = true)
      |-- ccc: string (nullable = true)
      |-- eee: string (nullable = true)

请帮忙

共有1个答案

松茂实
2023-03-14

您应该使用struct函数

第一种方法是使用<code>with column

import org.apache.spark.sql.functions._
df.withColumn("ddd", struct(col("aaa"), col("bbb").cast(StringType).as("bbb"), col("ccc"), col("eee").cast(StringType).as("eee"))).drop("aaa", "bbb", "ccc", "eee")

第二种方法是使用selectapi作为

df.select(struct(col("aaa"), col("bbb").cast(StringType).as("bbb"), col("ccc"), col("eee").cast(StringType).as("eee")).as("ddd"))
 类似资料:
  • 我有一个RestController类,它有一个方法可以根据电影的标题搜索电影: 如果我发送一个json字符串 从邮递员到endpoint,我收到一个空白的回复。 然后我做了一个 就在进入方法后找到字符串filmSearch正是我从邮递员发送的JSON字符串。我的应用程序没有看到JSON和提取值从filmSearch在我的请求附加到应用程序内字符串filmSearch. 如果我移除 在请求映射的一

  • 问题内容: 我正在使用Java,并且有一个JSON字符串: 然后我的Java地图: 我想将来自JSONObject的所有数据存储在该HashMap中。 谁能为此提供代码?我想使用图书馆。 问题答案: 我几天前通过递归编写了这段代码。

  • 我使用的是Java,我有一个字符串是JSON: 我希望将JSONObject中的所有数据存储在HashMap中。 有人能为此提供代码吗?我想使用库。

  • 问题内容: 我有一个无效的json字符串,如下所示, 我尝试使用JSON.parse将其转换为对象。但是,这不是有效的json字符串。是否有任何函数可以将这种无效格式转换为有效的json字符串或直接转换为对象? 问题答案: 如果您的示例语法与真实JSON相同,则JSONLint表示您需要对名称和值使用双引号。 仅在这种情况下,请使用以下替换调用: 但是,您首先应该尝试使用有效的Json。

  • 问题内容: 我想得到一个表示像这样的json的字符串: {“投票”:{“ option_A”:“ 3”}} 并在其中包含一个“计数”键, 这样结束: {“投票”:{“ option_A”:“ 3”},“ count”:“ 1”} 这就是为什么我计划将其转换为json以便可以添加计数然后再次将其设置为字符串的原因。 问题是我不知道该json的结构 ,所以我无法使用,因为该结构有所不同。我怎样才能做到

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