Data Engineering
Курс для тих, хто хоче навести порядок в архітектурі даних та освоїти ключові інструменти дата-інженера на практиці.
Олександр Зініч
Data Team Lead у Grid Dynamics
6 років досвіду в IT

9 тижнів
18 онлайн-занять[щовівторка та щочетверга]
На курсі ви детально вивчите всі етапи обробки даних, будуватимете ETL-системи та сховища, налаштовуватимете автоматичне оновлення дата-пайплайнів та успішно оброблятимете 1 Пбайт даних.
* курс викладається українською мовою
щоби поринути у процес обробки даних, опанувати ключові інструменти, серед яких, Apache Airflow, Apache Hadoop, Apache Spark, та змінити професію на Big Data Engineer.
щоби не просто аналізувати дані, а й вибудовувати процеси завантаження/вивантаження, проєктувати сховища, налаштовувати автоматичне оновлення дата-пайплайнів та спростити собі роботу.
щоби впорядкувати дані, навчитися проєктувати зрозумілу архітектуру під задачі бізнесу та оперативно обробляти до 1 Пбайт даних.

Існує міф, що дата-інженер робить усю «брудну» роботу з даними — «витягує» їх зі сховищ, сортує «сирі» дані, а потім передає аналітикам і дата-саєнтистам, які творять із ними справжню магію. Але магії не буде, якщо підготувати дані неправильно.
На цьому курсі ми почнемо з базових виразів на Python і SQL, які допоможуть знаходити коректні дані. Далі ― навчимося налаштовувати ETL-процеси й передавати дані між системами, запускатимемо автоматичне оновлення дата-пайплайнів і будуватимемо Big Data Platforms, які здатні масштабуватися. У результаті ви освоїте 6 ключових інструментів інженера даних і передаватимете коректні показники для ухвалення ефективних бізнес-рішень.
Ви розберете наявні рішення обробки big data на частини, розглянете та повторите кожну. В результаті ― дізнаєтеся, що враховувати при розробці та як не панікувати, якщо вимоги до системи змінюються.
Розберетеся в інтерфейсі та навчитеся користуватися Hadoop, Apache Airflow, Apache Spark, SparkSQL, HDFS.
Побудуєте власну Big Data Platform, яка здатна масштабуватись, і додасте кейс у своє портфоліо.
Відкриєте новий підхід у роботі з big data, отримаєте рекомендації з працевлаштування та почнете шлях у Data Engineering.

- Дізнаєтеся все, що хотіли знати про професію Data Engineer: цілі, напрямки, завдання, обов'язки та функції у команді.
- Дізнаєтеся історію інженерії даних і Big Data.
- Розберіть відмінності між Data Engineer та Big Data Engineer.
- Отримаєте огляд інструментів для роботи з Big Data: бази даних, Hadoop Stack, брокери повідомлень, хмарні рішення.
- Ознайомитеся з технологіями, з якими працюватимете під час курсу.
- Навчитеся правильно будувати сервіс на Python для обробки даних.
- Дізнаєтесь, які бувають джерела даних.
- Навчитеся правильно працювати з API джерел даних.
- Навчитеся працювати в Jupyter Notebook та розберетеся в бібліотеці Pandas.
- Дізнаєтеся, для чого використовується SQL у Big Data.
- Навчитеся об'єднувати набори даних за допомогою SQL: JOIN, UNION, EXCEPT.
- Почнете використовувати SQL для аналітичних запитів: аналітичні функції, групування даних, віконні функції.
- Зрозумієте, як написати SQL запит оптимально.
- Виявите різницю між системами OLTP та OLAP.
- Зрозумієте технічну реалізацію баз даних для OLTP та OLAP на прикладі PostgreSQL та Google Bigquery.
- Дізнаєтеся, як правильно писати SQL-запити для транзакційних та аналітичних баз даних, і розберете найпоширеніші помилки при побудові SQL-запиту.
- Дізнаєтеся про призначення сховищ даних та підходи до їх проектування.
- Дізнаєтеся, що таке Data Warehouse (DWH), Data Lake (DL) та Data Swamp (DS).
- Зрозумієте, як проєктувати аналітичний шар DWH.
- Розглянете підходи до проектування Кімбала та Інмана.
- Дізнаєтеся, що таке вітрини даних, і навчитеся подавати дані у вигляді вітрин.
- Розберете приклади наявних сховищ даних.
- Дізнаєтеся, чому ETL ― найпопулярніший спосіб забезпечення роботи сховищ даних.
- Зрозумієте, як дані пересилаються між системами.
- Навчитеся отримувати дані із зовнішніх джерел, трансформувати та очищати їх.
- Навчитеся створювати, запускати та моніторити ETL-процеси.
- Розберете особливості різних форматів файлів: CSV, JSON, JSONLine, Avro, Parquet, ORC.
- Отримаєте детальний огляд Apache Airflow для керування процесами ETL.
- Вивчите Directed Acyclic Graph (спрямований ациклічний граф) для опису пайплайнів.
- Переглянете найпопулярніші оператори в Apache Airflow і навчитеся писати свої.
- Дізнаєтеся, що таке хуки, провайдери та змінні.
- Отримайте Best Practices для роботи з Apache Airflow.
- Розберетеся з поняттям розподілених систем та обчислень.
- Дізнаєтесь, які завдання вони розв'язують та які готові рішення вже є.
- Виявите відмінності розподілених систем від звичайних, розберете їх переваги та недоліки.
- Розберетеся в САР-теоремі.
- Дізнаєтеся, на що слід звернути увагу при побудові розподілених систем і чим можна пожертвувати під час вирішення конкретного завдання.
- Навчитеся користуватися екосистемою Hadoop.
- Дізнаєтесь, у чому призначення кожної технології в рамках екосистеми Hadoop.
- Вивчите альтернативи Hadoop.
- Почнете використовувати Hadoop Distributed File System.
- Вивчите внутрішню архітектуру HDFS та особливості її реалізації.
- Навчитеся працювати з HDFS: керувати файлами, завантажувати та вивантажувати дані.
- Навчитеся працювати з Amazon S3 та Google Cloud Storage.
- Ознайомитеся з трьома поколіннями архітектури BigData та дізнаєтеся, навіщо вони потрібні.
- Розберетеся, які технології мають та які проблеми розв'язують різні покоління архітектур.
- Отримаєте огляд технології Apache Spark і дізнаєтесь, які завдання вона вирішує. Виявите її відмінності від MapReduce.
- Зрозумієте, чому Apache Spark стала флагманською технологією у світі BigData.
- Навчитеся використовувати Apache Spark для створення великих даних.
- Вивчите варіанти використання Apache Spark: способи організації даних RDD, Data Frame та Dataset ― і дізнаєтеся, у яких випадках та з якими даними використовується кожен із цих підходів.
- Почнете знайомство зі SparkSQL ― одним із синтаксисів Apache Spark.
- Навчитеся завантажувати дані в Spark.
- Вивчите роботу Spark із зовнішніми джерелами даних.
- Розберетеся в базових операціях Spark DataFrame для трансформації структурованих даних.
- Навчитеся вивантажувати дані з Spark.
- Навчитеся проводити аналітику на структурованих даних у Spark.
- Зрозумієте, як написати ефективний код та прискорити обробку великих даних в Apache Spark.
- Навчитеся виявляти основні проблеми продуктивності Spark, усунете їх.
- Організуєте дані в кластері Apache Spark.
- Зрозумієте, чим відрізняється обробка потокових даних від статичних.
- Навчитеся обробляти потоки даних за допомогою Spark Streaming.
- Розберете приклад програми аналізу потокових даних.
- Ознайомитеся з BigQuery ― аналітичною розподіленою базою для сотень Пбайт даних.
- Отримаєте огляд професійних інструментів аналітики та візуалізації – Data Studio та Looker.
- Дізнаєтеся, як працювати з Google Storage (GCS).
- Розберетеся в контейнерних середовищах виконання: GKE та сучасні безопераційні середовища Cloud Functions та Cloud Run.
- Отримаєте огляд Google Composer.
- Дізнаєтеся, як працювати з децентралізованою безсерверною системою обміну повідомленнями PubSub.
- Ознайомитеся із Dataflow.
- Розгляньте хмарні рішення Hadoop від компанії Google: DataProc та DataProc Batches.