Представьте У меня есть большой файл журнала формата:фильтр эффективно упорядоченный файл с искрой
Timestamp, text
Timestamp, text
Timestamp, text
Timestamp, text
Timestamp, text
Timestamp, text
Файл журнала уже заказанный метку времени. Если я прочитал файл с искрой в качестве фрейма данных, а затем отфильтровать временную метку между t1 и t2, Затем он проверяет каждую запись, если метка времени находится между t1 и t2, что занимает много времени.
Однако, есть ли способ, которым я могу сказать искру, что df уже заказан, тогда он знал бы, что просто нужно искать первую и последнюю временную метку и возвращать все линии между ними, что было бы намного быстрее?
идеальное решение было бы разметить вход файлы по вашей «Timestamp», а затем читать только файлы, которые вы действительно хотите. Spark поддерживает предикат pushdown, поэтому, если вы сделали 'spark.read.parquet (myParquet.parq) .filter (...)', он позаботился бы только о чтении соответствующих файлов для вас. –