我有一个rdd如下
rdd_1 = ['"columns":["date","appname","appenv","appstate"]']
我想把它转换成如下的数据帧
+---------+
| columns |
+---------+
|date |
|appname |
|appenv |
|appstate |
+---------+
我尝试的是: 我很累地创建了一个模式,如下所示,并使用它来创建数据帧,但这不起作用
rdd_1_schema = StructType(
[
StructField('columns',ArrayType(StringType()))
])
架构的错误输出如下
rdd1.toDF(schema=rdd_1_schema).show()
错误:
TypeError: StructType can not accept object '"columns": in type <type 'str'>
第二次尝试:我尝试使用平面图
rdd1.flatMap(lambda x: map(lambda e: (x[0], e), x[1])).toDF().show()
但它将每个字符串作为列表的元素,例如下面的输出
+---+---+
| _1| _2|
+---+---+
| ''| c|
+---+---+
目前没有回答
相关问题 更多 >
编程相关推荐