我正在使用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有關嗎?