我有一个带字符串类型列的数据帧,这个字符串是JSON格式,我想根据这个JSON格式将这个列转换为多个列。如果我有JSON模式,我可以这样做,但是我没有。
例子:
原始数据帧:
---------------------
| json_string|
---------------------
|{"a":2,"b":"hello"}|
| {"a":1,"b":"hi"}|
---------------------
转换/解析后
--------------
| a | b |
--------------
| 2 | hello|
| 1 | hi|
--------------
我正在使用ApacheSpark 2.1.1。
如果没有预定义的模式,另一个选项是将其转换为RDD[String]
或Dataset[String]
并作为json
加载
下面是你能做的
//convert to RDD[String]
val rdd = originalDF.rdd.map(_.getString(0))
val ds = rdd.toDS
现在加载为json
val df = spark.read.json(rdd) // or spark.read.json(ds)
df.show(false)
同样使用json(ds)
,json(rdd)
在2.2.0
@不推荐(“改用json(数据集[String])”,"2.2.0")
输出:
+---+-----+
|a |b |
+---+-----+
|2 |hello|
|1 |hi |
+---+-----+
问题内容: 我想将下面的字符串变量转换为spark上的dataframe。 我知道如何从json文件创建数据帧。 但是我不知道如何从字符串变量创建数据框。 如何将json字符串变量转换为dataframe。 问题答案: 对于Spark 2.2+: 对于Spark 2.1.x: 提示:这是使用重载。它也可以直接读取Json文件。 对于旧版本:
本文向大家介绍如何将R数据帧中的字符串转换为NA?,包括了如何将R数据帧中的字符串转换为NA?的使用技巧和注意事项,需要的朋友参考一下 我们经常会在数据收集过程中发现错误,这些错误可能会导致研究结果不正确。当错误地收集数据时,将使分析师的工作变得困难。显示数据有错误的一种情况是获取字符串代替数字值。因此,我们需要将这些字符串转换为R中的NA,以便我们可以进行预期的分析。 示例 请看以下数据帧- 将
我有一个pandas数据框架,其中混合了数据类型(DType),我希望将其转换为numpy结构化数组(或记录数组,在本例中基本相同)。对于纯数字数据帧,使用方法很容易做到这一点。我还需要将pandas列的数据类型转换为字符串而不是对象,以便使用numpy方法,该方法将数字和字符串输出到二进制文件,但不会输出对象。 简而言之,我需要将带有的panda列转换为字符串或unicode数据类型的numpy
我想转换一个组织。阿帕奇。火花sql。数据框到组织。阿帕奇。火花rdd。RDD[(字符串,字符串)]在数据块中。有人能帮忙吗? 背景(也欢迎使用更好的解决方案):我有一个Kafka流,它(经过一些步骤)变成了2列数据帧。我想将其放入Redis缓存,第一列作为键,第二列作为值。 更具体地说,输入的类型是:。我尝试将以下内容放入Redis: 错误消息如下所示: 我已经尝试过一些想法(比如函数、rdd)
我有一个RestController类,它有一个方法可以根据电影的标题搜索电影: 如果我发送一个json字符串 从邮递员到endpoint,我收到一个空白的回复。 然后我做了一个 就在进入方法后找到字符串filmSearch正是我从邮递员发送的JSON字符串。我的应用程序没有看到JSON和提取值从filmSearch在我的请求附加到应用程序内字符串filmSearch. 如果我移除 在请求映射的一