【发布时间】:2019-08-15 23:22:22
【问题描述】:
我正在尝试迁移到 PySpark 的 MapReduce 作业。有什么方法可以定义输出文件的名称,而不是获取part-xxxxx?
在 MR 中,我使用 org.apache.hadoop.mapred.lib.MultipleTextOutputFormat 类来实现这一点,
PS:我确实尝试了saveAsTextFile() 方法。例如:
lines = sc.textFile(filesToProcessStr)
counts = lines.flatMap(lambda x: re.split('[\s&]', x.strip()))\
.saveAsTextFile("/user/itsjeevs/mymr-output")
这将创建相同的part-0000 文件。
[13:46:25] [spark] $ hadoop fs -ls /user/itsjeevs/mymr-output/
Found 3 items
-rw-r----- 2 itsjeevs itsjeevs 0 2014-08-13 13:46 /user/itsjeevs/mymr-output/_SUCCESS
-rw-r--r-- 2 itsjeevs itsjeevs 101819636 2014-08-13 13:46 /user/itsjeevs/mymr-output/part-00000
-rw-r--r-- 2 itsjeevs itsjeevs 17682682 2014-08-13 13:46 /user/itsjeevs/mymr-output/part-00001
编辑
最近阅读了the article,这将使 Spark 用户的生活更加轻松。
【问题讨论】:
-
你是如何在python中导入MultipleTextOutputFormat的?
标签: python apache-spark