Курсы Data Engineer и Big Data engineering
Сравнение всех курсов
- Data Engineer / Big Data
Розберете наявні рішення обробки Big Data, дізнаєтеся, на що зважати під час розробки системи та як не панікувати, коли вимоги змінюються. Розберетеся в інтерфейсі та навчитеся користуватися Hadoop, Apache Airflow, Apache Spark, SparkSQL, HDFS.
Програма курсу
Intro до курсу Data Engineering
- Дізнаєтеся про історію інженерії даних та Big Data
- З'ясуєте, чим займається Data Engineer, чітко усвідомите його місце у команді та обов'язки
- Розглянете технології, з якими працюватимете на курсі
- Зрозумієте, які завдання розв'язує конкретна Big Data технологія
Python для Data Engineering
- Навчитеся правильно будувати сервіс на Python для обробки даних
- Набудете навичок завантажувати дані із зовнішніх джерел за допомогою Python
- Дізнаєтеся, що таке Jupyter Notebook та Pandas, яке призначення цих інструментів в інженерії даних
SQL для Data Engineering
- Зрозумієте, для чого використовують SQL у Big Data
- Розглянете базові операції SQL для обробки великих даних
- Навчитеся обирати, об'єднувати, групувати й аналізувати дані за допомогою SQL-запитів
Аналітичні бази даних
- Дізнаєтеся, які відмінності існують між OLTP- та OLAP-системами
- Зрозумієте технічну реалізацію СУБД, призначених для аналітики
- З'ясуєте, як правильно писати SQL-запит до аналітичної БД
Проєктування сховищ даних
- Дізнаєтеся, що таке шари даних
- З'ясуєте, що таке Data Warehouse (DWH), Data Lake, Data Swamp, Data Lakehouse та Data Mesh і чим вони відрізняються
- Вивчите підходи до створення сховищ даних
- Ознайомитеся з ETL- чи ELT-процесами та зрозумієте, які між ними відмінності
- Розберете, як влаштовані сховища даних
- Навчитеся представляти дані у вигляді вітрин
- Розглянете принципи побудови аналітичного шару DWH:
- куби даних і багатовимірна модель
- схема "зірка"
- схема "сніжинка"
- підходи до проєктування Кімбала та Інмана
- Зможете проєктувати аналітичний шар DWH
Передача даних між системами: ETL- та ELT-процеси
- Детально розглянете Extract, Transform, Load (ETL) - найпопулярніший спосіб забезпечення роботи сховищ великих даних
- Дізнаєтеся, як реалізовувати ETL-рішення
- Докладно розберете Extract, Load, Transform (ELT) і відмінність від ETL
- Навчитеся передавати дані між системами
- З'ясуєте, як вилучати дані із зовнішніх джерел, трансформувати й очищати
Оркестрація процесів обробки даних в Apach Airflow
- Розглянете Apache Airflow як інструмент для створення, запуску та моніторингу ETL-процесів
- Запустите Apache Airflow на своєму комп'ютері, а також дізнаєтеся, як запустити Apache Airflow в хмарі
- Дізнаєтеся, як створювати пайплайн в Apache Airflow, моніторити виконання завдань, проводити зневадження тощо
- Набудете навичок писати свої оператори
- Навчитеся підключатися до зовнішніх джерел даних за допомогою Apache Airflow
Розподілені обчислення
- Ознайомитеся з поняттям розподілених систем і обчислень
- Розглянете приклади сучасних розподілених систем
- Дізнаєтеся, чим розподілені системи відрізняються від звичайних, які завдання вони розв'язують та які готові рішення вже існують
- Зрозумієте, навіщо дата-інженеру знати властивості й обмеження розподілених систем у САР-теоремі
- З'ясуєте, на що варто звертати увагу під час побудови розподілених систем і чим можна пожертвувати для розв'язання конкретного завдання
Екосистема Hadoop для розподіленої роботи
- Дізнаєтеся, що таке Hadoop і де його застосовують
- Опануєте HDFS для розподіленого зберігання файлів і MapReduce для розподілених обчислень
- Зрозумієте призначення кожної технології у межах екосистеми Hadoop
- Навчитеся користуватися Hadoop Distributed File System
Розподілені системи для зберігання даних: HDFS, S3 та GCS
- Розберете файлові, блокові та об'єктні сховища даних - їхні відмінності та Use Cases
- Навчитеся працювати з розподіленою файловою системою Hadoop
- Зможете керувати файлами, завантажувати, вивантажувати дані, адмініструвати кластери за допомогою HDFS
- Розглянете Amazon S3 та Google Cloud Storage як приклади об'єктних сховищ даних
BigData-архітектури
- Розберетеся в різних поколіннях архітектур
- Зрозумієте, які проблеми розв'язує кожне покоління архітектури
- Розглянете технології для кожної архітектури
Розподілені обчислення за допомогою Apache Spark
- Дізнаєтеся, які завдання розв'язує Apache Spark і в чому його відмінність від MapReduce
- З'ясуєте, як Apache Spark використовують для організації великих даних
Docker
- Дізнаєтеся, що таке контейнери та навіщо вони потрібні
- Зрозумієте, як працюють контейнерні технології Docker і в чому їхня відмінність від Virtual Machines
- Навчитеся обгортати власний дистрибутив у Docker
Робота зі структурованими даними: SparkSQL та PySpark. Part 1
- Розглянете SparkSQL як API Apache Spark
- Навчитеся виконувати базові операції та здійснювати трансформації над структурованими даними за допомогою SparkSQL
Робота зі структурованими даними: SparkSQL та PySpark. Part 2
- Дізнаєтеся, як вивантажувати дані зі Spark
- Навчитеся проводити аналітику на структурованих даних у Spark за допомогою SQL та PySpark
Оптимізація виконання завдань в Apache Spark
- Дізнаєтеся, як писати ефективний код та прискорити обробку великих даних в Apache Spark
- Розглянете способи організації даних у кластері Apache Spark: партиціювання даних, репартиціювання та кластеризація
- Зрозумієте, які основні проблеми продуктивності існують у Spark, навчитеся виявляти й усувати їх
- Зможете писати ефективний код у PySpark
- Набудете навичок організовувати дані в кластері Apache Spark
Робота з потоковою обробкою даних в Apache Spark
- Дізнаєтеся, як працювати з даними, які надходять безперервно
- Розглянете Spark Streaming як інструмент для роботи з потоками даних
- Зрозумієте, чим відрізняється обробка потокових даних від статичних
- Навчитеся обробляти потоки даних за допомогою Spark Streaming
Інструменти AWS для інженерії даних. Part 1
- Розберете Redshift як аналітичну DWH для надвеликих даних
- Розглянете професійні інструменти аналітики та візуалізації:
- S3
- ECS
- EKS
- AWS Lambda
- Ознайомитеся з інструментами AWS для інженерії даних
- Навчитеся працювати з S3 та контейнерними середовищами виконання
Інструменти AWS для інженерії даних. Part 2
- Розглянете такі інструменти, як-от:
- Amazon MWAA
- Kinesis
- AWS EMR
- AWS Glue
- AWS Glue Data Catalog
- AWS Athena
- Дізнаєтеся, як виконати ad-hoc запит до S3-об'єктів в AWS Athena
- Зрозумієте, які кроки треба виконати, щоб отримати AWS-сертифікації
Особливості курсу
- Теорія + практика
- Інструменти
- Проєкт в портфоліо
- Кар'єра
- Допомога ментора
- Сертифікат про проходження курсу
Викладачі курсу
Дмитро Андросов - Data Engineer at Lyft
Больше информации- Data Engineer / Big Data
Якщо ти хочеш дізнатися або розширити свої знання в області технологій для роботи з великими обсягами даних, цей курс допоможе тобі це зробити, а також поглибити професійні знання, ефективно вибирати та аналізувати ці дані.
Програма курсу
Заняття 1. Основи Big Data
- Що таке Big Data?
- Які проблеми вирішуєs Big Data?
- Практичні аспекти Big Data
- Огляд посади Data Engineer та його обов'язки
- Вступ до стеку технологій Big Data
- Домашнє завдання: Перевірка навчальних матеріалів
Заняття 2. Огляд платформи даних
- Основні поняття та глосарій у сфері Data Platforms
- Вступ до моделювання конвеєрів даних
- Огляд рівнів обробки та пов'язаних з ними технологій:
- Data storage
- Data processing
- Data ingestion
- Data querying
- Data visualization
- Вступ до хмарних концепцій та хмарних обчислень (з акцентом на AWS)
- Моделі послуг PaaS / IaaS / SaaS
Заняття 3. Отримання та інтеграція даних. Частина 1
- Типи обміну даними:
- Ingestion
- Export
- Replication
- Огляд джерел даних
- Інтеграція та пріоритезація джерел даних
- Пакетна інтеграція даних
Заняття 4. Отримання та інтеграція даних. Частина 2
- Концепції проєктування Data Lakes
- Типи інтеграції Pull / Push
- Архітектурні підходи (Lambda, Kappa, Delta)
- Інтеграція даних у реальному часі
- Інструментарій для отримання потокових даних
Заняття 5. Основи зберігання даних. Частина 1
- Класифікації сховищ даних
- Вступ до OLTP, OLAP, DWH
- Ключові принципи HDFS / Object Stores
- Загальні поняття про СУБД
- Огляд баз даних NoSQL
- Хмарні сховища даних
Заняття 6. Основи зберігання даних. Частина 2
- Порівняльний аналіз Data Lakes та Data Warehouses
- Теорема CAP
- Огляд форматів даних
- Концепції розбиття на розділи / шардингу / реплікації
- Повна та остаточна узгодженість даних
Заняття 7. Основи моделювання даних. Частина 1
- Основні поняття моделювання даних
- Моделювання даних в рамках різних типів сховищ
- Вступ до схеми даних
- Огляд схем на читання/на запис
Заняття 8. Основи моделювання даних. Частина 2
- Стратегії пакетування/партиціонування
- Основи грануляції даних
- Сховища без схем
- Обробка запізнень
Заняття 9. Вступ до обробки даних
- Історичний контекст
- Вступ до роботи з ETL-конвеєрами
- Основи моделі Map-Reduce
- Модель розподіленої обробки та локальність даних
- Огляд стеку технологій обробки даних
Заняття 10. Основи обробки даних. Частина 1
- Основи управління ресурсами
- Огляд основних фреймворків для обробки даних
- Концепції пакетної обробки даних
- Розробка робочих процесів
- Планування
- Оркестрування
Заняття 11. Основи обробки даних. Частина 2
- Семантика гарантії доставки / обробки
- Концепції обробки потокових даних
- Типи розвитку або синхронізації конвеєрів
Заняття 12. Хмарні обчислення. Частина 1
- Основні хмарні сервіси AWS
- Ресурси для побудови платформ даних
- AWS SDK в рамках реалізації конвеєрів даних
- Інструменти керування AWS CLI
Заняття 13. Хмарні обчислення. Частина 2
- Огляд конвеєрів даних у хмарі AWS
- Реєстрація в хмарних рішеннях AWS
- Моніторинг у хмарних рішеннях AWS
- Вступ до безперервної інтеграції / безперервного розгортання в AWS
Заняття 14. Запит та візуалізація даних
- Форми подання даних
- Вступ до візуалізації даних
- Поняття вітрин даних, звітів, подань
- Поняття DWH у сфері звітності
- Інструменти бізнес-аналітики
- Автоматизація звітів за допомогою Data Dashboards
- Дослідження даних за допомогою Notebooks
Заняття 15. Регулювання даних
- Цілі регулювання даних
- Процедури управління даними
- Поняття відстеження даних, лінії зв'язку, версійності
- Політика збереження даних
- Поняття безпеки даних/приватності/інформації з обмеженим доступом
- Інструменти та рішення для регулювання даних
Заняття 16. Підсумкове заняття
- Обговорення архітектурних ідей
- Фінальна сесія запитань та відповідей
По завершенню курсу Big Data ти:
- Розумітимеш основні концептуальні проблеми аналізу, обробки та зберігання великих даних
- Вмітимеш аналізувати та обробляти великі дані у різних форматах за допомогою різних інструментів
- Вмітимеш використовувати актуальне програмне забезпечення для зберігання, аналізу та обробки даних у практичній роботі
Вимоги до учасників:
- Знання одної з мов програмування на середньому рівні: Python, Scala, Java тощо
- Знання SQL
- Базові знання роботи операційних систем Linux/Bash
- Знання Docker
Особливості курсу
- Досвідчені викладачі
- Комплексний підхід
- Практичний підхід
- Сертифікат про проходження курсу
Викладачі курсу
- Сергій Холоднюк - Senior Big Data Engineer
- Владислав Чайковський - Data Engineer at Sigma Software
- Data Engineer / Big Data
Курс алгоритми та структури даних призначений як для початківців програмістів, студентів, які вивчають комп'ютерні науки, так і для всіх, хто працює з обчислювальною технікою і бажає зрозуміти, як почати вирішувати складні завдання з високою ефективністю.
Програма курсу
Введення в структури і алгоритми даних. Зв'язні списки
- Поняття алгоритму і структури даних
- Поняття тимчасової і асимптотичної складності алгоритму
- Двозв'язні списки
- Приклади реалізації зв'язних списків на C#
- Використання О-нотації
- Огляд основних структур даних
- Огляд однозв'язних списків
ArrayList
- Реалізація динамічного масиву на C#
- Огляд класу ArrayList
- Додавання елементів в динамічний масив
- Політика зростання динамічного масиву
- Видалення елементів з масиву
- Індексація елементів
Stack i Queue
- Огляд структури даних - стек
- Реалізація стека на основі двохзв'язного списку на C#
- Методи Push, Pop, Peek, Count
- Огляд структури даних - черга
- Реалізація методів Enqueue, Dequeue, Peek, Count
- Огляд структури даних двозв'язних черг
- Реалізації двохзв'язної черги на основі списків
- Реалізація стека на основі двохзв'язної черги
- Реалізація двохзв'язної черги на основі масиву
Дерева
- Структура даних - дерево
- Реалізація дерева на основі масиву
- Реалізація бінарного дерева пошуку на C#
- Додавання, видалення і пошук вузлів дерева
- Прямий, зворотний і симетричний обхід дерева
Множини
- Структура даних - множина
- Реалізація класу Set
- Додавання та видалення елементів і пошук елементів множини
- Об'єднання, перетин, різниця, симетрична різниця двох множин
Алгоритми сортування
- Сортування бульбашкою
- Сортування вставками
- Сортування вибором
- Сортування злиттям
- Сортування Шелла
- Швидке сортування
Хеш-таблиці
- Опис структури даних - хеш-таблиці
- Хеш-функція
- Колізії хеш - функції
- Реалізація хеш-таблиці на C#
В-дерева
- Опис В-дерева
- Реалізація В-дерева на C#
- Пошук, додавання і видалення записів у В-дереві
- Час виконання операцій В-деревом
Завдання
- Завдання комівояжера
- Завдання Ханойські вежі
- Завдання тріангуляції
Завдання практикум
На занятті розглядаються наступні задачі: Ханойські вежі, завдання комівояжера, завдання про рюкзак.
Після проходження курсу ви будете вміти:
- Розбиратися у розповсюджених алгоритмах і структурах даних
- Комбінувати прості конструкції мови для побудови складних алгоритмів
- Давати оцінку складності різним алгоритмам
- Знати сильні та слабкі сторони тих чи інших структур даних
- Працювати зі складною структурою даних - графом, а також з алгоритмами, котрі реалізують принципи графів
- Реалізовувати складні та прості структури даних: бінарні дерева пошуку, хеш-таблиці, стеки, черги, списки, динамічні масиви, множини
- Створювати алгоритми сортування, пошуку елементу в масиві, обхід двійкового дерева та видалення з нього вузлів тощо
Особливості курсу
- Практичні заняття і перевірка ДЗ
- Безкоштовний відеокурс
- Онлайн тестування і сертифікація
Викладачі курсу
- Олександр Шевчук - Експерт у галузі побудови архітектури інормаційних систем, бізнес-аналізу та управління IT проєктами
- Олександр Пономаренко - .NET Developer
- Ольга Хорошко - Backend Developer
- Data Engineer / Big Data
Курс складається з двох частин. У першій ми розглядаємо способи "універсального" розв’язання комбінаторних задач методом повного перебору і способи оптимізації цих алгоритмів. У другій частині ми задіємо метод динамічного програмування з рекурсією, який дозволить створювати дійсно швидкі та ефективні алгоритми пошуку.
Програма курсу
Цикли. Графічні візерунки
На цьому уроці ми будемо доводити навичку використання циклів до досконалості. Щоб досягти інтуїтивного розуміння, краще "один раз побачити", тому ми будемо малювати химерні візерунки, використовуючи комбінації вкладених циклів і умов.
Прості числа. Оптимізація алгоритмів
На цьому уроці ми напишемо алгоритм генерації простих чисел, а потім почнемо його оптимізувати різними способами, заміряючи час роботи кожного варіанту.
Прості задачі на перебір варіантів
На цьому уроці ми розв’яжемо декілька комбінаторних задач методом "грубої сили", а потім розглянемо ідеї оптимізації кожного алгоритму.
Гра зі штучним інтелектом. Пошук кращого ходу перебором
На цьому уроці ми створимо просту гру, а потім навчимо комп'ютер в неї грати: створимо штучний інтелект для пошуку гарного ходу.
Контрольна робота на перебір варіантів
На цьому уроці буде "спортивне програмування". У Вас буде декілька комбінаторних задач на перебір варіантів та обмежений час. Подивимося, чого ви навчилися і скільки задач встигнете вирішити!
Рекурсія. Побудова фракталів
На цьому уроці ми будемо доводити навичку використання рекурсії до досконалості. Щоб досягти інтуїтивного розуміння, краще "один раз побачити", тому ми будемо малювати фрактали - повторювані візерунки, використовуючи алгоритми з рекурсивним викликом.
Складні функції. Оптимізація алгоритмів
На цьому уроці ми напишемо алгоритми обчислення деяких алгебраїчних функцій, а потім почнемо їх оптимізувати різними способами, заміряючи час роботи кожного варіанту.
Складні завдання на перебір варіантів
На цьому уроці ми вирішимо кілька комбінаторних задач методом динамічного програмування з використанням рекурсії та без неї.
Гра зі штучним інтелектом. Пошук альфа-бета відсіканням
На цьому уроці ми продовжимо створення штучного інтелекту для нашої гри. Але на цей раз ми скористаємося рекурсивним пошуком в глибину з відсіканням помилкових рішень.
Контрольна робота на динамічне програмування
На цьому уроці буде "спортивне програмування". У Вас буде декілька комбінаторних задач на динамічне програмування та обмежений час. Подивимося, чого ви навчилися і скільки задач встигнете вирішити!
Особливості курсу
- Практичні заняття і перевірка ДЗ
- Безкоштовний відеокурс
- Онлайн тестування і сертифікація
Викладачі курсу
Євген Волосатов - Тренер-консультант, автор освітніх вебінарів ITVDN
Больше информации- Data Engineer / Big Data
На цій програмі ти зможеш вивчити технології обробки великих даних (Hadoop, Apache Spark, Kafka тощо), дослідити проєктування, розробку й підтримку програмних систем з великим обсягом даних, дізнатися більше про можливості основних хмарних платформ та отримати інші знання і навички, необхідні для старту в професії Data Software Engineer.
Програма курсу
Модуль 1. Базові технічні курси для самостійного вивчення
Git
- Version Controlling Concepts
- Version Control Types
- Branching, Merging and Conflict Solving
Software Development Methodologies
- Software Development Model
- Waterfall
- Agile
- Scrum
- Kanban
- Test-Driven Development
Cloud Overview
- Cloud Core Concepts
- Cloud Service Models
- Cloud Ownership
- Public Cloud Platforms Overview
Introduction to DevOps
- Docker Image / Docker Container / Docker Hub
- Kubernetes and Basic Concept
- Continuous Integration, Continuous Delivery, Continuous Deployment
- Virtual Machine / Container
Python Core
- Data Types
- Functions
- Modules and Packages
- Lists and Tuples
- Queues and Stacks
- Sets
- Dictionaries
- Conditional Execution
- Loops
- Error Handling Core
Модуль 2. Вступні курси для самостійного вивчення Data Engineering
DB and SQL Fundamentals
- DB Basics
- TCL Statements (Transaction Control Language)
- DML Statements (Data Manipulation Language)
- DDL Statements (Data Definition Language)
- DCL (Data Control Language)
- SQL for Analysis
Data Modelling and Data Architecture
- OLAP vs OLTP
- Kimball and Inmon Approaches DWH Layers
- Dimension. Types. SCD
- Fact Table. Types
- ETL and ELT
NoSQL
- NoSQL vs RDBMS
- CAP Theorem: No SQL Types
- Spark Cassandra
- MongoDB
- HBase
Big Data / Data Lake Concept
Data Lake vs Data Warehouse: Key Differences.
Лабораторія EPAM
- Cloud (Azure or AWS)
- Spark
- Databricks
- Kafka
- Hadoop
- Airflow
- Elastic
- Data Flow & Pipelining
- Orchestration & Scheduling
Що необхідно для успішного навчання
- Рівень англійської мови від B1 (Intermediate) та вище
- Впевнені навички програмування на Python
- Досвід використання однієї з додаткових мов (Java або Scala)
- Глибокі знання теорії реляційних СУБД
- Високий рівень володіння SQL (DML/DDL/DCL/TCL)
- Теоретичні знання DWH/Data Lake та одного з інструментів візуалізації даних
- Базове розуміння Linux, Docker та Kubernetes
Як долучитися до програми
- Зареєструйся
- Склади тест з англійської мови
- Пройди технічний тест на знання Python
- Отримай посилання на платформу Learn і починай навчання
Додаткова інформація
- Це навчання тільки для громадян України, які зараз знаходяться на території України
- Зверни увагу, що формат навчання на тренінгу не має дедлайнів, однак реєстрація може бути закрита в будь-який момент
- Активні учасники тренінгів, доступних на платформі training.epam.ua, та співробітники компанії EPAM не можуть брати участь у цій програмі. Звернися до свого координатора або ресурсного менеджера, щоб дізнатися про інші доступні можливості для навчання і росту
- У тебе є приблизно 3 місяці, щоб пройти навчальні модулі. Якщо ми не побачимо прогресу протягом цього часу або ти вирішиш відмовитися від участі, заявку буде автоматично скасовано
- Організатори залишають за собою право відмовити кандидату в навчанні та подальшій співпраці на будь-якому етапі без додаткових пояснень та зобов'язань
Особливості курсу
- Навчання в ІТ-компанії
- Професійні навчальні матеріали
- Практично-орієнтований підхід
- Глибоке занурення в спеціалізацію
- Можливість потрапити до EPAM Лабораторії
- Data Engineer / Big Data
Навчальна програма охоплює теми, що включають основи роботи з даними та тестування їхньої якості: системи управління базами даних, SQL, основи Business Intelligence і Data Warehouse, ETL, тестування даних.
Програма курсу
Database Management System
- DBMS Basics
- SQL Basics
- Advanced Databases and SQL Querying
- Querying Data with Transact-SQL
Data Warehouse Business Intelligence Basics
- Introduction to Business Intelligence and Data Warehouse
- Extract Transform Load (ETL)
- Implementing ETL with SQL Server Integration Services
Data Quality
- Requirements Analysis
- Test cases and test design
- Defect Tracking
- Database Testing, ETL Testing
Introduction to Python Core
Що необхідно для успішного навчання
- Наполегливість та винахідливість у вирішенні нестандартних завдань
- Базові знання та розуміння теорії реляційних СУБД
- Володіння мовою запитів SQL на початковому рівні
- Базові знання з теорії тестування
- Знання мов програмування не є обов'язковим, але буде перевагою (Python, JavaScript, C#)
- Володіння англійською мовою на рівні В1 і вище
Як долучитися до програми
- Зареєструйся
- Пройди тест з англійської мови
- Пройди опитування та технічний тест
- Очікуй листа
Додаткова інформація
- Ця навчальна програма доступна тільки для громадян України, які зараз знаходяться на території України
- Дата початку навчання може змінюватися, тому період відбору може бути відповідно скоригований. Будь ласка, регулярно перевіряй наявність оновлень на цій сторінці та електронну пошту
- Цей зовнішній курс недоступний для поточних учасників університетських програм EPAM Campus та EPAM-ерів. Не соромся звертатися до свого координатора з навчання або ресурсного менеджера щодо інших можливостей
- Організатори залишають за собою право відмовити учасникам у продовженні навчання на будь-якому етапі без додаткових пояснень та зобов'язань
Читайте нас в Telegram, чтобы не пропустить анонсы новых курсов.