1.4Kпросмотров
91.6%от подписчиков
20 января 2026 г.
Score: 1.5K
⚡️ Python для DE: что знать, где использовать и как он реально облегчает жизнь Спойлер: можно и без него, но будет сложнее. Зачем вообще учить 🎯 Его часто спрашивают на собесах.
Обычно это база: списки/словари, функции, строки, файлы, чуть-чуть pandas/pySpark (редко). 🎯 Он не сложный и окупается быстро.
Особенно когда ты уже пишешь расчёты в Spark — Python там прям рядом. Где я сам использую Python (в связке со Spark) Мой основной стек сейчас: Spark + HDFS + Hive.
Раньше я писал почти всё на spark.sql, сейчас всё чаще комбинирую. И да — это даёт плюс. 1️⃣ Переменные для схем, таблиц и путей (один раз объявил — и забыл)
SRC_SCHEMA = "raw"
STG_SCHEMA = "stg"
ORDERS_TBL = f"{STG_SCHEMA}.orders" start_dt = "2025-01-01"
end_dt = "2026-01-01" 2️⃣ Циклы для однотипных расчётов создание view
table_lst = ["orders", "order_items", "payments"] views = []
for t in range(len(table_lst)): table_name = table_lst[t].split('.'[1]) print(table_name) query = f"..." df = spark.sql(query) v = f"df_agg_{table_name}" df.createOrReplaceTempView(v) views.append(v) 3️⃣ Функции по строкам / генераторы / f-строки
def ym(dt: str) -> str: return dt[:7] # 'YYYY-MM' cols = [f"col_{i}" for i in range(1, 6)] 4️⃣ Чтение/запись файлов
out_path = f"/workspace/out/orders_{start_dt}_{end_dt}"
df.write.mode("overwrite").parquet(out_path)
back = spark.read.parquet(out_path) Я заметил, что проще потратить полдня/день на нормальный скрипт, чем каждый раз делать одну и ту же ручную последовательность действий.
Тут показывал свой рабочий кейс — https://t.me/kuzmin_dmitry91/29. Каждый отдельный ручной шаг — 2 минуты. В сумме:
🎯теряется время
🎯копятся мелкие ошибки
🎯сложнее воспроизводить результат А автоматизация даёт:
🎯меньше человеческого фактора
🎯проще логировать
🎯проще повторять расчёт и дебажить Если ты сейчас работаешь только в spark.sql — это ок.
Но если хочешь быстрее собирать расчёты и меньше ошибаться — Python очень быстро начинает приносить пользу. ❓ Вопрос: какие ручные операции есть в твоих задачах? (типа: вьюхи, пути, ручные параметры, переименование таблиц, выгрузки/проверки) #кейсы