Kik az adatmérnökök, és hogyan válhatsz azzá?

Szia ismét! A cikk címe önmagáért beszél. A tanfolyam kezdetére várva Adatmérnök Javasoljuk, hogy ismerje meg, kik az adatmérnökök. A cikkben sok hasznos link található. Jó olvasást.

Kik az adatmérnökök, és hogyan válhatsz azzá?

Egy egyszerű útmutató arról, hogyan lehet elkapni a Data Engineering hullámát, és nem hagyja, hogy a szakadékba sodorjon.

Úgy tűnik, manapság mindenki adattudós akar lenni. De mi a helyzet az adatmérnökséggel? Lényegében ez egyfajta hibrid adatelemző és adattudós; Az adatmérnök általában a munkafolyamatok, a feldolgozási folyamatok és az ETL-folyamatok kezeléséért felelős. E funkciók fontossága miatt ez jelenleg egy másik népszerű szakmai zsargon, amely aktívan lendületet kap.

A magas fizetések és a hatalmas kereslet csak egy kis része annak, ami rendkívül vonzóvá teszi ezt a munkát! Ha szeretnél csatlakozni a hősök soraihoz, soha nem késő elkezdeni a tanulást. Ebben a bejegyzésben minden szükséges információt összegyűjtöttem, hogy segítsen megtenni az első lépéseket.

Tehát kezdjük el!

Mi az adatmérnökség?

Őszintén szólva nincs jobb magyarázat, mint ez:

„A tudós felfedezhet egy új csillagot, de nem tud létrehozni egyet. Meg kell kérnie egy mérnököt, hogy csinálja meg helyette."

– Gordon Lindsay Glegg

Így az adatmérnök szerepe meglehetősen jelentős.

Ahogy a név is sugallja, az adatkezelés az adatokkal, nevezetesen azok szállításával, tárolásával és feldolgozásával foglalkozik. Ennek megfelelően a mérnökök fő feladata az adatok megbízható infrastruktúrájának biztosítása. Ha megnézzük az AI igények hierarchiáját, az adatkezelés az első 2-3 szakaszt foglalja el: gyűjtése, mozgatása és tárolása, adatok előkészítése.

Kik az adatmérnökök, és hogyan válhatsz azzá?

Mit csinál egy adatmérnök?

A big data megjelenésével a felelősségi kör drámaian megváltozott. Ha korábban ezek a szakértők nagyméretű SQL-lekérdezéseket írtak és adatokat desztilláltak olyan eszközökkel, mint az Informatica ETL, Pentaho ETL, Talend, most megnőttek az adatmérnökökkel szemben támasztott követelmények.

A legtöbb adatmérnöki pozícióra meghirdetett cégnek a következő követelmények vannak meg:

  • Kiváló SQL és Python ismerete.
  • Felhőplatformokkal, különösen az Amazon Web Services szolgáltatással szerzett tapasztalat.
  • Java/Scala ismerete előny.
  • SQL és NoSQL adatbázisok jó ismerete (adatmodellezés, adattárház).

Ne feledje, ezek csak a legfontosabbak. Ebből a listából feltételezhető, hogy az adatmérnökök a szoftverfejlesztés és a háttérrendszer szakértői.
Például, ha egy vállalat elkezd nagy mennyiségű adatot generálni különböző forrásokból, adatmérnökként az Ön feladata az információgyűjtés, azok feldolgozásának és tárolásának megszervezése.

Az ebben az esetben használt eszközök listája eltérő lehet, mindez az adatok mennyiségétől, a fogadás sebességétől és a heterogenitástól függ. A legtöbb cég egyáltalán nem foglalkozik nagy adathalmazokkal, így központosított adattárként, úgynevezett adattárházként használhatunk egy SQL-adatbázist (PostgreSQL, MySQL stb.) egy kis szkriptkészlettel, amelyek betáplálják az adatokat a raktárépület.

Az olyan IT-óriások, mint a Google, az Amazon, a Facebook vagy a Dropbox magasabb követelményeket támasztanak: Python, Java vagy Scala ismerete.

  • Nagy adatokkal kapcsolatos tapasztalat: Hadoop, Spark, Kafka.
  • Algoritmusok és adatstruktúrák ismerete.
  • Az elosztott rendszerek alapjainak megértése.
  • Előnyt jelent az olyan adatvizualizációs eszközökben szerzett tapasztalat, mint a Tableau vagy az ElasticSearch.

Vagyis egyértelmű elmozdulás van a big data felé, mégpedig a nagy terhelés alatti feldolgozásában. Ezek a vállalatok fokozott követelményeket támasztanak a rendszer hibatűrésével kapcsolatban.

Adatmérnökök vs. adattudósok

Kik az adatmérnökök, és hogyan válhatsz azzá?
Oké, ez egy egyszerű és vicces összehasonlítás volt (semmi személyes), de a valóságban sokkal bonyolultabb.

Először is tudnia kell, hogy sok kétértelműség van az adattudós és az adatmérnök szerepének és készségeinek elhatárolásában. Vagyis könnyen összezavarodhat azzal kapcsolatban, hogy milyen képességekre van szükség ahhoz, hogy sikeres adatmérnök legyen. Természetesen vannak bizonyos készségek, amelyek átfedik mindkét szerepkört. De van számos, egymással homlokegyenest ellentétes készség is.

Az adattudomány komoly üzlet, de a funkcionális adattudomány világa felé haladunk, ahol a gyakorló szakemberek saját maguk végezhetik el az elemzéseiket. Az adatfolyamatok és integrált adatstruktúrák engedélyezéséhez adatmérnökökre van szükség, nem adattudósokra.

Egy adatmérnök nagyobb kereslet, mint egy adattudós?

- Igen, mert mielőtt répatortát készíthetsz, először össze kell gyűjtened, meghámoznod és kifőzned a sárgarépát!

Egy adatmérnök jobban érti a programozást, mint bármely adattudós, de ha statisztikáról van szó, ennek az ellenkezője igaz.

De itt van az adatmérnök előnye:

Nélküle a prototípus modell értéke, amely legtöbbször egy Python-fájlban található, egy adattudóstól kapott, és valahogy eredményt hozó, borzalmas minőségű kóddarabból áll, nullára hajlik.

Adatmérnök nélkül ez a kód soha nem lesz projekt, és egyetlen üzleti probléma sem lesz hatékonyan megoldva. Az adatmérnök mindezt igyekszik termékké alakítani.

Alapvető információk, amelyeket egy adatmérnöknek tudnia kell

Kik az adatmérnökök, és hogyan válhatsz azzá?

Tehát, ha ez a munka kihozza belőled a fényt és lelkes vagy - megtanulhatod, elsajátíthatod az összes szükséges készséget és igazi rocksztárrá válhatsz az adatmérnöki területen. És igen, ezt programozási ismeretek vagy egyéb technikai ismeretek nélkül is meg tudod csinálni. Nehéz, de lehetséges!

Mik az első lépések?

Általános elképzelésed kell legyen arról, hogy mi az.

Először is, az adatmérnökség a számítástechnikára utal. Pontosabban, meg kell értenie a hatékony algoritmusokat és adatstruktúrákat. Másodszor, mivel az adatmérnökök adatokkal dolgoznak, meg kell érteni az adatbázisok alapelveit és az alapjául szolgáló struktúrákat.

Például a hagyományos B-tree SQL adatbázisok a B-Tree adatstruktúrán, valamint a modern elosztott tárolókban az LSM-tree-en és a hash táblák egyéb módosításain alapulnak.

*Ezek a lépések egy nagyszerű cikken alapulnak Adilya Khashtamova. Tehát, ha tud oroszul, támogassa a szerzőt és olvassa el a posztját.

1. Algoritmusok és adatstruktúrák

A megfelelő adatstruktúra használatával jelentősen javítható egy algoritmus teljesítménye. Ideális esetben mindannyian tanulnunk kellene az adatstruktúrákról és az algoritmusokról iskoláinkban, de ez ritkán kerül kitérésre. Mindenesetre soha nem késő megismerkedni.
Tehát itt vannak a kedvenc ingyenes tanfolyamaim az adatstruktúrák és algoritmusok tanulására:

Ráadásul ne feledkezzünk meg Thomas Corman klasszikus algoritmusokkal kapcsolatos munkájáról sem. Bevezetés az algoritmusokba. Ez a tökéletes referencia, amikor fel kell frissítenie a memóriáját.

  • Készségek fejlesztéséhez használja Leetcode.

Elmerülhetsz az adatbázisok világában is a Carnegie Mellon Egyetem lenyűgöző videóival a Youtube-on:

2. Tanuljon SQL-t

Egész életünk adat. És ahhoz, hogy ezeket az adatokat kinyerjük az adatbázisból, ugyanazt a nyelvet kell „beszélni” vele.

Az SQL (Structured Query Language) az adattartomány kommunikációjának nyelve. Függetlenül attól, hogy bárki mit mond, az SQL élt, él, és még nagyon sokáig élni fog.

Ha már régóta foglalkozik fejlesztéssel, akkor valószínűleg észrevette, hogy rendszeresen felbukkannak pletykák az SQL közelgő haláláról. A nyelvet a 70-es évek elején fejlesztették ki, és még mindig nagyon népszerű az elemzők, fejlesztők és egyszerűen a rajongók körében.
Az SQL ismerete nélkül nincs mit tenni az adatkezelésben, mivel elkerülhetetlenül lekérdezéseket kell létrehoznia az adatok lekéréséhez. Minden modern nagy adattárház támogatja az SQL-t:

  • Amazon RedShift
  • HP Vertica
  • Jóslat
  • SQL Server

... és sokan mások.

Az elosztott rendszerekben, például a HDFS-ben tárolt adatok nagy rétegének elemzésére feltalálták az SQL-motorokat: Apache Hive, Impala stb. Lásd, ez nem vezet sehova.

Hogyan tanuljunk SQL-t? Csak csináld a gyakorlatban.

Ehhez azt javaslom, hogy nézzen meg egy kiváló oktatóanyagot, amely egyébként ingyenes Mode Analytics.

  1. Középfokú SQL
  2. Adatok összekapcsolása SQL-ben

A kurzusokat az teszi különlegessé, hogy interaktív környezetük van, ahol közvetlenül a böngészőben írhat és futtathat SQL-lekérdezéseket. Forrás Modern SQL nem lesz felesleges. És ezt a tudást alkalmazhatja Leetcode feladatok az Adatbázisok részben.

3. Programozás Pythonban és Java/Scalában

A cikkben már írtam, hogy miért érdemes megtanulni a Python programozási nyelvet Python vs R. A legjobb eszköz kiválasztása AI, ML és Data Science számára. A Java és a Scala esetében a hatalmas mennyiségű adat tárolására és feldolgozására szolgáló eszközök többsége ezeken a nyelveken készült. Például:

  • Apache Kafka (Scala)
  • Hadoop, HDFS (Java)
  • Apache Spark (Scala)
  • Apache Cassandra (Java)
  • HBase (Java)
  • Apache Hive (Java)

Ahhoz, hogy megértse, hogyan működnek ezek az eszközök, ismernie kell azokat a nyelveket, amelyeken írták őket. A Scala funkcionális megközelítése lehetővé teszi a párhuzamos adatfeldolgozási problémák hatékony megoldását. A Python sajnos nem büszkélkedhet gyorsasággal és párhuzamos feldolgozással. Általánosságban elmondható, hogy több nyelv és programozási paradigma ismerete jó a problémamegoldó megközelítések széles skálájához.

Ha bele szeretne merülni a Scala nyelvébe, olvassa el Programozás Scalában a nyelv szerzőjétől. A Twitter egy jó bevezető útmutatót is közzétett - Scala Iskola.

Ami a Pythont illeti, azt hiszem Folyékony Python legjobb középfokú könyv.

4. Eszközök a big data kezeléséhez

Íme egy lista a legnépszerűbb eszközökről a big data világában:

  • Apache Spark
  • Apache Kafka
  • Apache Hadoop (HDFS, HBase, Hive)
  • Apache cassandra

További információkat találhat a nagy adatblokkok felépítéséről ebben a csodálatosban interaktív környezet. A legnépszerűbb eszközök a Spark és a Kafka. Tanulmányozni mindenképpen érdemes, célszerű belülről megérteni a működésüket. Jay Kreps (a Kafka társszerzője) 2013-ban publikált egy monumentális művet A napló: Amit minden szoftverfejlesztőnek tudnia kell a valós idejű adatgyűjtő absztrakciórólEgyébként ennek a Talmudnak a fő gondolatait használták fel az Apache Kafka létrehozásához.

5. Felhőplatformok

Kik az adatmérnökök, és hogyan válhatsz azzá?

Legalább egy felhőplatform ismerete szerepel az adatmérnöki állásra jelentkezők alapkövetelményeinek listáján. A munkaadók az Amazon Web Services szolgáltatást részesítik előnyben, a második helyen a Google felhőplatformja áll, az első három helyen pedig a Microsoft Azure áll.

Jó ismeretekkel kell rendelkeznie az Amazon EC2, AWS Lambda, Amazon S3, DynamoDB használatáról.

6. Elosztott rendszerek

A nagy adatokkal végzett munka magában foglalja a függetlenül működő számítógépek klasztereinek jelenlétét, amelyek között a kommunikáció hálózaton keresztül történik. Minél nagyobb a klaszter, annál nagyobb a valószínűsége a tagcsomópontjainak meghibásodásának. Ahhoz, hogy nagy adattudóssá váljon, meg kell értenie az elosztott rendszerek problémáit és meglévő megoldásait. Ez a terület régi és összetett.

Andrew Tanenbaum úttörőnek számít ezen a területen. Aki nem fél az elmélettől, annak ajánlom a könyvét "Elosztott rendszerek", kezdők számára ijesztőnek tűnhet, de valóban segít fejleszteni tudását.

Úgy gondolom Adatintenzív alkalmazások tervezése – Martin Kleppmann legjobb bevezető könyv. Egyébként Martinnak csodálatos blog. Munkája segít rendszerezni a nagy adatok tárolására és feldolgozására szolgáló modern infrastruktúra kiépítésével kapcsolatos ismereteket.
Azok számára, akik szeretnek videókat nézni, van egy tanfolyam a Youtube-on Elosztott számítógépes rendszerek.

7. Adatvezetékek

Kik az adatmérnökök, és hogyan válhatsz azzá?

Az adatfolyamok olyan dolgok, amelyek nélkül adatmérnökként nem tud élni.

Az adatmérnök legtöbbször úgynevezett data pipeline-t épít fel, vagyis egy folyamatot hoz létre az adatok egyik helyről a másikra való eljuttatására. Ezek lehetnek egyéni szkriptek, amelyek egy külső szolgáltatás API-jához mennek, vagy SQL-lekérdezést hajtanak végre, kiegészítik az adatokat, és központi tárolóba (adattárházba) vagy strukturálatlan adattárba (adatlakok) helyezik el.

Összefoglalva: az adatmérnök alapvető ellenőrző listája

Kik az adatmérnökök, és hogyan válhatsz azzá?

Összefoglalva, a következők jó megértése szükséges:

  • Információs rendszerek;
  • Szoftverfejlesztés (Agile, DevOps, Design Techniques, SOA);
  • Elosztott rendszerek és párhuzamos programozás;
  • Adatbázis alapjai – tervezés, tervezés, üzemeltetés és hibaelhárítás;
  • Kísérletek tervezése – A/B tesztek a koncepciók bizonyítására, a megbízhatóság és a rendszer teljesítményének meghatározására, valamint megbízható utak kidolgozására a jó megoldások gyors megvalósításához.

Ez csak néhány az adatmérnökké váláshoz szükséges követelmények közül, ezért tanulja meg és értse meg az adatrendszereket, az információs rendszereket, a folyamatos szállítást/telepítést/integrációt, a programozási nyelveket és más számítástechnikai témákat (nem minden tantárgyat).

És végül az utolsó, de nagyon fontos dolog, amit el szeretnék mondani.

Az adatmérnöki szakmá válás útja nem olyan egyszerű, mint amilyennek látszik. Nem bocsát meg, hanem frusztrál, és erre fel kell készülni. Ennek az utazásnak néhány pillanata feladásra késztethet. De ez igazi munka és tanulási folyamat.

Csak ne cukrozd már az elejétől fogva. Az utazás lényege, hogy minél többet tanuljunk, és készen álljunk az új kihívásokra.
Íme egy nagyszerű kép, amely jól illusztrálja ezt a kérdést:

Kik az adatmérnökök, és hogyan válhatsz azzá?

És igen, ne felejtse el elkerülni a kiégést és a pihenést. Ez is nagyon fontos. Sok szerencsét!

Mi a véleményetek a cikkről, barátaim? Meghívjuk Önt ingyenes webinárium, amelyre ma 20.00 órakor kerül sor. A webináriumon megvitatjuk, hogyan lehet hatékony és skálázható adatfeldolgozó rendszert felépíteni egy kis cég vagy startup számára minimális költséggel. Gyakorlatként megismerkedünk a Google Cloud adatfeldolgozó eszközeivel. Találkozunk!

Forrás: will.com

Hozzászólás