变量pyspark.rdd.PipelinedRDD
的类型为origin
,[u'masquerade',
u'squaremade',
u'dianas',
u'naiads',
u'antagonist',
u'stagnation',
u'bates',
u'beast',
u'beats',
u'thanks']
包含以下内容:
[(u'aadeemqrsu', {u'masquerade', u'squaremade'}),
(u'aadins', {u'dianas', u'naiads'}),
(u'aaginnostt', {u'antagonist', u'stagnation'}), ...
(u'abest', {u'bates', u'beast', u'beats'}), ...]
我希望键和按键排序的所有字谜:
map
我知道它可能需要reducebykey
或import javax.swing.*;
import java.awt.event.*;
public class Editor extends CenteredFrame{
private static final long serialVersionUID = 2549009292395922530L;
public Editor(String title){
super();
}
JMenuBar menuBar = new JMenuBar();
//add a menu cut
JMenu cut = new JMenu("Edit");
cut.addMenuListener(this);
}
功能,但我真的不知道该怎么做。
答案 0 :(得分:1)
首先,您需要定义RDD:
origin = [u'masquerade',
u'squaremade',
u'dianas',
u'naiads',
u'antagonist',
u'stagnation',
u'bates',
u'beast',
u'beats',
u'thanks']
origin_rdd = sc.parallelize(origin)
您可以打印它以查看结果:
print origin_rdd.take(10)
现在将其转换为键值对:
origin_kv = origin_rdd.map(lambda word: ("".join(sorted([letter for letter in word])),[word]))
做reduce:
res = origin_kv.reduceByKey(lambda word1,word2: word1 + word2)
您可以打印结果:
print res.take(10)
如果您还需要要排序的键,并且驱动程序中有足够的空间用于所有数据,您可以对结果进行排序:
print sorted(res.take(10))