Шлях до BigData. Частина перша. З чого почати?

Categories: DevelopmentAutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnology

Автор: Олександр Федірко, Solution Architect, Trainer, GlobalLogic Ukraine

Мене звуть Олександр Федірко. Я понад 5 років займаюся проєктуванням та архітектурою BigData-рішень, що дозволяють отримувати якісно нові знання шляхом комплексного аналізу великих даних. Є одним із лідерів BigData-практики в GlobalLogic та відповідаю за розвиток цієї експертизи в регіоні Центральної та Східної Європи. Тренер курсів всередині GlobalLogic та активний доповідач багатьох галузевих форумів та конференцій з BigData та аналітики. Серед технологій, на яких спеціалізуюся: багатопотокова обробка даних, реляційні бази даних, NoSQL, сховища даних, системи обробки запитів.

Технологічні джунглі

Якщо ви почнете гуглити “топ тренди технологій”, то напевне серед результатів пошуку побачите BigData-технології, такі як інтеграція даних, інжиніринг даних, великі дані. І не дивно, адже BigData насправді є однією з найпопулярніших технологій на IT ринку та відіграє ключову роль в багатьох бізнес-галузях на шляху до цифрових трансформацій.

Якщо ви не хочете залишатись осторонь такого потужного тренду у світі технологій, то, мабуть, вже почали вивчати, чи задумувались над тим, із чого почати шлях опанування технологій BigData. Але без провідника на цьому шляху вам може видатись, що ви продираєтесь крізь джунглі.

Тож, розробники, інженери та архітектори, я проклав для вас маршрути, аби ви не заблукали в цих хащах.

Увесь шлях я скомпонував у 14 кроків, розбитих на 3 рівні, від Easy до Hard.

1-й рівень — для новачків, які тільки зацікавились BigData.

Це рівень Easy, користуючись ігровою термінологією. П’ять кроків, які допоможуть вам сформувати первинне розуміння теми.

  1. Почніть з одного з базових курсів Big Data Fundamentals, які дадуть вам загальне уявлення про Big Data та набори інструментів для обробки даних у Cloud чи локально. Далі вам варто зануритись глибше та вивчити кілька найпопулярніших інструментів.
  2. Hadoop — найпопулярніша вільна програмна платформа й каркас для організації розподіленого зберігання та обробки наборів великих даних.
  3. NiFi — один з найпростіших інструментів для автоматизації потоку даних між програмними системами.
  4. Ingestion. Саме час зрозуміти, як саме дані потрапляють на платформу. Добре опануйте процес отримання, внесення та обробки даних з метою їх подальшого використання чи зберігання.
  5. Основи візуалізації даних знадобляться кожному Big Data-інженеру, тож не нехтуйте цією навичкою.

2-й рівень — середній. Ви вже готові до пакетної обробки даних.

Це вже можна назвати Medium Level. Тут на вас чекає ще 7 рівнів, які треба опанувати.

  1. Настав час опанувати Spark. Це високопродуктивний рушій для оброблення даних, що зберігаються в кластері Hadoop. У порівнянні з наданим у Hadoop механізмом MapReduce, Spark забезпечує у 100 разів більшу продуктивність при обробленні даних в пам’яті та в 10 разів більшу при розміщенні даних на дисках. Програми для оброблення даних найчастіше створюються на мовах Scala та Python.
  2. Далі вам доведеться познайомитись з архітектурою BigData-проєктів.
  3. А потім – розібратися з тим, як організувати сховища даних.
  4. Потокова передача даних. Найчастіше відбувається за допомогою Spark у режимі реального часу чи наближеного до нього.
  5. Далі вам не обійтися без хмарних технологій, адже все частіше замовники віддають перевагу рішенням у Cloud, аби не витрачати ресурси на DevOps-налаштування та підтримку локальних систем. Почніть, наприклад, з AWS — комерційної платформи хмарних обчислень від Amazon.
  6. Google Cloud Platform — набір хмарних служб, які виконуються на тій же самій інфраструктурі, яку Google використовує для своїх продуктів, що призначені для кінцевих споживачів, таких як Google Search та YouTube. Окрім інструментів для керування, також надається ряд модульних хмарних служб з обчислення, зберігання даних, аналізу даних та машинного навчання.
  7. Azure — хмарна платформа та інфраструктура від Microsoft, призначена для розробників застосунків хмарних обчислень і покликана спростити процес створення онлайнових додатків.

3-й рівень — Advanced. Тут варто прокачати навички потокової передачі даних.

На цьому етапі на вас чекають два фінальні “боси”.

  1. Apache Flink — фреймворк із відкритим Source Code для реалізації обробки потоків від Apache Software Foundation. Flink підтримує програмування потоків даних як у паралельному, так і в конвеєрному режимі. В конвеєрному режимі він дозволяє реалізувати послідовність задач та їх потік. Flink також підтримує ітераційні алгоритми.
  2. Apache Beam — уніфікована модель програмування з відкритим Source Code для визначення та виконання конвеєрів обробки даних, включаючи ETL, пакетну та потокову обробку.

Нижче я зібрав перелік онлайн-курсів із посиланнями, з яких я рекомендую розпочати. Це, на мою думку, найкращі курси з найпопулярніших платформ — Coursera, Udacity та Udemy. Повний перелік посилань на всі блоки доступний для консультантів GlobalLogic. Більшість із цих курсів платні, проте GlobalLogic Education має партнерство з Udemy, тож наші консультанти та учасники BigData-практики мають можливість проходити їх на цій платформі безкоштовно.

1 рівень — Beginner
  1. Big Data – ціла спеціалізація, можна проходити окремі курси
  2. Hands-On Hadoop – курс розкриває основні компоненти екосистеми Hadoop та їх призначення. Високий рейтинг, практичні завдання.
  3. Introduction to Apache NiFi – гарний опис типових сценаріїв використання NiFi.
  4. Data Visualization in Tableau – розкривається тема використання Tableau як одного з найпопулярніших інструментів для візуалізації.
2 рівень — Intermediate
  1. Spark Scala – Курс фокусується на використанні Spark у якості інструменту пакетної обробки.
  2. Spark Python – практичні навички використання Spark  з мовою програмування Python.
  3. BI & DWH – гарний екскурс у класичне моделювання сховищ даних.
  4. Data Streaming – курс дає основи щодо потокової обробки даних,  розповідає про типові сценарії використання.
3 рівень – Advanced
  1. Apache Beam – курс навчає уніфікованому підходу до обробки даних з використанням фреймворку Apache Beam.
  2. Apache Flink – практичні навички з однією з найпопулярніших технологій для обробки даних в стрімінгу в реальному часі.

Також у GlobalLogic існує власна програма: GL BigData ProCamp.

Ми проводимо її другий рік поспіль. Ціль — розвиток Big Data-експертизи в GlobalLogic та підготовка й залучення нових інженерів. Зараз триває набір, тож якщо ви хочете доєднатись до наступної групи — деталі та форма реєстрації за посиланням.

ProCamp буде корисний тим, хто вже пройшов кілька базових онлайн-курсів та спробував дещо на практиці. На ньому ми розберемо такі теми:

  • BigData Fundamentals
  • Data Warehousing Fundamentals
  • Apache NiFi
  • Kafka as Message Broker
  • Hadoop Fundamentals
  • Apache Spark
  • Orchestrations: Oozie, AirFlow
  • Google Cloud

На сьогодні поставимо крапку. Наступного тижня ми продовжимо нашу подорож та розкажемо про проєкти GlobalLogic, на яких використовується Big Data, та докладніше розповімо про спеціальний GL BigData ProCamp.

Не перемикайтесь!

Top Insights

Python: чому вивчати та з чого почати?

Python: чому вивчати та з чого почати?

InsightsSoftwareAutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnology
Тонкощі CV або Як скласти та куди надіслати, щоб отримати пропозицію мрії про співпрацю

Тонкощі CV або Як скласти та куди надіслати,...

HRAutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnology
CI/CD для JS розробників. Частина перша – теорія

CI/CD для JS розробників. Частина перша – теорія

DevelopmentSoftwareAutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnology
Soft and Hard Skills: Що важливіше? Розповідь одного рекрутера

Soft and Hard Skills: Що важливіше? Розповідь одного...

HRAutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnology

ТОП автори

Volodymyr Nos

Volodymyr Nos

Lead Software Engineer, Engineering, GlobalLogic

Mariia Krapyvka

Mariia Krapyvka

Specialist, GlobalLogic

Dmytro Haidenko

Dmytro Haidenko

Senior Test Engineer, Quality Assurance, GlobalLogic

Dmytro Ryabokon

Dmytro Ryabokon

Director, Engineering, GlobalLogic

Roman Ostash

Roman Ostash

Lead Software Engineer, Engineering, GlobalLogic

Категорії блогів

  • URL copied!