StructType不能接受对象?

时间:2017-12-21 14:29:38

标签: pyspark

如何解决此问题?

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”

1 个答案:

答案 0 :(得分:7)

好像你有:

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

哪个是一维数据结构,数据帧是2d; map元组的每个数字都可以解决问题:

rdd.map(lambda x: (x,)).toDF().show()
+--------------------+
|                  _1|
+--------------------+
|3e866d48b59e8ac8a...|
+--------------------+