StructType不能接受对象?

问题描述 投票:0回答:1

我该如何解决这个问题?

rdd.collect()  //['3e866d48b59e8ac8aece79597df9fb4c'...]

rdd.toDF()    //Can not infer schema for type: <type 'str'>

myschema=StructType([StructField("col1", StringType(),True)])
rdd.toDF(myschema).show()

// StructType不能接受对象“3e866d48b59e8ac8aece79597df9fb4c”的类型

pyspark
1个回答
7
投票

看来你有:

rdd = sc.parallelize(['3e866d48b59e8ac8aece79597df9fb4c'])

这是一维数据结构,数据帧是2d; map每个数字到一个元组解决了问题:

rdd.map(lambda x: (x,)).toDF().show()
+--------------------+
|                  _1|
+--------------------+
|3e866d48b59e8ac8a...|
+--------------------+
© www.soinside.com 2019 - 2024. All rights reserved.