ast.literal_eval
应该做到这一点:
import astdata1 = [(u'BAR_0', [1.0, 2.0, 3.0]), (u'FOO_1', [4.0, 5.0, 6.0])]rdd = sc.parallelize(data1)rdd.saveAsTextFile("foobar_text")data2 = sc.textFile("foobar_text").map(ast.literal_eval).collect()assert sorted(data1) == sorted(data2)但总的来说,最好首先避免这种情况,并使用例如
SequenceFile:
rdd.saveAsPickleFile("foobar_seq")sc.pickleFile("foobar_seq")


