2017-09-10 50 views
0

的我从DF列转换的RDD了DF coulmn

##converting a column into an rdd 
rdd = eDF_review_split.select('splReview').rdd.map(list) 
##print rdd.take(10) 

我得到的结果是由一个RDD如下

[[u'Installing'], [u'the'], [u'game'], [u'was'], [u'a'], [u'struggle'], [u'(because'], [u'of'], [u'games'], [u'for']] 

这是有意义的,因为这些话是从不同的行。

如何将其制作为如下所示的格式?

[u'Installing', u'the', u'game', u'was', u'a', u'struggle', u'(because', u'of', u'games', u'for'] 

我需要这样做,所以我可以做一个适当的字数。

+0

'eDF_review_split'的模式是什么?你能提供一个采样数据吗? – MaFF

+0

为什么要把你的列表拼成一个简单的字数?您可以并行执行减少 –

回答

0

遍历列表的列表,并为主列表中的每个列表追加值到另一个列表。

一个衬里:

list_main_separated = [item for insideList in rdd for item in insideList] 

这意味着:

list_main_separated = [] 

for insideList in rdd: 
    for item in insideList : 
     list_main_separated .append(item) 
+0

是的,我认为这应该可以工作,但bcuz我的rdd很大,它跳过任务 PS。 bcuz我得到'PipelinedRDD'对象不可迭代我正在添加rdd.toLocalIterator() –

3

flatMap

flatMap(f, preservesPartitioning=False)

返回一个新的RDD通过首先施加的功能中的所有元素这R DD,然后展平结果。

identity function

df_review_split.select('splReview').rdd.flatMap(lambda x: x) 

我需要做的,所以我可以做一个适当的字数。

eDF_review_split.groupBy('splReview').count()