我可以在Spark中跟踪记录源吗?

时间:2014-07-02 20:04:04

标签: java apache-spark

与Spark并行处理多个文件时,我想知道特定记录来自哪个文件。我的目标是为每个记录分配文件ID(或至少文件名),以进行内部审计。 有没有办法做到这一点?

我使用的是Spark Java API。

1 个答案:

答案 0 :(得分:1)

是的,您可以使用SparkContext.wholeTextFiles,它将文件名作为键,整个文件作为值。如果sc是SparkContext(在您的情况下为JavaSparkContext),则只需调用sc.wholeTextFiles("path/to/dir/")

P.S。:之前我回答了类似的问题并发现此函数在读取压缩文件时遇到问题(仅使用gzip进行测试),请注意这一点。