Apache spark 检索RDD的所有x[i]-th元素
有没有更好的方法来实现上述目标。我只想得到每个条目的第I个元素 所以基本上你描述的是:Apache spark 检索RDD的所有x[i]-th元素,apache-spark,pyspark,Apache Spark,Pyspark,有没有更好的方法来实现上述目标。我只想得到每个条目的第I个元素 所以基本上你描述的是: entries = sc.textFile(...).map(lambda line: line.split("\t")).map(lambda row:(int(row[0]),row[1])) some_set = set() for entry in entries.collect(): some_set.add(entry[1]) 或广义的 set(entries.keys().distin
entries = sc.textFile(...).map(lambda line: line.split("\t")).map(lambda row:(int(row[0]),row[1]))
some_set = set()
for entry in entries.collect():
some_set.add(entry[1])
或广义的
set(entries.keys().distinct().collect())
在收集值时,为什么要避免收集?运行
entires.map(x=>x[0]).collect()
你是对的。我把问题框错了。想知道是否可以将所有x[i]存储到集合/列表中,而无需将整个RDD加载到驱动程序中。它不必是第一个元素。因此,第二个解决方案是否比条目更好。collect()?这是因为它只收集第x[i]-th个元素而不是整个RDD吗?它更好,因为它只收集不同的元素。如果你想要本地设置
你不会做得更好。如果您只想在distinct
处停止。
set(entries.map(operator.itemgetter(i)).distinct().collect())