在Prepare my bigdata with Spark via Python问题之后,我做了:
data = data.map(lambda x: (x[0], json.loads(x[1])))
r = data.flatMap(lambda x: ((a,x[0]) for a in x[1]))
r2 = r.groupByKey().map(lambda x: (x[0],tuple(x[1])[:150]))
r2.saveAsTextFile('foo')
现在当我读到它时:
data = sc.textFile('foo')
dataList = data.collect()
我明白了:
In [4]: dataList[8191][0]
Out[4]: u'('
In [5]: dataList[8191]
Out[5]: u"(5119, (u'5873341528', u'8599419601', u'5155716547'))"
In [6]: len(dataList[8191][1])
Out[6]: 1
In [7]: dataList[8191][1]
Out[7]: u'5'
虽然数据意味着像第一项一样被访问为5119,第二项是元组。我看到那里的unicode标志,我没有要求它......
有什么想法吗?