Симулятор «Инженер данных» [Тариф Базовый] [Simulative] [Андрон Алексанян, Елизавета Бережная, Антонина Гераськова]

Bot

Администратор
Команда форума
23 Янв 2020
202,272
3,139
113
269049.jpg

1. Введение в профессию
2. SQL и базы данных

17 уроков
Дата инженерам необходимо уметь работать с реляционными базами данных, потому что основной объем информации, которую обрабатывают дата инженеры, хранится как раз в них - например, в PostgreSQL.

  • Вы научитесь писать сложные запросы, решая аналитические кейсы из ритейла, финтеха и онлайн-платформ с помощью SQL.
  • Вы научитесь проектировать реляционные базы данных с учетом правил нормализации и разворачивать их на сервере с нуля.
  • Вы научитесь администрировать базы данных: удалять и вносить изменения в объекты БД, наполнять базу новыми данными или удалять старые.
  • Вы научитесь работать с базами данных разными способами - от специальных IDE до подключения через терминал.
3. Визуализация в Metabase
10 уроков
Уметь работать в системе визуализации данных - полезный навык для дата инженера, чтобы создавать дашборды. Например, дашборд с мониторингом работы скриптов сбора данных из корпоративной CRM-системы.
  • Вы научитесь быстро визуализировать результат SQL-запросов.
  • Вы научитесь строить графики без написания кода с помощью визуального конструктора.
  • Вы научитесь собирать дашборды с сложными фильтрами.
  • Вы научитесь разворачивать и базово администрировать Metabase на сервере.
4. Git/GitHub
11 уроков
Дата инженерам важно уметь работать с системой контроля версий Git, потому что работа над одним проектом всегда происходит в больших командах, где Git - обязательный инструмент совместной разработки.
  • Вы научитесь внедрять в свои проекты Git с учетом лучших практик.
  • Вы научитесь синхронизировать локальный и удаленный репозиторий.
  • Вы научитесь грамотно контрибьютить в проекты коллег, работать с pull request-ами и обрабатывать реквесты ваших коллег.
  • Вы научитесь разрешать конфликты, если при совместной работе с коллегами вами был затронут один и тот же блок кода.
  • Вы научитесь откатывать изменения в случае «кривых» релизов.
5. Python
20 уроков
Программирование на Python - один из ключевых навыков дата инженера, т.к. именно с помощью этого языка вы будете писать скрипты для сбора данных из разных источников и создавать ETL/ELT-пайплайны.
  • Вы научитесь писать код на Python и использовать его для решения прикладных задач: написание скриптов для сбора данных, написание коннекторов к различным базам данных, написание скриптов для сбора данных по API, написание скриптов для обработки и очистки данных для последующей загрузки в хранилище.
  • Вы научитесь работать в разных IDE: VS Code и Google Colab.
6. Объектно-ориентированное программирование в Python (ООП в Python)
7 уроков
Писать код на Python, используя парадигму объектно-ориентированного программирования - также важная часть навыков дата инженера. Читая чужой код, вы будете часто встречаться с ООП, а также многие дата инженерные скрипты предполагают работу с классами.
  • Вы глубоко разберетесь в концепции объектно-ориентированного программирования и особенностях ее реализации в Python.
  • Вы научитесь писать код с использованием классов, методов, атрибутов и контроля доступа.
  • Вы разберетесь в продвинутых концепциях ООП - геттерах, сеттерах, специальных декораторах и т.д.
  • Вы изучите полезные паттерны проектирования.
  • Вы научитесь применять ООП для решения прикладных задач - создания класса-коннектора для разных СУБД по шаблону Singleton, написание ETL-пайплайна с использованием ООП.
7. Python для анализа данных
25 уроков
Работать с библиотеками для обработки данных в Python - полезный навык для дата инженера.
В работе часто возникают данные, представленные в табличном формате, и намного удобней и эффективней решать задачи очистки, трансформации, вычислений и прочего с помощью специализированных библиотек - например, Pandas.
  • Вы научитесь работать с библиотекой Numpy для работы с многомерными массивами данных.
  • Вы научитесь работать с фреймворком Pandas и решать с его помощью прикладные задачи - анализировать активность пользователей, обрабатывать файловые выгрузки и т.д.
  • Дополнительно вы научитесь строить базовые визуализации в Python с помощью Matplotlib, Seaborn и Plotly, что может быть полезно при исследовании новых наборов данных во время работы.
8. Linux
14 уроков
Дата инженерам необходимо уметь работать с Linux, потому что вся аналитическая инфраструктура разворачивается на облачных Linux-серверах.
  • Вы научитесь работать с операционной системой Linux с нуля до уровня продвинутого пользователя.
  • Вы научитесь настраивать и администрировать серверы через командную строку (настройка пользователей, прав доступа, работа с ресурсами).
  • Вы научитесь решать прикладные задачи с помощью bash-скриптинга (например, обходить директории и обрабатывать файлы с логами для последующего анализа).
  • Вы научитесь работать с базой данных через консоль. Научитесь автоматизировать скрипты с помощью cron и systemd.
9. Docker
8 уроков
Инструмент контейнеризации Docker - важный навык для дата инженера, потому что практически вся аналитическая инфраструктура разворачивается с помощью Docker-контейнеров.
  • Вы научитесь устанавливать Docker на разные операционные системы и решать типовые проблемы, связанные с его работой.
  • Вы научитесь разворачивать аналитическую инфраструктуру (Python, PostgreSQL, Nginx) на сервере с помощью Docker.
  • Вы научитесь работать с внутренностями контейнеров и администрировать взаимодействие между изолированными контейнерами.
10. Airflow
16 уроков
Airflow - это инструмент автоматизации и оркестрации скриптов, и он используется практически любым дата инженером во время работы.
  • Вы научитесь разворачивать и администрировать Airflow.
  • Вы научитесь писать dag-и для автоматизации скриптов.
  • Вы научитесь создавать ETL/ELT-пайплайны и сделаете несколько реальных проектов - например, автоматизацию обработки данных об активности студентов крупного онлайн-университета.
11. Продвинутый SQL для работы с большими данными
7 уроков
При работе с большими данными дата инженеру недостаточно знать SQL - нужно владеть специфическими навыками.
  • Вы научитесь создавать функции и процедуры - например, для переливки данных между таблицами или для заполнения витрин.
  • Вы научитесь работать с анонимными блоками и переменными - это позволит вам решать сложные задачи, как на полноценном языке программирования. Например, вычислять характеристики товаров, а потом работать с ними в других запросах.
  • Вы научитесь работать с триггерами - это позволит вам настраивать выполнение определенных действий в зависимости от некоторых условий: например, делать дамп таблицы при попытке ее очистки.
  • Вы научитесь читать план запроса и оптимизировать тяжелые неэффективные SQL-запросы - такая задача постоянно возникает в работе и ее часто дают на собеседованиях.
12. Хранилища данных (DWH) - Clickhouse
8 уроков
В компаниях с развитой аналитической культурой данные собираются в специальные хранилища - Data Warehouse (DWH). И работа с DWH - одна из ключевых задач дата инженера.
На примере DWH Clickhouse вы разберетесь в архитектурных и идейных отличиях - чем нам не устраивали обычные базы данных и зачем нам нужны хранилища.
  • Вы научитесь работать с Clickhouse для решения аналитических задач и поймете его преимущества относительно PostgreSQL.
  • Вы научитесь писать сложный SQL-запросы в Clickhouse на примере прикладных задач: прогнозирование временных рядов, формирование рекомендаций для абонентов телеком-сервиса и т.д.
13. Hadoop и озера данных (Data lake)
5 уроков
Работа с большим объемом слабоструктурированных данных - сложная дата инженерная задача. Для хранения таких данных используются озера данных Data Lake и чаще всего - Hadoop.
  • Вы научитесь работать с логами данных, открытыми датасетами для машинного обучения, хранить и обрабатывать их в Hadoop с помощью bash и Python, интегрировать с реляционными DWH.
  • Вы сможете поднять Hadoop Sandbox прям на своем компьютере с помощью Docker Compose.
  • Вы научитесь быстро решать adhoc-задачи - например, считать число 404-ошибок в логах вебсервера.
  • Научитесь решать прикладные задачи с помощью MapReduce - например, обрабатывать и анализировать большие объемы текстовой информации: логи, документацию и проч.
  • Дополнительно познакомитесь с YARN и, Hive , Pig и HBase и научитесь применять их для решения сложных дата инженерных задач.
14. Spark / pySpark
5 уроков
Spark - удобный инструмент для работы с big data, который позволяет дата инженерам решать сложные аналитические задачи с огромными объемами информации, когда классического кода на Python уже не хватает.
Вы освоите pySpark, функциональное программирование, RDD, Spark UDF и другие специализированные темы, параллельно отрабатывая их на реальных кейсах.
Например, вы будете анализировать активность пользователей на онлайн-платформе, вычисляя метрики по типу среднее время выполнения одного задания. Или вам предстоит работать со стримингом новостей, анализируя вхождение определенных ключевых слов и оценивая новостную повестку в режиме реального времени.