Apache spark 创建文件元数据的RDD
我们有如下命名约定的文件。每个文件大小只有几个KBs,而NFS中有数百万个 “XXXXXXXXX..YYMMDD.HHMMSS.NNNN.tarbz2 我们希望每个“XXXXXXXXX”每月只加载最后5个文件 我们可以通过文件系统调用来获取文件名,并为sc.binaryFiles提供一组经过过滤的文件。但这似乎是一种黑客行为,一旦我们转到HDFS,可能就不起作用了Apache spark 创建文件元数据的RDD,apache-spark,Apache Spark,我们有如下命名约定的文件。每个文件大小只有几个KBs,而NFS中有数百万个 “XXXXXXXXX..YYMMDD.HHMMSS.NNNN.tarbz2 我们希望每个“XXXXXXXXX”每月只加载最后5个文件 我们可以通过文件系统调用来获取文件名,并为sc.binaryFiles提供一组经过过滤的文件。但这似乎是一种黑客行为,一旦我们转到HDFS,可能就不起作用了 在spark中有更好的方法实现这个用例吗?你能给一个具体的例子说明文件名和如何识别要加载的文件吗?你可以尝试使用wholeTextF
在spark中有更好的方法实现这个用例吗?你能给一个具体的例子说明文件名和如何识别要加载的文件吗?你可以尝试使用
wholeTextFiles()
方法od sparkContext它将返回元组[(文件名,文件内容)]
您可以根据this@AkashSethi正如我所提到的,这些文件是二进制文件,使用wholeTextFile加载是不正确的。@hage文件是根据文件名中提到的“YYMMDD.HHMMSS.NNNN”排序的,并使用最新的5个文件。