Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 创建文件元数据的RDD_Apache Spark - Fatal编程技术网

Apache spark 创建文件元数据的RDD

Apache spark 创建文件元数据的RDD,apache-spark,Apache Spark,我们有如下命名约定的文件。每个文件大小只有几个KBs,而NFS中有数百万个 “XXXXXXXXX..YYMMDD.HHMMSS.NNNN.tarbz2 我们希望每个“XXXXXXXXX”每月只加载最后5个文件 我们可以通过文件系统调用来获取文件名,并为sc.binaryFiles提供一组经过过滤的文件。但这似乎是一种黑客行为,一旦我们转到HDFS,可能就不起作用了 在spark中有更好的方法实现这个用例吗?你能给一个具体的例子说明文件名和如何识别要加载的文件吗?你可以尝试使用wholeTextF

我们有如下命名约定的文件。每个文件大小只有几个KBs,而NFS中有数百万个

“XXXXXXXXX..YYMMDD.HHMMSS.NNNN.tarbz2

我们希望每个“XXXXXXXXX”每月只加载最后5个文件

我们可以通过文件系统调用来获取文件名,并为sc.binaryFiles提供一组经过过滤的文件。但这似乎是一种黑客行为,一旦我们转到HDFS,可能就不起作用了


在spark中有更好的方法实现这个用例吗?

你能给一个具体的例子说明文件名和如何识别要加载的文件吗?你可以尝试使用
wholeTextFiles()
方法od sparkContext它将返回元组
[(文件名,文件内容)]
您可以根据this@AkashSethi正如我所提到的,这些文件是二进制文件,使用wholeTextFile加载是不正确的。@hage文件是根据文件名中提到的“YYMMDD.HHMMSS.NNNN”排序的,并使用最新的5个文件。