1. 程式人生 > >StructType can not accept object %r in type %s" % (obj, type(obj)))

StructType can not accept object %r in type %s" % (obj, type(obj)))

在將string型別的資料型別轉換為spark rdd時,一直報這個錯,StructType can not accept object %r in type %s” % (obj, type(obj)))

.
.
.
s = str(tree)

y = str(YESTERDAY)

list0 = [s, y]

outRes = self.sc.parallelize(list0)

df_tree = outRes.toDF("model: string, dt: string").registerTempTable("temp")
.
.
.

查了半天的資料,問了不少同事都沒能解決掉這個bug。最後終於google到一個類似的case,終於把問題解決。記錄一下!

.
.
.
s = str(tree)

y = str(YESTERDAY)

list0 = [s, y]

outRes = self.sc.parallelize([list0])

df_tree = outRes.toDF("model: string, dt: string").registerTempTable("temp")
.
.
.

上面的問題辦法是,將sc.parallelize([list0])中的list0再轉成一個整體list,問題即可解決。