如何解决这个问题?
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”的对象
最佳答案
看来你有:
rdd = sc.parallelize(['3e866d48b59e8ac8aece79597df9fb4c'])
这是一个一维数据结构,一个数据框是2d;将每个数字映射到一个元组可以解决这个问题:
rdd.map(lambda x: (x,)).toDF().show()
+--------------------+
| _1|
+--------------------+
|3e866d48b59e8ac8a...|
+--------------------+
关于pyspark - StructType 不能接受对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47927044/