我正在使用Spark Java API。我正在尝试从目录读取文件并过滤出一些行。我的代码看起来像这样:用过滤器读取的火花
final JavaSparkContext jsc = new JavaSparkContext(sparkConf);
JavaRDD<String> textFile = jsc .textFile("/path/to/some/file");
//First Read....
JavaRDD<Msg> parsedMessages = textFile.map(....);
//Then Filter
JavaRDD<Msg> queryResults = parsedMessages.filter(....)
是否有一种方法可以将读取和过滤操作组合到同一个操作中?像用过滤器阅读的东西?我有一个非常具体的要求,我必须查询一个非常大的数据集,但我得到一个相对较小的结果集。然后我必须对那些过滤的数据进行一系列转换和计算。我不想将整个数据集读入内存,然后将其过滤掉。我没有那么多的记忆。我想要做的是在读取时对其进行过滤,以便只读取与某些正则表达式匹配的行。这可能与Spark有关吗?