使用pyspark和pipe构造时遇到问题。我认为这些应该是等价的。 案例1:
lines = sc.textFile("s3n://somestuff").map(lambda line: line)
lines.saveAsTextFile("s3n://otherstuff")
和 案例2:
lines = sc.textFile("s3n://somestuff").pipe('cat')
lines.saveAsTextFile("s3n://otherstuff")
我认为唯一的区别是管道应该在分区上运行,而地图每行运行但结果应该在这里相同。
案例1在我的情况下运行大约50秒(1MM行) &安培;案例2在20分钟后没有完成。 我错过了一些基本的东西吗?
试图在shell中用等效的scala代码运行带有管道的案例2。大约6秒完成。在pyspark shell中同样的事情再也没有在几分钟内完成。
由于文档到sc.parallelize
的示例确实有效,我认为这不一定是个错误。也许我缺少一些参数?有人经历过类似的事吗?