apache-spark - 在spark中saveAsTextFile时如何命名文件?

标签 apache-spark pyspark rdd

在 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/

相关文章:

java - EMR ClassNotFoundException java 中的 Spark 提交

python - PySpark 2.1 : Importing module with UDF's breaks Hive connectivity

apache-spark - Spark SQL中缓存机制的区别

scala - 还有什么其他方法而不是在spark scala中使用collect()

apache-spark - 在 spark java 中读取带有 corrupt_record 的 json 文件

hadoop - 使用 Elasticsearch 实时分析事件日志

Pyspark:错误——Java 网关进程在向驱动程序发送其端口号之前退出

scala - 在 Spark API 中,makeRDD 函数和并行化函数有什么区别?

scala - 如何在 Spark 中显示 KeyValueGroupedDataset?

python - 更改 Spark Web UI 的根路径?