在 Spark 1.5.1 版中保存为文本文件时,我使用:rdd.saveAsTextFile('<drectory>')
.
但是,如果我想在该目录中找到该文件,我该如何命名它?
目前,我认为它被命名为 part-00000
,这必须是一些默认值。我怎么给它起个名字?
最佳答案
正如我在上面的评论中所说,可以找到带有示例的文档 here .并引用方法说明saveAsTextFile
:
Save this RDD as a text file, using string representations of elements.
在下面的示例中,我将一个简单的 RDD 保存到一个文件中,然后加载它并打印其内容。
samples = sc.parallelize([
("abonsanto@fakemail.com", "Alberto", "Bonsanto"),
("mbonsanto@fakemail.com", "Miguel", "Bonsanto"),
("stranger@fakemail.com", "Stranger", "Weirdo"),
("dbonsanto@fakemail.com", "Dakota", "Bonsanto")
])
print samples.collect()
samples.saveAsTextFile("folder/here.txt")
read_rdd = sc.textFile("folder/here.txt")
read_rdd.collect()
输出将是
('abonsanto@fakemail.com', 'Alberto', 'Bonsanto')
('mbonsanto@fakemail.com', 'Miguel', 'Bonsanto')
('stranger@fakemail.com', 'Stranger', 'Weirdo')
('dbonsanto@fakemail.com', 'Dakota', 'Bonsanto')
[u"('abonsanto@fakemail.com', 'Alberto', 'Bonsanto')",
u"('mbonsanto@fakemail.com', 'Miguel', 'Bonsanto')",
u"('stranger@fakemail.com', 'Stranger', 'Weirdo')",
u"('dbonsanto@fakemail.com', 'Dakota', 'Bonsanto')"]
让我们来看看使用基于 Unix 的终端。
usr@host:~/folder/here.txt$ cat *
('abonsanto@fakemail.com', 'Alberto', 'Bonsanto')
('mbonsanto@fakemail.com', 'Miguel', 'Bonsanto')
('stranger@fakemail.com', 'Stranger', 'Weirdo')
('dbonsanto@fakemail.com', 'Dakota', 'Bonsanto')
关于apache-spark - 在spark中saveAsTextFile时如何命名文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33660002/