Досвід побудови команди Big Data

Привіт, хабр!



Останнім часом все частіше чую від своїх колег, які працюють у підрозділах Big Data в різних компаніях твердження про те, що процес розробки побудований не дуже ефективно, що часто робиться велика кількість зайвих повторів, а також що є певне нерозуміння з боку керівників усіх тонкощів одержуваних на виході продуктів. Тому у цій та наступній статті я постараюся розповісти про свій досвід побудови команди, в якій ми працювали досить ефективно. Відразу зазначу, що це лише наш досвід, який не претендує на правильність і повноту. Стаття спрямована в першу чергу на керівників розробки та представників бізнесу.

Отже, в цій статті почнемо в першу чергу з ролей у команді, а також торкнемося сам процес розробки. У будь-якій справі, особливо у творчому, головну роль відіграють люди. Варто відзначити, що в Big Data це особливо важливо — команда часто маленька, але дуже сильна і злагоджена. Трудністю є ще й те, що не так багато місць поки в Росії, де можна отримати відповідну освіту, та й освіта не встигає за потребами бізнесу — дуже часто, як би про це не сперечалися, потрібно розуміння предметної області. І, нарешті, ще більшу складність представляє сам портрет людей, які здатні створювати по-справжньому якісні Big Data продукти — вони повинні поєднувати в собі низку дуже рідкісних якостей.

Відразу зазначимо, що ми акцентуємо увагу саме на розробці продуктів. Тим не менш, дуже важливо будувати правильну архітектуру кластера, підключати джерела даних, керувати і налаштовувати сховище даних. Це досить складний і непростий процес, особливо пов'язаний з тим, що технології зберігання і обробки даних в даний час є досить сирими і тільки з'являються постачальники, які гарантують підтримку, найчастіше недостатню. Про це надалі буде окремий пост, тут же зосередимося саме на команді розробки.

Lead Data Scientist
Зрозуміло, що жодна команда не може без лідера. Це повинен бути в першу чергу людина, яка одночасно розбирається в технологіях для обробки і зберігає даних, а також їх аналізу. Це людина, яка має достатній досвід розробки продуктів з нуля. Найчастіше, це вихідці з академічного середовища. І водночас, цей же чоловік повинен добре розуміти бізнес, щоб мати можливість розмовляти з заказчивами на одній мові. З мого досвіду, в Росії останнім є одним з найскладніших — мало зробити хороший продукт — про нього ньому треба розповісти так, щоб всі зрозуміли, особливо люди, які не знайомі з усіма тонкощами Predictive Analytics. Всі знають історію про магазин Target в 2012 році, але мало хто з керівників знає, які алгоритми використовуються для побудови рекомендаційних систем, які оцінки якості застосовуються в таких завданнях. Керівник такої команди в західних країнах називається зазвичай Lead Data Scientist (навмисно не будемо переводити всі назви на російську, щоб не спотворювати сенсу).

Small-Data Scientist

Далі, звичайно ж аналітики, які працюють в щільній зв'язці з керівником. Це люди, яких називають Data Scientists. У нашій команді існувало також неформальний поділ на Small-Data Scientist та Big Data Scientist. Перші частіше працюють з невеликими даними, які поміщаються в оперативній пам'яті на одній машині. Звідси і назва — Small-Data. Саме вони займаються всією творчою роботою у проекті. Це люди, які добре розбираються в математиці, але використовують при цьому досить прості інструменти для реалізації своїх ідей — Python, R або подібні скриптові мови з великою кількістю бібліотек, а також різні засоби візуалізації даних. Іноді навіть застосовуються інструменти, на зразок Weka, RapidMiner, SPSS Modeler (дані інструменти рекомендується використовувати для тестування простих алгоритмів), які практично позбавляють від програмування. На момент написання статті, таких людей простіше готувати, ніж шукати на ринку. Зазвичай, у команді може бути від 3 до 20 таких фахівців.

У цьому ж місці зазначимо, що під «Великими Даними» будемо розуміти ті, які не поміщаються на одній машині і тому зберігаються, як правило, распределенно.

ETL-Specialist

Далі, не менш важливу роль відіграють люди, які вміють працювати з джерелами даних. Вони працюють з величезними масивами інформації, проте займаються більше питаннями вивантаження/завантаження даних, ніж розробкою алгоритмів. Іменують зазвичай цих фахівців ETL Specialist (Extract, Transform і Load). Їх робота передбачає роботу з выгрузками даних, нескладними маніпуляціями з ними і завантаженням даних назад у сховище. Варто відзначити, що найкраще на цю роль у великих компаніях підходять працівники, які працювали з даними і знають їх внутрішній устрій. Це свого роду бібліотекарі, які знають, «де на якій полиці що лежить». У цьому плані нам пощастило — ми працювали з відкритими даними, для яких є хороше API. З досвіду можна сказати, що у великих компаніях, дані фахівці використовують як правило інші інструменти для роботи з даними, ніж ті, що необхідні для роботи з Big Data. Зазвичай це аналітики, які використовують SQL-схожі інструменти, в той час як для роботи з великими даними треба розуміти парадигму Map-Reduce, незважаючи на те, що інструменти на зразок Hive або Pig мають SQL-подібний синтаксис.

Big Data Scientist

І нарешті, коли справа доходить до дійсно великих даних, коли необхідно «навчати» алгоритми на великих вибірках, коли грає питання продуктивності алгоритмів машинного навчання та правильної їх реалізації в парадигмі Map-Reduce за справу береться Big Data Scientist (знову ж, в нашій термінології). Порівняно з Small-Data Scientists, це люди, які трохи менш розбираються в математиці та алгоритми машинного навчання, але мають значний досвід у програмуванні. Складно відповісти на питання, кому простіше стати такою людиною — того, хто вже є Small-Data Scientist або людині, яка має великий досвід програмування. Таких людей в команді у нас було небагато.

Отже, ми розглянули приклад невеликої команди Big Data. Хотілося б почути думки керівників розробки, які читають хабр, про їхній досвід. Сподіваюся також, що людям, зацікавленим у роботі Big Data підрозділі приблизно стало зрозуміло, чим їм доведеться займатися і які завдання стоять перед розробниками!

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.