В спарке есть два типа операций: действия и трансформации.
🦥В чем отличия?
Как и все мы, спарк очень любит лениться и ничего не делать. И он не будет тратить свою энергию на то, что никогда не понадобится. Так вот трансформации будут складироваться в цепочку по порядку, но никогда не выполнятся, если не будет запущено действие.
🔮Примеры трансформаций:
select() - выбираем столбцыwithColumn() - добавляем новое полеwhere()/filter() - фильтруемorderBy()/sort() - сортируемjoin() - джойнимgroupBy() - группируемunion() - объединяемdistinct() - удаляем дубликаты по всем столбцамdropDuplicates() - удаляем дубликаты по некоторым столбцамdrop() - удаляем столбцыSQL на максималках
💃Примеры действий:
show() - выводим датафрейм на экранcount() - считаем количество строкtoPandas() - собираем датафрейм в pandas dfКак использовать?
# Трансформации возвращают датафрейм
# Результата на экране нет
df = df.select('col1', 'col2').sort('col1')
# Действия возвращают НЕ датафрейм
# Результат на экране есть
df.show()
#spark
