Быстрый Паркетный ряд в Spark
Файлы Parquet содержат поле количества строк для каждого блока. Спарк, кажется, читает это в какой-то момент (SpecificParquetRecordReaderBase.java#L151
).
Я попробовал это вspark-shell
:
sqlContext.read.load("x.parquet").count
И Spark провел два этапа, показывая различные этапы агрегирования в DAG. Я полагаю, это означает, что он обычно читает файл, а не использует количество строк. (Я могу ошибаться.)
Вопрос в том, использует ли Spark поля подсчета строк при запускеcount
? Есть ли другой API для использования этих полей? Является ли полагаться на эти поля плохой идеей по какой-то причине?