如何在spark中从驱动程序读取/写入HDFS

时间:2016-06-30 17:32:23

标签: scala apache-spark pyspark

我想知道是否可以在Spark应用程序中从驱动程序访问HDFS。这意味着,如何在驱动程序中从/向HDFS读/写文件。一种可能的解决方案是将文件读取为RDD(sc.textFile),然后在驱动程序中收集它。但是,这不是我在寻找的。

2 个答案:

答案 0 :(得分:4)

如果你想直接从驱动程序访问HDFS,你可以简单地(在Scala中):

val hdfs = FileSystem.get(sc.hadoopConfiguration)

然后您可以使用如此创建的变量hdfs直接访问HDFS作为文件系统,而无需使用Spark。

(在代码快照中,我假设您SparkContext已正确配置sc

答案 1 :(得分:-3)

只需使用collect操作收集驱动程序中的所有数据,并使用hdfs的java api将其写入hdfs。