Я наткнулся на приведенный ниже пример:
lines = sc.textFile("some_file.txt") //line_1
lineswithFriday = lines.filter(lambda line: line.startwith("Friday")) //line_2
lineswithFriday.first(); //line_3
Там также написано, что
spark сканирует файл только до тех пор, пока не найдет первую строку, начинающуюся с friday
.Ему не нужно проходить весь файл.
Мой вопрос: означает ли это, что spark будет загружать каждую строку по одной в память, посмотрите, начинается ли она с Friday
, и если да, остановитесь на этом?
Скажем, line_1
создал три раздела на основе ядер и входных блоков.line_2
выполнит вычисления через отдельный рабочий поток на каждом ядре.На line_3
, как только любой работник найдет строку, начинающуюся с Friday
, он на этом остановится?