Скачать [Newprolab] Data Engineer. 20-й поток [Игорь Мосягин, Николай Марков]

  • Гость, подпишитесь сейчас

    📥 Наш адрес сайта меняется, чтобы быть в курсе актуального адреса, подпишитесь на телеграм канал «Перейти»

Описание складчины

Программирование востребовано в веб-разработке, мобильных приложениях, автоматизации и анализе данных. [Newprolab] Data Engineer. 20-й поток [Игорь Мосягин, Николай Марков] поможет освоить необходимые навыки, а складчина сделает обучение доступнее.

Информация
Цена: 90 РУБ
Организатор: Kail Kail
Скачать
Kail
Kail
Организатор
Организатор
Регистрация
09.04.2020
Сообщения
462 757
Реакции
45 700
Монеты
1 191
Оплачено
0
Баллы
0
  • #SkladchinaVip
  • #1
[Newprolab] Data Engineer. 20-й поток [Игорь Мосягин, Николай Марков]
Ссылка на картинку
Для BI-дашборда нужно спроектировать хранилище, которое будет получать данные из постоянно пополняющегося источника. Пройдя курс, вы разберётесь, как подойти к такой задаче и создать дашборд с ответами на вопросы бизнес-аналитиков.

Данные из Kafka можно загрузить в ClickHouse, а расчёт агрегатов настроить с помощью Airflow. На курсе вы разберётесь, как организовать такую пакетную обработку, написать собственный DAG и подойти к потоковой обработке данных.

10 недель практического опыта в роли дата-инженера: реальные задачи и рабочая инфраструктура. Полное погружение и комитмент на 10-15 ч в неделю. 30 занятий, 10 лаб и видеозаписи занятий с тайм-метками.

Кому будет полезна программа:

1. Аналитики данных

  • Аналитика данных всё больше перестаёт быть изолированной от инфраструктуры обработки данных. Вам будет полезно пройти эту программу, чтобы лучше понимать общий цикл работы с данными
  • Даже если вы не планируете переходить в область DE, понимание общих принципов расширит ваши возможности как специалиста и поможет проще находить общий язык с дата-инженерами
  • Также вы сможете понять, каково это – работать в более инженерной роли без серьёзных карьерных потрясений
2. Бэкенд-разработчики

  • Как у бэкенд-разработчика, у вас уже есть необходимый инженерный опыт, и данная программа поможет понять, чем занимаются дата-инженеры – и либо сменить область работы, либо узнать больше о разработке высоконагруженных дата-приложений
  • Таким образом, программа будет интересна, если у вас есть опыт работы в нагруженном проекте и вы хотите узнать больше про задачи обработки данных
3. Техлиды и менеджеры

  • Эта программа поможет менеджерам команды дата-аналитиков лучше ориентироваться в актуальных инструментах и технологиях и понять, в какую сторону развивать направление внутри компании
  • Понимание особенностей инструментов позволит также более точно оценивать сроки и лучше понимать требования бизнеса
  • Для тех, кто давно не имел дела с данными или использует другой стек технологий, эта программа поможет освежить в памяти современные инструменты и практики DE
Рекомендуемые знания до программы:

  1. Python
    • Это основной язык программирования на программе
    • Хорошо, если вы уже знакомы с базовым синтаксисом, циклами, условными операторами, функциями, чтением и записью файлов. Это понадобится для работы со Spark и Airflow
  2. Базовые знания Linux
    • Вы будете использовать командную строку Linux при работе с кластером
    • Хорошо, если вы уже знаете, как заходить на удалённый сервер по ssh, умеете настраивать авторизацию по ssh-ключу и владеете базовыми командами для перемещения по директориям, созданию и редактированию файлов, и знаете как выйти из vim
  3. SQL
    • Вы будете использовать Apache Spark. Знание языка SQL может быть полезно для написания скриптов на SparkSQL
    • Помимо этого, в нескольких лабах вам нужно будет писать небольшие SQL-запросы к ClickHouse
Кому программа не подойдет:

  1. Вы хотите научиться обучать ML-модели
    • Эта программа техническая и включает инженерные практики, которые могут показаться перебором для такого запроса
    • Вам больше подойдёт наша другая программа: Введение в большие данные
  2. Вы не хотите делать лабы и настраивать инструменты
    • Вы конечно можете пройти программу как слушатель и только просматривать занятия, но такой формат существенно уменьшает ценность вашего участия и потраченного времени
  3. Вы не хотите писать код или боитесь терминала
    • Эта программа включает много практики и построена так, что почти во всех лабах придется править конфиги на машинах и писать код в том или ином виде
    • Если такие перспективы вас отпугивают, скорее всего, программу пройти будет тяжело
  4. У вас высокая нагрузка в даты программы
    • В зависимости от вашего начального уровня, участие в программе будет занимать около 20 часов в неделю и требовать вашего внимательного погружения
    • Если вы не сможете выделить столько времени, советуем вернуться к программе в будущем
Погружение в практику:

Программа направлена на практику в виде лабораторных работ (лаб), которые максимально приближены к реальным задачам дата-инженеров.

Путь дата-инженера:

После программы вы сможете работать дата-инженером и быстро расти, так как будете хорошо разбираться и в теории, и иметь практический опыт решения характерных задач DE. А если вы уже практикующий DE, сможете структурировать знания и познакомиться с актуальными инструментами и подходами.

Данные должны быть доступными, точными, своевременными, непротиворечивыми, релевантными:

В том или ином виде дата-инжиниринг сейчас есть уже во всех компаниях – от самых небольших и до крупных гигантов. Поэтому устойчивый, надёжный и, как следствие, предсказуемый механизм сбора и обработки данных нужен большинству компаний.

Специалисты по выстраиванию инфраструктуры для таких процессов и разбирающиеся в архитектуре хранилищ данных – это востребованная специальность в современном дата-мире.

Как устроена программа:

Эта программа – глубокое погружение в практику. Наша цель – научить решать задачи из реальной жизни, а не покрыть список тем. Теория – это инструмент, необходимый для решения задач, а не самоцель.

1. Теперь 10 лаб

  • За два месяца вы выполните 10 практических заданий – лаб, каждая из которых использует разные инструменты, про которые вам будут рассказывать на занятиях
  • Лабы критически важны для понимания возможностей и ограничений использования этих инструментов
  • Уже на второй неделе вы научитесь разворачивать Apache Kafka, отправлять в эту систему сообщения и обрабатывать их
  • Познакомитесь с тем, как писать пайплайны на Apache Airflow – двумя популярными инструментами в области обработки данных
2. Логика работы DE

  • В течение программы мы будем анализировать полученные знания и заполнять карту компетенций
  • Инструменты и окружение будут обновляться, а общая логика и подобное картирование позволят создать целостную картину о технологиях и практиках
  • Мы также предложим альтернативы наиболее популярным из них
  • Вам часто нужно будет что-то загуглить. После программы у вас будет свой багаж из дополнительных ресурсов
3. 10+ инструментов

  • Каждая лаба базируется на использовании ключевых инструментов и фреймворков. Преподаватели-практики покажут и расскажут на занятиях, как ими пользоваться
  • Часть инструментов вы сможете проработать глубоко: Kafka, Airflow, ClickHouse, Spark, Redis, Docker. Они будут использованы в лабах и по ним будут подробные занятия
  • В программу также входит рассмотрение этих универсальных инструментов: Apache Flink, Grafana, dbt, Kubernetes и др. По некоторым из них будут дополнительные задания
Наши принципы обучения:

Мы создаем все условия для того, чтобы максимально приблизить опыт участников к реальным условиям работы (Project Based Learning). Поэтому основу наших программ составляют лабы (лабораторные работы) – системные большие практические задания, которые максимально приближены к реальным задачам специалистов по работе с данными.

  • Наша цель — научить вас решать задачи из реальной жизни, а не покрыть список тем. Теория — это инструмент, необходимый для решения задач, а не самоцель
  • Возможность сразу же применять полученные знания в работе и своих проектах
На пути будут встречаться сложности, которые вы преодолеете и откроете в себе новые качества, а также получите незабываемый эмоциональный опыт. Вы пройдете настоящий путь героя!

Инфраструктура программы:

Все презентации, jupyter-ноутбуки, лабы и мануалы мы выкладываем в закрытый репозиторий на GitHub.

Спойлер: Часто задаваемые вопросы
1. Я живу за границей. Подходит ли мне эта программа?

Да, конечно! Наша программа отлично подойдёт, если вы уже переехали или только планируете строить карьеру в другой стране. Обучение проходит на русском языке, но с упором на международные технологии (Spark, Scala, SQL, архитектура дата-платформ). А знания пригодятся как на локальных рынках (СНГ, Европа, Израиль), так и в глобальных IT-компаниях.

2. А я вообще справлюсь?

Да, но вам будет непросто. Если у вас есть интерес к DE и все базовые навыки — то скорее всего вы справитесь. Мы верим, что интенсивный опыт — это одна из самых вдохновляющих вещей в образовании. Когда ты быстро и, может местами мучительно, погружаешься в новый материал, удается заметить собственный прогресс. И это вдохновляет продолжать разбираться.

Программа:

  • Лабораторные работы
  • Темы занятий: Apache Kafka, DWH, Airflow, ClickHouse, Hadoop, Spark, Docker, Ansible, Kubernetes, Spark Streaming, мониторинг Linux-инфраструктуры, форматы хранения данных, CI/CD, Redis, базы данных и хранилища, параллелизм в Python, Flink, NiFi, dbt, Small Data и карта развития дата-инженера

Спойлер: Подробно
Лабораторные работы:

Лаба 1. Подготовка инфраструктуры

  • Вы настроите собственную ноду в облаке, которая станет вашим учебным стендом для всей программы – так вы разберетесь, как настроить необходимые доступы для следующих лаб
  • Вы прокачаете базовые практики DevOps и познакомитесь с компонентами дата-инфраструктуры
Лаба 2. Batch-обработка

  • Вы организуете пакетную обработку данных в хранилище: получите данные из Kafka с помощью landing-схемы в ClickHouse, а затем, используя Airflow, будете считать агрегаты и перекладывать данные внутри ClickHouse
  • Вы напишете свой DAG для обработки и научитесь использовать консоль для управления этими инструментами
  • Здесь понадобятся базовые знания Python и отсутствие страха работы с командной строкой
Лаба 3. Потоковая обработка данных

  • Так как под "потоковой обработкой" часто имеют ввиду "батч-обработку просто с очень маленькими батчами", то эта лаба будет опираться на предыдущую с добавлением новых инструментов
  • Здесь также заложена вариативность используемых инструментов, и у вас будет возможность познакомиться с несколькими решениями реализации потоковой обработки в зависимости от технических условий задачи
Лаба 4. Data-сервис

  • Вам предстоит написать свой небольшой сервис на Python (мы покажем как) и добавить две системы для дашбордов: одну с бизнес-метриками и одну для операционных задач
  • Мы разберёмся, в чём разница, и на каких технологиях это делается – примерим на себя шляпу инженера разработки аналитики
Лаба 5. Сервис персонализации

  • Вам предстоит использовать очень грязный источник для дополнительного обогащения данных о событиях пользователей e-commerce портала
  • Вы создадите витрину для маркетинговой аналитики по результатам прошедшей распродажи и изрядно повозитесь с расчётом агрегатов
Лаба 6. Контейнеризация и CI/CD

  • Ты реализуешь версионирование своего проекта: создашь и настроишь окружение для автоматической сборки и публикации своих пайплайнов в облако
  • Научишься основам управления версиями, автоматизации развёртывания и познакомишься с инструментами для управления контейнерами
Лаба 7. dbt

  • С помощью инструмента dbt соберёте аналитическую витрину в ClickHouse на базе данных о поведении пользователей
  • Закрепите работу с источниками и генерацию моделей данных в аналитическом хранилище
Лаба 8. Хранилище для BI-дашборда

  • Эта лаба отличается более открытым техзаданием и позволяет составить впечатление о том, как может выглядеть ваша работа при коммуникации с людьми, далёкими от мира обработки данных
  • У вас будет постоянно пополняющийся внешний источник данных, для которого нужно спроектировать хранилище и реализовать BI-дашборд с ответами на вопросы бизнес-аналитиков
Темы занятий:

Тема 1. Apache Kafka:

  • Краткая история развития Kafka
  • Ключевые концепции и зачем она может вообще быть нужна
  • Топики, publisher/subscriber модель, внутренние компоненты
  • Инструменты и библиотеки для работы с Kafka
  • Демо
Тема 2. DWH:

  • OLAP MPP DB: определение, цели, особенности
  • Распространенные решения
  • Архитектура OLAP MPP DB на примере Vertica
  • Демонстрация работы: таблицы, проекции, запросы
  • Data warehouse: общие сведения и методологии
Тема 3. Airflow:

  • Зачем, что и как можно автоматизировать
  • Компоненты Airflow которые надо знать, чтобы сделать на нём что-нибудь
  • Как написать свой DAG и что это такое
  • Куда и как развивается проект
  • Чем можно заменить Airflow и на что обращать внимание при сравнении
  • Демо, лайвкодинг
Тема 4. ClickHouse:

  • Что такое колоночные базы данных и зачем они нужны
  • Дизайн ClickHouse
  • Оптимизация схемы для производительности
  • Загрузка JSON в ClickHouse
  • ClickHouse и Kafka
Тема 5. Hadoop:

  • Как хранить и обрабатывать данные
  • Что является большими данными, а что - нет
  • Какие средства обработки и хранения данных есть, и как они работают
Тема 6. Spark:

  • Общее устройство и преимущества Spark
  • Три уровня API к данным. DataFrame. Как создавать, читать, смотреть и писать данные с HDFS и других источников (в т.ч. PostgreSQL). Схема датафрейма
  • Способы обращения к колонкам
  • Оптимизации при чтении. Push-down filter
  • Ленивое выполнение. Трансформации и действия
  • Очистка данных. Встроенные и пользовательские функции. Агрегационные функции
  • Union и join – отдельные моменты
  • Кэширование и контрольные точки
  • Shuffle и Broadcast
  • Немного про модель памяти
Тема 7. Docker. Ansible. Kubernetes:

  • Пишем свой Dockerfile
  • Как запускать контейнеры из командной строки
  • Пара слов о Docker Compose
  • Зачем нужен Kubernetes
  • Играем в локальный кластер
  • Настройка сети и прочие шалости
  • Хранение данных в Kubernetes
Тема 8. Spark Streaming:

  • Structured Streaming
  • Rate Streaming
  • File Streaming
  • Kafka Streaming
  • Stateful Streaming
  • Окна: дубликаты и watermark'и, агрегаты
  • Join: static и stream
Тема 9. Мониторинг Linux-инфраструктуры:

  • Зачем дата-инженерам траблшутинг
  • Диагностируем проблемы из консоли
  • Как руками анализировать состояние CPU, RAM, дисковой и сетевой подсистемы
  • Системные вызовы и низкий уровень анализа
  • Обзор существующих комплексных решений для мониторинга и работа с ними
Тема 10. Форматы хранения данных:

  • Txt
  • SequenceFile
  • Avro
  • Protobuf
  • ORC
  • Parquet
Тема 11. CI/CD:

  • Что такое DevOps и MLOps?
  • Пара слов о методологиях разработки программного обеспечения
  • Управление зависимостями Python-проекта
  • Репозитории для всего сразу и одновременно
  • Аргументы и конфиги
  • Работа с пакетами для Python
  • Как выглядит CI/CD на GitlabCI и Jenkins
  • Пара слов об управлении конфигурацией через Ansible
Тема 12. Redis:

  • Какие бывают различия между NoSQL и SQL
  • Как использовать redis как горячее хранилище
  • Как использовать redis для ускорения расчётов
  • Когда стоит и когда не стоит использовать redis
  • Демо
Тема 13. Введение в базы данных. Хранилища и методологии:

  • Реляционная модель и PostgeSQL
  • Structured Query Language
  • ACID и транзакции
  • Моделирование данных
  • Индексы и оптимизации
  • Greenplum
Тема 14. Параллелизм в Python:

  • Как устроены потоки в операционных системах
  • Зачем в питоне GIL и как он работает
  • В чем разница между параллельностью, асинхронностью и конкурентностью
  • Пара слов о микросервисах на Python
  • Асинхронная работа со внешними хранилищами
Тема 15. Flink:

  • Scala: основы и базовый синтаксис
  • Apache Flink: описание и сравнение со Spark Streaming
  • Flink API: источники и приемники, операторы, event time vs processing time
  • Практические примеры
  • Внутреннее устройство Flink
Тема 16. NiFi:

  • Что такое NiFi
  • Controller Services
  • Список доступных процессоров
  • Flow File Details
  • Объединение в Process Group
  • Статусы процессоров
  • Список всех шаблонов
  • Процессор SplitJson
  • Convert JSONToSQL
  • PutSQL
  • One registry
  • Registry & Git
  • Variables & Parameter Contexts
  • Кластерный режим – архитектура
  • MiNiFi
Тема 17. dbt:

  • Что такое dbt и какие задачи решает
  • Основные термины, особенности и фичи инструмента
  • Как запустить dbt с любой БД
  • Демо (посмотрим, как всё просто работает)
  • Документирование и тестирование данных из коробки
  • Как запустить dbt в продуктиве
  • Новые возможности с Python-моделями
Тема 18. Small Data:

  • Снова о том, что такое Big Data
  • Причины популярности инструментов анализа данных
  • На какие старые подходы стоит обратить внимание
  • Почему Developer Experience снова оказывается важен
  • Какие технологии посмотреть и что попробовать для хранилищ небольших данных
Тема 19. Карта развития дата-инженера:

  • Куда развиваться
  • Направления и задачи

Авторы:

Игорь Мосягин

  • Ментор программы
  • Data Consultant, shrimpsizemoose AB
Дмитрий Андреев

  • Координатор
  • Ведущий инженер по работе с инфраструктурой данных, Райффайзенбанк
Максим Тарасов

  • Координатор
  • Lead R&D Engineer, White Wave Media

Спойлер: Далее
Николай Марков

  • Data Platform Lead, Altenar
Сергей Гришаев

  • Senior Data Engineer, Wildberries
Егор Матешук

  • Технический директор, ГПМ Дата
Александр Зайцев

  • CTO, Altinity
Валерия Дымбицкая

  • Разработчик, Upgini
Екатерина Островская

  • Руководитель направления развития бизнес хранилища данных, Райффайзенбанк
Андрей Кучеров

  • TechLead DE, Beeline
Андрей Серебрянский

  • Lead Developer, Яндекс

Старт весной 2027 года.
Показать больше
 
Зарегистрируйтесь , чтобы посмотреть контент.
apache spark data engineering newprolab python большие данные игорь мосягин николай марков
Похожие складчины
Kail
Ответы
0
Просмотры
86
Kail
Kail
Kail
Ответы
0
Просмотры
179
Kail
Kail
Kail
Ответы
0
Просмотры
125
Kail
Kail
Kail
Ответы
0
Просмотры
98
Kail
Kail
Показать больше складчин

Войдите или зарегистрируйтесь

Вы должны быть авторизованны для просмотра материала

Создать аккаунт

Создать учетную запись займет не больше минуты!

Войти

Уже зарегистрированы? Просто войдите.