Автор — разработчик, который устроился в Deepnote и быстро понял: он ни черта не знает о data-инструментах. Пришлось разбираться, опрашивать коллег и клиентов, а потом он написал гайд для таких же потерянных программистов.
В data-мире четыре типа специалистов. Аналитики работают с SQL, Tableau и Excel — строят дашборды и ищут инсайты. Научные (data scientists) используют Python, pandas и scikit-learn — строят модели и A/B-тесты. Инженеры строят пайплайны на Spark, поддерживают базы и делают так, чтобы данные вообще можно было анализировать. ML-специалисты крутят модели, но в статье они почти не рассматриваются.
Жизненный цикл данных — это ETL или ELT: извлечение, преобразование, загрузка. Сначала данные откуда-то забирают. Источники — PostgreSQL, Stripe, IoT. Чтобы не писать скрипты вручную, используют Fivetran, Airbyte или dlt. Для баз применяют change data capture (CDC), а под капотом часто работает Debezium.
Данные хранят по-разному. CSV удобен для обмена с нетехническими людьми, Apache Parquet — колоночный формат, стандарт для передачи и хранения больших объёмов. Apache Arrow — это формат в памяти, он оптимизирован для быстрого обмена между инструментами (pandas → DataFusion). Data warehouse (Snowflake, BigQuery, Redshift, ClickHouse) — дорогое, но быстрое OLAP-хранилище. Data lake — дешёвое облачное хранилище вроде Amazon S3 с мета-каталогом (Hive Metastore, AWS Glue) и query engine (Spark, Trino, Athena). Data lakehouse (Apache Iceberg, Delta Lake, Apache Hudi) — гибрид: дешевизна озера + ACID-транзакции, управление схемой и time travel.
Обработка бывает batch (dbt, SQLMesh — описываешь трансформации на SQL) и realtime (Apache Flink). Локально с данными работают через DataFrame: pandas (самый популярный), Polars (быстрее, ленивые вычисления), DuckDB («SQLite для аналитики»). Когда данные не влазят в одну машину, подключают Apache Spark, Dask или Ray — они раскидывают задачи по кластеру. Spark умеет читать и писать в любое хранилище и используется как query engine для озёр.