【发布时间】:2020-10-13 07:09:18
【问题描述】:
我使用的企业集群同时具有本地和 HDFS 文件系统。我需要处理的文件是 netcdf 格式,因此我使用SciSpark 来加载。在没有 HDFS 的工作站上,代码从本地文件夹中读取。但是,当存在 HDFS 文件夹时,它会尝试仅从 HDFS 读取。由于文件夹中存在的文件很大(累积到数百 GB 到 TB),我不得不将它们复制到 HDFS,这既低效又不方便。我用于加载文件的 (Scala) 代码如下所示:
val ncFilesRDD = sc.netcdfDFSFiles(ncDirectoryPath, List("x1", "x2", "x3"))
val ncFileCRDArrayRDD = ncFilesRDD.map(x => (x.variables.get("x1").get.data.toArray,
x.variables.get("x2").get.data.toArray,
x.variables.get("x3").get.data.toArray
))
我非常感谢在修改代码以使我能够使用本地目录而不是 HDFS 的任何帮助。
【问题讨论】:
标签: scala apache-spark hdfs