Как работает фильтр в spark dataframe?

У меня есть таблица в hbase с 1 миллиардами записей.Я хочу отфильтровать записи на основе определенного условия (по дате).

Например:

Dataframe.filter(col(date) === todayDate)

Фильтр будет применен после того, как все записи из таблицы будут загружены в память или я получу отфильтрованные записи?

1 ответ

  1. Если ваш прецедент просто считывается из хранилища, фильтруйте и сохраняйте его где-то, и если у вас есть какой-то способ считывания данных непосредственно в RDD(что делает ленивую загрузку записей), то фильтр будет конвейеризован с чтением и записью. Это означает, что операция фильтра не будет ждать, пока будут прочитаны все данные[ короче говоря, фильтр является преобразованием, а не действием ]. Если у вас есть какие-либо действия перед фильтром, то фильтр будет применен только после чтения всех данных из хранилища.