我想知道是否可以在Spark应用程序中从驱动程序访问HDFS。这意味着,如何在驱动程序中从/向HDFS读/写文件。一种可能的解决方案是将文件读取为RDD(sc.textFile
),然后在驱动程序中收集它。但是,这不是我在寻找的。 p>
答案 0 :(得分:4)
如果你想直接从驱动程序访问HDFS,你可以简单地(在Scala中):
val hdfs = FileSystem.get(sc.hadoopConfiguration)
然后您可以使用如此创建的变量hdfs
直接访问HDFS作为文件系统,而无需使用Spark。
(在代码快照中,我假设您SparkContext
已正确配置sc
答案 1 :(得分:-3)
只需使用collect操作收集驱动程序中的所有数据,并使用hdfs的java api将其写入hdfs。