RDD的map和flatMap操作
RDD的map和flatMap操作 RDD的map() 接收一个函数,把这个函数用于 RDD 中的每个元素,将函数的返回结果作为结果RDD 中对应元素的结果。 flatMap()对RDD每个输入元素生成多个输出元素,和 map() 类似,我们提供给 flatMap() 的函数被分别应用到了输入 RDD 的每个元素上。不 过返回的不是一个元素,而是一个返回值序列的迭代器。输出的 RDD 倒不是由迭代器组 成的。我们得到的是一个包含各个迭代器可访问的所有元素的 RDD。 from pyspark import SparkContext if __name__ == "__main__": master = "local" if len(sys.argv) == 2: master = sys.argv[1] try: sc.stop() except: pass sc = SparkContext(master, "WordCount") lines = sc.parallelize(["pandas", "i like pandas"]) result = lines.flatMap(lambda x: x.split(" ")) print(result.collect()) result = lines.map(lambda x: x.split(" ")) print