Data Engineering / Инженерия данных / Data Engineer / DWH
1.95K subscribers
49 photos
7 videos
52 files
350 links
Data Engineering: ETL / DWH / Data Pipelines based on Open-Source software. Инженерия данных.

DWH / SQL
Python / ETL / ELT / dbt / Spark
Apache Airflow

Рекламу не размещаю
Вопросы: @iv_shamaev | datatalks.ru
Download Telegram
Quick Reference
Here are some cheatsheets and quick references contributed by open source angels.

https://github.com/Fechin/reference
👍2
Яндекс выложил YT в opensource

Это очень большая новость для мира обработки данных. И огромный шаг для команды YT — ребята, поздравляю!

Многие слышали про ClickHouse, который уже успел сформировать свой клуб фанатов и даже форкнуться в отдельную компанию с приличной капитализацией. Но ClickHouse (CH) — это слой потребления данных. Чтобы получилась красивая витрина, которую удобно крутить в CH, нужно обработать несколько тонн данных — и сам CH для ETL-преобразований не годится совсем. И вот тут вы встанете перед выбором технологий хранилища. Если вы маленький или средний стартап, вы пойдете в облака — и правильно сделаете. Но если вам по какой-то причине нужно иметь чуткий контроль за своей инфраструктурой данных, вы уже управляете Hadoop-кластером, и тем более, если вам при этом жмёт — присмотритесь к YT.

В 2017 мы в Такси решили строить DWH на GreenPlum, потому что YT и YQL были ещё незрелыми — нам было больно по утрам видеть нерассчитанные витрины, потому что "ой, мы тут логику join'ов немного поменяли". В добавок join’ы были очень медленные и неэффективные, что очень критично для DWH. Теперь же таблицы-справочники до 80GB клеятся "на лету" (на нашем кластере). Когда стал вопрос о том, что DWH Маркета нуждается в нормальной архитектуре, технологиях и менеджерских подходах, я очень топил за сведение задачи к решённой — давайте возьмём всё у Такси. Но команде Маркета удалось убедить меня, и я с приятным удивлением обнаружил, что YT и инструментарий вокруг него доросли до той степени зрелости, когда ничего дополнительного и не нужно. Короче, мой рекомендасьон — 10 хадупов из 10!

Кстати, над любой таблицой, хранящейся в YT, можно выполнить SQL запрос, используя ClickHouse на ресурсах YT, просто добавив перед запросом строчку
USE chyt.<clustername>;


Небольшой повод для гордости — в составе этого релиза есть Spark over YT. Эта штука сделана в Такси моей командой. Федя Лаврентьев увидел дырку в линейке технологий Яндекса по обработке данных и решил, что надо попробовать запустить Spark на YT. Федя нанял феноменальную Сашу Белоусову на эту задачу — и Саша за пару месяцев сделала работающий прототип, который решили развивать дальше.

PS. В opensource технологию назвали YTsaurus. Все эти годы в Яндексе она ласково называлась "Ыть" =)

https://habr.com/ru/company/yandex/blog/721526/
👍4
Forwarded from Инжиниринг Данных (Dmitry)
DATALEARN | DE - 101 | МОДУЛЬ 7-4 ЗНАКОМСТВО С SPARK API

В этом модуле мы познакомимся еще ближе с Apache Spark.

В этом видео вы узнаете про:

📌 что такое RDD (Resilient Distributed Datasets)
📌 что такое DataFrame
📌 посмотрим на пример синтаксиса Scala vs Python
📌 типы данных Spark
📌 схему(schema) dataframe
📌 колонки (colums) и вычисляемы (expressions) поля dataframe
📌 основные операции при работе с dataframe (Reader, Wrtiter)
📌 примеры чтения разных источников и файлов (API, база данных, JSON, Parquet, CSV, TXT)
📌 различные операции для трансформации, фильтрации и агрегации данных в Spark DataFrame (прям как в SQL)
📌 Spark SQL, Catalyst Optimizer
📌 план запроса Spark
📌 примеры advance Spark функций и ноутбуков в Databticks

В качестве лабораторной работы мы будем анализировать данные по пожарной службы Сан-Франциско. Я покажу, как можно прочитать файл и выполнить простые запросы на PySpark.

Так же мы посмотрим на курс от Databricks про Apache Spark Developer. Мы посмотрим лишь, часть, которая относится к этой лекции:

📌 Reader & Writer
📌 DataFrame & Column
📌 Aggregations
📌 Datetime functions
📌 Complex Types
📌 Additional Spark Functions

PS В репозиторий я добавил следующие доп материалы:

🌴Есть целый курс Apache Spark Programming в 2х вариантах:
- HTML - вы можете посмотреть на пример кода
- Databricks Notebooks - вы можете загрузить ноутбуки в Databricks Community Edition

🌴Так же я создал небольшой docker-compose.yml (chatGPT4 создал 🤖) - как шаблон для запуска:
- Spark 3.2.0
- Jupyter notebooks

Что нужно сделать (помочь):
1. Взять курс Databricks, и скопировать демо данные (там монтируется папка с Parquet) в наш репозиторий.
2. Проверить, что docker-compose работает, и добавить файлы из лаб (PySpark) и демо данные в контейнер по Jupyter.

Таким образом, Databricks нам больше вообще не нужен будет, чтобы пройти курс Apache Spark Developer. Кто в теме, сделайте pull request. Вы можете обсудить этот вопрос в Datalearn чате (модуль 7).
Доступ к ChatGPT
Если не знаете, как получить доступ к ChatGPT, то советую заюзать https://onlinesim.io/v2/numbers/

Не реклама (сам несколько раз использовал)
Hi everyone!

Great work on the projects! Now it's time to evaluate your peers.

We've updated the page with the projects (https://github.com/DataTalksClub/data-engineering-zoomcamp/blob/main/cohorts/2023/project.md), now it contains two more links:

- Peer review assignments: https://docs.google.com/spreadsheets/d/e/2PACX-1vRYQ0A9C7AkRK-YPSFhqaRMmuPR97QPfl2PjI8n11l5jntc6YMHIJXVVS0GQNqAYIGwzyevyManDB08/pubhtml?gid=0&single=true
- Evaluation form: https://forms.gle/1bxmgR8yPwV359zb7

To find the projects assigned to you, use the first link (peer review assignments) and find your hash in the first column. You will see three rows: you need to evaluate each of these projects. For each project, you need to submit the form once, so in total, you will make three submissions.

Use this as an opportunity to learn from your peers - and you will learn a lot.

But also remember - if you don't do peer review, you will fail your projects.

Have fun!

Also - the form for submitting project attempt #2 is open, so if you didn't have time to work on your project yet, now you can do it.