Hverjir eru gagnaverkfræðingar og hvernig verður þú það?

Halló aftur! Titill greinarinnar talar sínu máli. Í tilefni af því að námskeiðið hefjist "gagnaverkfræðingur" Við mælum með að þú skiljir hverjir gagnaverkfræðingar eru. Það eru fullt af gagnlegum hlekkjum í greininni. Gleðilega lestur.

Hverjir eru gagnaverkfræðingar og hvernig verður þú það?

Einföld leiðarvísir um hvernig á að ná Data Engineering bylgjunni og ekki láta hana draga þig út í hyldýpið.

Það virðist sem allir vilji verða gagnafræðingar þessa dagana. En hvað með Data Engineering? Í meginatriðum er þetta eins konar blendingur gagnafræðings og gagnafræðings; Gagnaverkfræðingur er venjulega ábyrgur fyrir stjórnun verkflæðis, vinnsluleiðslu og ETL ferla. Vegna mikilvægis þessara aðgerða er þetta enn eitt vinsælt faglegt hrognamál sem er að öðlast skriðþunga.

Há laun og mikil eftirspurn er bara lítill hluti af því sem gerir þetta starf einstaklega aðlaðandi! Ef þú vilt slást í hóp hetjanna er aldrei of seint að byrja að læra. Í þessari færslu hef ég safnað öllum nauðsynlegum upplýsingum til að hjálpa þér að taka fyrstu skrefin þín.

Svo, við skulum byrja!

Hvað er Data Engineering?

Satt að segja er engin betri skýring en þessi:

„Vísindamaður getur uppgötvað nýja stjörnu, en hann getur ekki búið til hana. Hann verður að biðja verkfræðing um að gera það fyrir sig."

–Gordon Lindsay Glegg

Þannig er hlutverk gagnaverkfræðings nokkuð mikilvægt.

Eins og nafnið gefur til kynna snýst gagnaverkfræði um gögn, nefnilega afhendingu þeirra, geymslu og vinnslu. Samkvæmt því er meginverkefni verkfræðinga að útvega áreiðanlegan innviði fyrir gögn. Ef við skoðum AI stigveldi þarfa, þá tekur gagnaverkfræði fyrstu 2–3 stigin: söfnun, flutningur og varðveisla, undirbúningur gagna.

Hverjir eru gagnaverkfræðingar og hvernig verður þú það?

Hvað gerir gagnaverkfræðingur?

Með tilkomu stórra gagna hefur umfang ábyrgðar breyst verulega. Ef þessir sérfræðingar skrifuðu áður stórar SQL fyrirspurnir og eimuðu gögn með því að nota verkfæri eins og Informatica ETL, Pentaho ETL, Talend, þá hafa kröfurnar til gagnaverkfræðinga aukist.

Flest fyrirtæki með laus störf í stöðu gagnaverkfræðings hafa eftirfarandi kröfur:

  • Frábær þekking á SQL og Python.
  • Reynsla af skýjapöllum, sérstaklega Amazon Web Services.
  • Þekking á Java/Scala æskileg.
  • Góður skilningur á SQL og NoSQL gagnagrunnum (gagnalíkönum, gagnavörslu).

Hafðu í huga að þetta eru aðeins nauðsynleg atriði. Af þessum lista má ætla að gagnaverkfræðingar séu sérfræðingar á sviði hugbúnaðarþróunar og bakenda.
Til dæmis, ef fyrirtæki byrjar að búa til mikið magn af gögnum frá ýmsum aðilum, er verkefni þitt sem gagnaverkfræðingur að skipuleggja söfnun upplýsinga, vinnslu þeirra og geymslu.

Listinn yfir verkfæri sem notuð eru í þessu tilfelli getur verið mismunandi, það veltur allt á magni þessara gagna, hraða móttöku þeirra og misleitni. Flest fyrirtæki fást alls ekki við stór gögn, þannig að sem miðlæg geymsla, svokallað gagnavöruhús, er hægt að nota SQL gagnagrunn (PostgreSQL, MySQL o.s.frv.) með litlu setti af forskriftum sem fæða gögnin inn í vöruhúsið.

Upplýsingatæknirisar eins og Google, Amazon, Facebook eða Dropbox gera meiri kröfur: þekkingu á Python, Java eða Scala.

  • Reynsla af stórum gögnum: Hadoop, Spark, Kafka.
  • Þekking á reikniritum og gagnagerð.
  • Að skilja grunnatriði dreifðra kerfa.
  • Reynsla af gagnasjónunarverkfærum eins og Tableau eða ElasticSearch er kostur.

Það er, það er greinileg breyting í átt að stórum gögnum, nefnilega í vinnslu þeirra undir miklu álagi. Þessi fyrirtæki hafa auknar kröfur um bilanaþol í kerfinu.

Gagnaverkfræðingar vs. gagnafræðingar

Hverjir eru gagnaverkfræðingar og hvernig verður þú það?
Allt í lagi, þetta var einfaldur og fyndinn samanburður (ekkert persónulegt), en í raun og veru er þetta miklu flóknara.

Í fyrsta lagi ættir þú að vita að það er mikill tvískinnungur í afmörkun hlutverka og færni gagnafræðings og gagnaverkfræðings. Það er, þú getur auðveldlega ruglast á því hvaða færni þarf til að vera farsæll gagnaverkfræðingur. Auðvitað er ákveðin færni sem skarast við bæði hlutverkin. En það er líka fjöldinn allur af andstæðum hæfileikum.

Gagnafræði er alvarleg viðskipti, en við erum að færast í átt að heimi hagnýtra gagnavísinda þar sem iðkendur geta gert sínar eigin greiningar. Til að virkja gagnaleiðslur og samþætt gagnaskipulag þarftu gagnaverkfræðinga, ekki gagnafræðinga.

Er gagnaverkfræðingur meira eftirsóttur en gagnafræðingur?

- Já, því áður en þú getur búið til gulrótarköku þarftu fyrst að safna, afhýða og slá gulrætur!

Gagnaverkfræðingur skilur forritun betur en nokkur gagnafræðingur, en þegar kemur að tölfræði er hið gagnstæða satt.

En hér er kosturinn við gagnaverkfræðing:

Án hans/hennar hefur verðmæti frumgerð líkansins, sem oftast samanstendur af hræðilegum gæðakóða í Python-skrá, fengin frá gagnafræðingi og skilar niðurstöðu á einhvern hátt, núll.

Án gagnaverkfræðings mun þessi kóði aldrei verða verkefni og ekkert viðskiptavandamál verða leyst á áhrifaríkan hátt. Gagnaverkfræðingurinn er að reyna að breyta þessu öllu í vöru.

Grunnupplýsingar sem gagnaverkfræðingur ætti að vita

Hverjir eru gagnaverkfræðingar og hvernig verður þú það?

Svo ef þetta starf dregur fram ljósið í þér og þú ert áhugasamur - þú getur lært það, þú getur náð tökum á öllum nauðsynlegum hæfileikum og orðið alvöru rokkstjarna á sviði gagnaverkfræði. Og já, þú getur náð þessu jafnvel án forritunarkunnáttu eða annarrar tækniþekkingar. Það er erfitt, en mögulegt!

Hver eru fyrstu skrefin?

Þú ættir að hafa almenna hugmynd um hvað er hvað.

Í fyrsta lagi vísar Data Engineering til tölvunarfræði. Nánar tiltekið verður þú að skilja skilvirka reiknirit og gagnauppbyggingu. Í öðru lagi, þar sem gagnaverkfræðingar vinna með gögn, er nauðsynlegt að skilja meginreglur gagnagrunna og uppbygginguna sem liggur að baki þeim.

Til dæmis eru hefðbundnir B-tré SQL gagnagrunnar byggðir á B-Tree gagnaskipulagi, sem og, í nútíma dreifðum geymslum, LSM-Tree og öðrum breytingum á kjötkássatöflum.

*Þessi skref eru byggð á frábærri grein Adilya Khashtamova. Svo ef þú kannt rússnesku skaltu styðja þennan höfund og lesa færslu hans.

1. Reiknirit og gagnauppbygging

Notkun réttrar gagnauppbyggingar getur bætt árangur reikniritsins verulega. Helst ættum við öll að læra um uppbyggingu gagna og reiknirit í skólum okkar, en það er sjaldan fjallað um það. Í öllu falli er aldrei of seint að kynnast.
Svo hér eru uppáhalds ókeypis námskeiðin mín til að læra gagnagerð og reiknirit:

Auk þess má ekki gleyma klassísku verki Thomas Corman um reiknirit - Kynning á reikniritum. Þetta er fullkomin tilvísun þegar þú þarft að hressa upp á minnið.

  • Til að bæta færni þína, notaðu Leetcode.

Þú getur líka kafað inn í heim gagnagrunna með mögnuðum myndböndum frá Carnegie Mellon háskólanum á Youtube:

2. Lærðu SQL

Allt líf okkar er gögn. Og til að ná þessum gögnum úr gagnagrunninum þarftu að „tala“ sama tungumálið með þeim.

SQL (Structured Query Language) er tungumál samskipta í gagnaléninu. Burtséð frá því hvað hver segir, SQL hefur lifað, er á lífi og mun lifa í mjög langan tíma.

Ef þú hefur verið í þróun í langan tíma, hefur þú líklega tekið eftir því að sögusagnir um yfirvofandi dauða SQL skjóta upp kollinum reglulega. Tungumálið var þróað snemma á áttunda áratugnum og er enn mjög vinsælt meðal greinenda, þróunaraðila og einfaldlega áhugamanna.
Án þekkingar á SQL er ekkert að gera í gagnaverkfræði þar sem þú verður óhjákvæmilega að búa til fyrirspurnir til að sækja gögn. Öll nútíma stór gagnavöruhús styðja SQL:

  • Amazon Rauðskipting
  • HP Vertica
  • Oracle
  • SQL Server

... og margir aðrir.

Til að greina stórt lag af gögnum sem eru geymd í dreifðum kerfum eins og HDFS, voru SQL vélar fundnar upp: Apache Hive, Impala o.s.frv. Sjáðu til, það er ekki að fara neitt.

Hvernig á að læra SQL? Gerðu það bara í reynd.

Til að gera þetta, myndi ég mæla með að skoða frábæra kennslu, sem, við the vegur, er ókeypis Mode Analytics.

  1. Millistig SQL
  2. Að sameina gögn í SQL

Það sem gerir þessi námskeið sérstök er að þau eru með gagnvirku umhverfi þar sem þú getur skrifað og keyrt SQL fyrirspurnir beint í vafranum þínum. Auðlind Nútíma SQL verður ekki óþarfi. Og þú getur beitt þessari þekkingu til Leetcode verkefni í gagnagrunnshlutanum.

3. Forritun í Python og Java/Scala

Af hverju þú ættir að læra Python forritunarmálið skrifaði ég þegar í greininni Python vs R. Að velja besta tólið fyrir gervigreind, ML og gagnafræði. Þegar kemur að Java og Scala eru flest verkfærin til að geyma og vinna mikið magn af gögnum skrifuð á þessum tungumálum. Til dæmis:

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

Til að skilja hvernig þessi verkfæri virka þarftu að þekkja tungumálin sem þau eru skrifuð á. Hagnýt nálgun Scala gerir þér kleift að leysa samhliða gagnavinnsluvandamál á áhrifaríkan hátt. Python getur því miður ekki státað af hraða og samhliða vinnslu. Almennt séð er þekking á nokkrum tungumálum og forritunarhugmyndum góð fyrir breidd aðferða til að leysa vandamál.

Til að kafa inn í Scala tungumálið geturðu lesið Forritun í Scala frá höfundi tungumálsins. Twitter gaf einnig út góða kynningarhandbók - Scala skólinn.

Hvað Python varðar, trúi ég Fluent Python besta miðstig bók.

4. Verkfæri til að vinna með stór gögn

Hér er listi yfir vinsælustu verkfærin í heimi stórgagna:

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

Þú getur fundið frekari upplýsingar um byggingu stórra gagnablokka í þessu ótrúlega gagnvirku umhverfi. Vinsælustu verkfærin eru Spark og Kafka. Þeir eru svo sannarlega þess virði að læra, það er ráðlegt að skilja hvernig þeir virka innan frá. Jay Kreps (meðhöfundur Kafka) gaf út stórmerkilegt verk árið 2013 Skráin: Það sem sérhver hugbúnaðarhönnuður ætti að vita um rauntímauppdrátt gagnasöfnunarVið the vegur, helstu hugmyndir úr þessum Talmud voru notaðar til að búa til Apache Kafka.

5. Skýjapallar

Hverjir eru gagnaverkfræðingar og hvernig verður þú það?

Þekking á að minnsta kosti einum skýjapalli er á lista yfir grunnkröfur umsækjenda um stöðu gagnaverkfræðings. Vinnuveitendur kjósa Amazon Web Services, þar sem skýjapallur Google er í öðru sæti og Microsoft Azure í efstu þremur sætunum.

Þú verður að hafa góða þekkingu á Amazon EC2, AWS Lambda, Amazon S3, DynamoDB.

6. Dreifkerfi

Vinna með stór gögn felur í sér tilvist klasa af sjálfstætt starfandi tölvum, samskipti þeirra á milli fara fram í gegnum net. Því stærri sem þyrpingin er, því meiri líkur eru á bilun í meðlimhnútum hans. Til að verða frábær gagnafræðingur þarftu að skilja vandamálin og núverandi lausnir fyrir dreifð kerfi. Þetta svæði er gamalt og flókið.

Andrew Tanenbaum er talinn brautryðjandi á þessu sviði. Fyrir þá sem eru óhræddir við kenningar mæli ég með bókinni hans „Dreift kerfi“, það kann að virðast ógnvekjandi fyrir byrjendur, en það mun virkilega hjálpa þér að skerpa á hæfileikum þínum.

Ég tel Hönnun gagnafrekra forrita eftir Martin Kleppmann besta kynningarbók. Við the vegur, Martin hefur frábæra blogg. Starf hans mun hjálpa til við að koma á kerfisbundinni þekkingu um uppbyggingu nútímalegra innviða fyrir geymslu og vinnslu stórra gagna.
Fyrir þá sem hafa gaman af að horfa á myndbönd er námskeið á Youtube Dreifð tölvukerfi.

7. Gagnaleiðslur

Hverjir eru gagnaverkfræðingar og hvernig verður þú það?

Gagnaleiðslur eru eitthvað sem þú getur ekki lifað án sem gagnaverkfræðingur.

Oftast byggir gagnaverkfræðingur svokallaða gagnaleiðslu, það er að segja að hann býr til ferli til að koma gögnum frá einum stað til annars. Þetta gætu verið sérsniðnar forskriftir sem fara í API utanaðkomandi þjónustu eða gera SQL fyrirspurn, auka gögnin og setja þau í miðlæga geymslu (gagnavöruhús) eða óskipulagða gagnageymslu (gagnavötn).

Til að draga saman: grunngátlisti fyrir gagnaverkfræðing

Hverjir eru gagnaverkfræðingar og hvernig verður þú það?

Til að draga saman þarf góðan skilning á eftirfarandi:

  • Upplýsingakerfi;
  • Hugbúnaðarþróun (Agile, DevOps, Design Techniques, SOA);
  • Dreifð kerfi og samhliða forritun;
  • Grundvallaratriði gagnagrunns - Skipulag, hönnun, rekstur og bilanaleit;
  • Hönnun tilrauna - A/B próf til að sanna hugtök, ákvarða áreiðanleika, afköst kerfisins og þróa áreiðanlegar leiðir til að skila góðum lausnum fljótt.

Þetta eru aðeins nokkrar af kröfunum til að verða gagnaverkfræðingur, svo lærðu og skildu gagnakerfi, upplýsingakerfi, stöðuga afhendingu / dreifingu / samþættingu, forritunarmál og önnur tölvunarfræðiefni (ekki öll námssvið).

Og að lokum, það síðasta en mjög mikilvæga sem ég vil segja.

Leiðin til að verða Data Engineering er ekki eins einföld og hún kann að virðast. Hann fyrirgefur ekki, hann pirrar sig og þú verður að vera viðbúinn þessu. Sum augnablik í þessari ferð gætu ýtt þér til að gefast upp. En þetta er raunveruleg vinna og lærdómsferli.

Bara ekki sykurhúða það frá upphafi. Aðalatriðið við að ferðast er að læra eins mikið og mögulegt er og vera tilbúinn fyrir nýjar áskoranir.
Hér er frábær mynd sem ég rakst á sem sýnir þetta vel:

Hverjir eru gagnaverkfræðingar og hvernig verður þú það?

Og já, mundu að forðast kulnun og hvíld. Þetta er líka mjög mikilvægt. Gangi þér vel!

Hvað finnst ykkur um greinina, vinir? Við bjóðum þér að ókeypis vefnámskeið, sem fer fram í dag klukkan 20.00. Á vefnámskeiðinu munum við ræða hvernig hægt er að byggja upp skilvirkt og stigstærð gagnavinnslukerfi fyrir lítið fyrirtæki eða gangsetningu með lágmarkskostnaði. Sem æfing munum við kynnast Google Cloud gagnavinnsluverkfærum. Sjáumst!

Heimild: www.habr.com

Bæta við athugasemd