在 Spark 版本 1.5.1 中另存为文本文件时,我使用:rdd.saveAsTextFile('<drectory>')
.
但是如果我想在该目录中找到该文件,我该如何命名它呢?
目前,我认为它的名字是part-00000
,这必须是某种默认值。我该如何给它命名?
这个问题的正确答案是saveAsTextFile
不允许您命名实际文件。
其原因是数据已分区并且位于作为调用参数给出的路径内saveAsTextFile(...)
,它会将其视为一个目录,然后为每个分区写入一个文件。
您可以致电rdd.coalesce(1).saveAsTextFile('/some/path/somewhere')
它将创造/some/path/somewhere/part-0000.txt
.
如果您需要比这更多的控制,则在执行完以下操作后,您将需要在您的终端上执行实际的文件操作rdd.collect()
.
请注意,这会将所有数据拉入一个执行程序,因此您可能会遇到内存问题。这就是你要承担的风险。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)