Ко су инжењери података и како се то постаје?

Здраво поново! Наслов чланка говори сам за себе. У ишчекивању почетка курса Дата Енгинеер Предлажемо да разумете ко су инжењери података. У чланку постоји много корисних веза. Срећно читање.

Ко су инжењери података и како се то постаје?

Једноставан водич како да ухватите талас инжењеринга података и не дозволите да вас одвуче у амбис.

Чини се да ових дана сви желе да постану научници података. Али шта је са инжењерингом података? У суштини, ово је нека врста хибрида аналитичара података и научника података; Инжењер података је обично одговоран за управљање токовима посла, процесирањем цевовода и ЕТЛ процесима. Због важности ових функција, ово је тренутно још један популаран професионални жаргон који активно добија на замаху.

Високе плате и огромна потражња само су мали део онога што овај посао чини изузетно атрактивним! Ако желите да се придружите редовима хероја, никада није касно да почнете да учите. У овом посту сам прикупио све потребне информације које ће вам помоћи да направите прве кораке.

Дакле, почнимо!

Шта је инжењеринг података?

Искрено, нема бољег објашњења од овога:

„Научник може открити нову звезду, али је не може створити. Мораће да замоли инжењера да то уради уместо њега."

-Гордон Линдзи Глег

Дакле, улога инжењера података је прилично значајна.

Као што име говори, инжењеринг података се бави подацима, односно њиховом испоруком, складиштењем и обрадом. Сходно томе, главни задатак инжењера је да обезбеде поуздану инфраструктуру за податке. Ако погледамо АИ хијерархију потреба, инжењеринг података заузима прве 2-3 фазе: прикупљање, кретање и складиштење, припрема података.

Ко су инжењери података и како се то постаје?

Шта ради инжењер података?

Са појавом великих података, обим одговорности се драстично променио. Ако су раније ови стручњаци писали велике СКЛ упите и дестиловали податке користећи алате као што су Информатица ЕТЛ, Пентахо ЕТЛ, Таленд, сада су захтеви за инжењере података повећани.

Већина компанија са отвореним конкурсима за позицију инжењера података има следеће услове:

  • Одлично познавање СКЛ-а и Питхон-а.
  • Искуство са платформама у облаку, посебно са Амазон веб услугама.
  • Пожељно познавање Јава/Сцала.
  • Добро разумевање СКЛ и НоСКЛ база података (моделирање података, складиштење података).

Имајте на уму, ово су само основне ствари. Из ове листе може се претпоставити да су инжењери података специјалисти у области развоја софтвера и бекенда.
На пример, ако компанија почне да генерише велику количину података из различитих извора, ваш задатак као инжењера података је да организујете прикупљање информација, њихову обраду и складиштење.

Списак алата који се користе у овом случају може се разликовати, све зависи од обима ових података, брзине њиховог пријема и хетерогености. Већина компанија се уопште не бави великим подацима, тако да као централизовано складиште, такозвано складиште података, можете користити СКЛ базу података (ПостгреСКЛ, МиСКЛ, итд.) са малим скупом скрипти које уносе податке у складиште.

ИТ гиганти као што су Гоогле, Амазон, Фацебоок или Дропбок имају веће захтеве: познавање Питхон-а, Јаве или Сцале.

  • Искуство са великим подацима: Хадооп, Спарк, Кафка.
  • Познавање алгоритама и структура података.
  • Разумевање основа дистрибуираних система.
  • Искуство са алаткама за визуелизацију података као што су Таблеау или ЕластицСеарцх ће бити предност.

Односно, постоји јасан помак ка великим подацима, односно у њиховој обради под великим оптерећењем. Ове компаније имају повећане захтеве за толеранцију грешака система.

Дата Енгинеерс вс. научници података

Ко су инжењери података и како се то постаје?
Добро, то је било једноставно и смешно поређење (ништа лично), али у стварности је много компликованије.

Прво, треба да знате да постоји много нејасноћа у разграничењу улога и вештина научника за податке и инжењера података. То јест, лако се можете збунити око тога које су вештине потребне да бисте били успешан инжењер података. Наравно, постоје одређене вештине које се преклапају са обе улоге. Али постоје и бројне дијаметрално супротне вештине.

Наука о подацима је озбиљан посао, али ми се крећемо ка свету функционалне науке о подацима где су практичари у могућности да раде сопствену аналитику. Да бисте омогућили цевоводе података и интегрисане структуре података, потребни су вам инжењери података, а не научници података.

Да ли је инжењер података траженији од научника података?

- Да, јер пре него што можете да направите торту од шаргарепе, прво морате да сакупите, огулите и заложите шаргарепу!

Инжењер података разуме програмирање боље од било ког научника за податке, али када је у питању статистика, тачно је супротно.

Али ево предности инжењера података:

Без њега/ње, вредност модела прототипа, који се најчешће састоји од дела кода ужасног квалитета у Питхон фајлу, добијеног од научника за податке и на неки начин даје резултат, тежи нули.

Без инжењера података, овај код никада неће постати пројекат и ниједан пословни проблем неће бити ефикасно решен. Инжењер података покушава да све ово претвори у производ.

Основне информације које инжењер података треба да зна

Ко су инжењери података и како се то постаје?

Дакле, ако овај посао осветли у вама и ако сте ентузијасти – можете га научити, можете савладати све потребне вештине и постати права рок звезда у области инжењеринга података. И, да, ово можете извести чак и без вештина програмирања или другог техничког знања. Тешко је, али могуће!

Који су први кораци?

Требало би да имате општу представу о томе шта је шта.

Пре свега, Дата Енгинееринг се односи на рачунарство. Тачније, морате разумети ефикасне алгоритме и структуре података. Друго, пошто инжењери података раде са подацима, неопходно је разумети принципе база података и структуре које су у њиховој основи.

На пример, конвенционалне СКЛ базе података Б-стабла су засноване на структури података Б-стабла, као и, у савременим дистрибуираним репозиторијумима, ЛСМ-стабло и друге модификације хеш табела.

*Ови кораци су засновани на сјајном чланку Адилиа Кхасхтамова. Дакле, ако знате руски, подржите овог аутора и прочитајте његов пост.

1. Алгоритми и структуре података

Коришћење праве структуре података може значајно побољшати перформансе алгоритма. У идеалном случају, сви бисмо требали да учимо о структурама података и алгоритмима у нашим школама, али то се ретко бави. У сваком случају, никад није касно за упознавање.
Ево мојих омиљених бесплатних курсева за учење структура података и алгоритама:

Осим тога, не заборавите на класични рад Тхомаса Цормана на алгоритмима - Увод у алгоритме. Ово је савршена референца када треба да освежите памћење.

  • Да побољшате своје вештине, користите Леетцоде.

Такође можете заронити у свет база података са невероватним видео записима са Универзитета Царнегие Меллон на Иоутубе-у:

2. Научите СКЛ

Цео наш живот су подаци. А да бисте извукли ове податке из базе података, потребно је да са њима „говорите“ истим језиком.

СКЛ (Струцтуред Куери Лангуаге) је језик комуникације у домену података. Без обзира шта неко каже, СКЛ је живео, жив је и живеће веома дуго.

Ако сте дуго били у развоју, вероватно сте приметили да се повремено појављују гласине о скорој смрти СКЛ-а. Језик је развијен почетком 70-их и још увек је веома популаран међу аналитичарима, програмерима и једноставно ентузијастима.
Без знања о СКЛ-у нема шта да се ради у инжењерингу података јер ћете неизбежно морати да креирате упите да бисте преузели податке. Сва модерна складишта великих података подржавају СКЛ:

  • Амазон Редсхифт
  • ХП Вертица
  • пророчанство
  • СКЛ Сервер

... и многи други.

За анализу великог слоја података ускладиштених у дистрибуираним системима као што је ХДФС, измишљени су СКЛ мотори: Апацхе Хиве, Импала, итд. Видите, то не води никуда.

Како научити СКЛ? Само урадите то у пракси.

Да бисте то урадили, препоручио бих вам да погледате одличан водич, који је, иначе, бесплатан Режим аналитике.

  1. Интермедиате СКЛ
  2. Спајање података у СКЛ-у

Оно што ове курсеве чини посебним је то што имају интерактивно окружење у којем можете писати и покретати СКЛ упите директно у свом претраживачу. Ресурс Модерн СКЛ неће бити сувишно. И ово знање можете применити на Леетцоде задаци у одељку Базе података.

3. Програмирање у Питхон-у и Јава/Сцала

Зашто би требало да научите програмски језик Питхон, већ сам написао у чланку Питхон против Р. Одабир најбољег алата за АИ, МЛ и науку о подацима. Када су Јава и Сцала у питању, већина алата за складиштење и обраду огромних количина података написана је на овим језицима. На пример:

  • Апач Кафка (Скала)
  • Хадооп, ХДФС (Јава)
  • Апацхе Спарк (Сцала)
  • Апач Касандра (Јава)
  • ХБасе (Јава)
  • Апацхе Хиве (Јава)

Да бисте разумели како ови алати функционишу, морате знати језике на којима су написани. Функционални приступ Сцале вам омогућава да ефикасно решавате проблеме паралелне обраде података. Пајтон се, нажалост, не може похвалити брзином и паралелном обрадом. Генерално, познавање неколико језика и програмских парадигми је добро за ширину приступа решавању проблема.

Да бисте заронили у Сцала језик, можете читати Програмирање у Сцали од аутора језика. Твитер је такође објавио добар уводни водич - Сцала Сцхоол.

Што се тиче Пајтона, верујем Флуент Питхон најбоља књига средњег нивоа.

4. Алати за рад са великим подацима

Ево листе најпопуларнијих алата у свету великих података:

  • Апацхе Спарк
  • Апацхе Кафка
  • Апацхе Хадооп (ХДФС, ХБасе, Хиве)
  • Апацхе цассандра

Више информација о изградњи великих блокова података можете пронаћи у овом невероватном интерактивно окружење. Најпопуларнији алати су Спарк и Кафка. Дефинитивно су вредни проучавања, препоручљиво је разумети како раде изнутра. Џеј Крепс (коаутор Кафке) објавио је монументално дело 2013. године Дневник: Шта сваки програмер софтвера треба да зна о апстракцији агрегације података у реалном временуИначе, главне идеје из овог Талмуда коришћене су за стварање Апаче Кафке.

5. Цлоуд платформе

Ко су инжењери података и како се то постаје?

Познавање најмање једне клауд платформе је на листи основних услова за кандидате за радно место инжењер података. Послодавци преферирају Амазон Веб Сервицес, са Гоогле-овом платформом у облаку на другом месту и Мицрософт Азуреом који заокружује прва три.

Морате добро познавати Амазон ЕЦ2, АВС Ламбда, Амазон С3, ДинамоДБ.

6. Дистрибуирани системи

Рад са великим подацима подразумева присуство кластера независно оперативних рачунара, међу којима се комуникација одвија преко мреже. Што је кластер већи, већа је вероватноћа квара његових чворова чланова. Да бисте постали велики научник података, морате разумети проблеме и постојећа решења за дистрибуиране системе. Ово подручје је старо и сложено.

Андрев Таненбаум се сматра пиониром у овој области. За оне који се не плаше теорије, препоручујем његову књигу "Дистрибуирани системи", може изгледати застрашујуће за почетнике, али ће вам заиста помоћи да усавршите своје вештине.

Сматрам Дизајнирање апликација са интензивним подацима Мартин Клеппманн најбоља уводна књига. Иначе, Мартин има дивну блог. Његов рад ће помоћи у систематизацији знања о изградњи модерне инфраструктуре за складиштење и обраду великих података.
За оне који воле да гледају видео, постоји курс на Иоутубе-у Дистрибуирани рачунарски системи.

7. Цевоводи података

Ко су инжењери података и како се то постаје?

Цевоводи података су нешто без чега не можете живети као инжењер података.

Већину времена, инжењер података гради такозвани цевовод података, односно креира процес за испоруку података са једног места на друго. То могу бити прилагођене скрипте које иду у АПИ екстерне услуге или праве СКЛ упит, повећавају податке и стављају их у централизовано складиште (складиште података) или неструктурирано складиште података (језера података).

Да резимирамо: основна контролна листа за инжењера података

Ко су инжењери података и како се то постаје?

Да резимирамо, потребно је добро разумевање следећег:

  • Информациони системи;
  • Развој софтвера (Агиле, ДевОпс, Десигн Тецхникуес, СОА);
  • Дистрибуирани системи и паралелно програмирање;
  • Основе базе података - планирање, дизајн, рад и решавање проблема;
  • Дизајн експеримената – А/Б тестови за доказивање концепата, утврђивање поузданости, перформансе система и развој поузданих путева за брзо испоруку добрих решења.

Ово су само неки од услова да постанете инжењер података, тако да научите и разумете системе података, информационе системе, континуирану испоруку/примену/интеграцију, програмске језике и друге теме из рачунарства (не све предметне области).

И на крају, последња, али веома важна ствар коју желим да кажем.

Пут да постанете инжењеринг података није тако једноставан као што се чини. Он не прашта, он фрустрира, а ви морате бити спремни на ово. Неки тренуци на овом путовању могу вас натерати да одустанете. Али ово је прави рад и процес учења.

Само немој да га шећераш од почетка. Цела поента путовања је да научите што је више могуће и будете спремни за нове изазове.
Ево сјајне слике на коју сам наишао и која добро илуструје ову тачку:

Ко су инжењери података и како се то постаје?

И да, запамтите да избегавате сагоревање и одмор. Ово је такође веома важно. Срећно!

Шта мислите о чланку, пријатељи? Позивамо вас да бесплатан вебинар, који ће се одржати данас у 20.00 часова. Током вебинара, разговараћемо о томе како да изградимо ефикасан и скалабилан систем за обраду података за малу компанију или стартап уз минималне трошкове. У пракси ћемо се упознати са алатима за обраду података Гоогле Цлоуд. Видимо се!

Извор: ввв.хабр.цом

Додај коментар