【发布时间】:2017-12-05 06:29:30
【问题描述】:
我是 Spark 的新手。有人可以解决我的疑问吗:
假设下面是我的代码:
a = sc.textFile(filename)
b = a.filter(lambda x: len(x)>0 and x.split("\t").count("111"))
c = b.collect()
我希望下面是内部发生的事情:(如果我的理解有误,请纠正)
(1) 变量 a 将被保存为包含预期 txt 文件内容的 RDD 变量
(2) 驱动节点将工作分解为任务,每个任务都包含有关它将操作的数据拆分的信息。 现在这些任务被分配给工作节点。
(3) 当collection action(本例中为collect())被调用时,结果会从不同节点返回给master,并保存为局部变量c。
现在我想了解下面的代码有什么不同:
a = sc.textFile(filename).collect()
b = sc.parallelize(a).filter(lambda x: len(x)>0 and x.split("\t").count("111"))
c = b.collect()
有人可以澄清一下吗?
【问题讨论】:
标签: apache-spark pyspark rdd