Nortzuk dira datu-ingeniariak, eta nola bilakatzen zara?

Kaixo berriro! Artikuluaren izenburuak berez hitz egiten du. Ikastaroaren hasierari begira Datuen ingeniaria Datu-ingeniariak nor diren ulertzea gomendatzen dizugu. Artikuluan esteka erabilgarri asko daude. Irakurketa zoriontsua.

Nortzuk dira datu-ingeniariak, eta nola bilakatzen zara?

Datuen Ingeniaritza uhina harrapatzeko eta amildegira arrastaka ez uzteko gida sinple bat.

Badirudi mundu guztiak Data Scientist bihurtu nahi duela egun. Baina zer gertatzen da Datuen Ingeniaritza? Funtsean, datu-analista baten eta datu-zientzialari baten hibrido moduko bat da; Datu-ingeniari bat normalean lan-fluxuak, kanalizazioak prozesatzeko eta ETL prozesuak kudeatzeaz arduratzen da. Funtzio hauen garrantzia dela eta, gaur egun aktiboki indarra hartzen ari den beste jerga profesional ezagun bat da.

Soldata handiak eta eskaera handia lan hau oso erakargarria egiten duenaren zati txiki bat besterik ez dira! Heroi mailan sartu nahi baduzu, inoiz ez da berandu ikasten hasteko. Post honetan, zure lehen urratsak ematen laguntzeko beharrezko informazio guztia bildu dut.

Beraz, has gaitezen!

Zer da Datuen Ingeniaritza?

Egia esan, ez dago hau baino azalpen hoberik:

Β«Zientzialari batek izar berri bat aurki dezake, baina ezin du sortu. Ingeniari bati eskatu beharko dio hura egitekoΒ».

–Gordon Lindsay Glegg

Beraz, datu-ingeniari baten papera nahiko esanguratsua da.

Izenak dioen bezala, datuen ingeniaritza datuekin arduratzen da, hau da, entrega, biltegiratze eta prozesatzea. Horren arabera, ingeniarien zeregin nagusia datuetarako azpiegitura fidagarri bat eskaintzea da. Beharren AI ​​hierarkiari erreparatzen badiogu, datuen ingeniaritza lehen 2-3 etapak hartzen ditu: bilketa, mugimendua eta biltegiratzea, datuak prestatzea.

Nortzuk dira datu-ingeniariak, eta nola bilakatzen zara?

Zer egiten du datu-ingeniari batek?

Big dataren agerpenarekin, erantzukizunaren esparrua izugarri aldatu da. Lehen aditu horiek SQL kontsulta handiak idazten baziren eta datu destilatu zituzten Informatica ETL, Pentaho ETL, Talend bezalako tresnak erabiliz, orain datu-ingeniarien eskakizunak handitu egin dira.

Datu-ingeniari lanposturako lanpostu hutsak dituzten enpresa gehienek baldintza hauek dituzte:

  • SQL eta Python ezagutza bikaina.
  • Hodeiko plataformekin esperientzia, bereziki Amazon Web Services.
  • Java/Scala ezagutzea nahiago da.
  • SQL eta NoSQL datu-baseak ondo ulertzea (datuen modelizazioa, datuen biltegiratzea).

Gogoan izan, hauek ezinbestekoak baino ez dira. Zerrenda honetatik, datu-ingeniariak software garapenaren eta backend-aren arloan espezialistak direla pentsa daiteke.
Esaterako, enpresa bat hainbat iturritatik datu kopuru handia sortzen hasten bada, datu-ingeniari gisa zure zeregina informazioa biltzea, prozesatzea eta biltegiratzea da.

Kasu honetan erabilitako tresnen zerrenda desberdina izan daiteke, dena datu horien bolumenaren, jasotzeko abiaduraren eta heterogeneotasunaren araberakoa da. Enpresa gehienek ez dute datu handiekin batere lantzen, beraz, biltegi zentralizatu gisa, datu biltegi deitzen den moduan, SQL datu-base bat erabil dezakezu (PostgreSQL, MySQL, etab.) datuak elikatzen dituen script multzo txiki batekin. biltegia.

Google, Amazon, Facebook edo Dropbox bezalako IT erraldoiek eskakizun handiagoak dituzte: Python, Java edo Scala jakitea.

  • Big data-ekin esperientzia: Hadoop, Spark, Kafka.
  • Algoritmoak eta datuen egiturak ezagutzea.
  • Banatutako sistemen oinarriak ulertzea.
  • Datuak bistaratzeko tresnekin, esaterako, Tableau edo ElasticSearch-ekin esperientzia izatea abantaila bat izango da.

Hau da, big datarako aldaketa argia dago, hots, karga handietan prozesatzean. Enpresa hauek sistemaren akatsen tolerantziarako eskakizunak handitu dituzte.

Datu ingeniariak vs. datu-zientzilariak

Nortzuk dira datu-ingeniariak, eta nola bilakatzen zara?
Ados, konparazio sinple eta dibertigarria izan zen (ezer pertsonalik ez), baina errealitatean askoz ere konplikatuagoa da.

Lehenik eta behin, jakin behar duzu anbiguotasun handia dagoela datu-zientzialari eta datu-ingeniari baten rolak eta trebetasunak zehaztean. Hau da, erraz nahas zaitezke zer gaitasun behar diren datu-ingeniari arrakastatsu bat izateko. Noski, bi rolekin bat egiten duten trebetasun jakin batzuk daude. Baina diametralki kontrako trebetasun batzuk ere badaude.

Datu-zientzia negozio serioa da, baina datu-zientzia funtzionalaren mundu batera goaz, non profesionalek beren analisiak egiteko gai diren. Datu-hodiak eta datu-egitura integratuak gaitzeko, datu-ingeniariak behar dituzu, ez datu-zientzialariak.

Datu-ingeniari batek eskatzen du datu-zientzialari batek baino?

- Bai, azenario tarta egin aurretik, lehenik azenarioak bildu, zuritu eta gorde behar dituzu!

Datu-ingeniari batek edozein datu zientzialari baino hobeto ulertzen du programazioa, baina estatistikari dagokionez, alderantziz gertatzen da.

Baina hona hemen datu-ingeniari baten abantaila:

Bera gabe, prototipo-ereduaren balioa, gehienetan Python fitxategi batean kalitate ikaragarrizko kode batez osatua, datu-zientzialari batek lortutakoa eta nolabait emaitza bat sortzen duena, zerora jotzen du.

Datu-ingeniaririk gabe, kode hau ez da inoiz proiektu bihurtuko eta ez da negozio-arazorik eraginkortasunez konponduko. Datuen ingeniaria hori guztia produktu bihurtzen saiatzen ari da.

Datu-ingeniari batek jakin behar duen oinarrizko informazioa

Nortzuk dira datu-ingeniariak, eta nola bilakatzen zara?

Beraz, lan honek zure baitan argia ateratzen badu eta gogotsu bazaude - ikasi dezakezu, beharrezko trebetasun guztiak menderatu ditzakezu eta datu-ingeniaritza arloan benetako rock izar bihurtu zaitezke. Eta, bai, hau atera dezakezu programazio trebetasunik edo bestelako ezagutza teknikorik gabe ere. Zaila da, baina posible!

Zeintzuk dira lehen urratsak?

Ideia orokorra izan beharko zenuke zer den.

Lehenik eta behin, Datuen Ingeniaritza informatikariari egiten dio erreferentzia. Zehazkiago, algoritmo eraginkorrak eta datu-egiturak ulertu behar dituzu. Bigarrenik, datu-ingeniariek datuekin lan egiten dutenez, beharrezkoa da datu-baseen printzipioak eta horien azpian dauden egiturak ulertzea.

Esate baterako, B-Tree SQL datu-base konbentzionalak B-Tree datu-egituran oinarritzen dira, baita, banatutako biltegi modernoetan, LSM-Tree eta hash-taulen beste aldaketetan ere.

* Urrats hauek artikulu bikain batean oinarritzen dira Adilya Khashtamova. Beraz, errusiera ezagutzen baduzu, lagundu egile honi eta irakurri bere postua.

1. Algoritmoak eta datu-egiturak

Datu-egitura egokia erabiltzeak nabarmen hobetu dezake algoritmo baten errendimendua. Egokiena, denok ikasi beharko genuke datu-egiturak eta algoritmoak gure ikastetxeetan, baina hori oso gutxitan azaltzen da. Edonola ere, inoiz ez da berandu ezagutzeko.
Beraz, hona hemen datuen egiturak eta algoritmoak ikasteko doako ikastarorik gogokoenak:

Gainera, ez ahaztu Thomas Corman-en algoritmoen lan klasikoa - Algoritmoen sarrera. Hau erreferentzia ezin hobea da memoria freskatu behar duzunean.

  • Zure gaitasunak hobetzeko, erabili Leetcode.

Youtubeko Carnegie Mellon Unibertsitateko bideo harrigarriekin datu-baseen munduan ere murgil zaitezke:

2. Ikasi SQL

Gure bizitza osoa datuak dira. Eta datu-basetik datu hauek ateratzeko, hizkuntza berean "hitz egin" behar duzu.

SQL (Structured Query Language) datuen domeinuko komunikazio hizkuntza da. Inork esaten duena gorabehera, SQL bizi izan da, bizirik dago eta oso denbora luzez biziko da.

Denbora luzez garapenean egon bazara, ziurrenik SQLren heriotza hurbilaren inguruko zurrumurruak agertzen direla aldian-aldian nabarituko duzu. Hizkuntza 70eko hamarkadaren hasieran garatu zen eta oraindik oso ezaguna da analisten, garatzaileen eta zaletuen artean.
SQL ezagutzarik gabe ez dago zer eginik datuen ingeniaritzan, ezinbestean datuak berreskuratzeko kontsultak sortu beharko dituzu eta. Datu handien biltegi moderno guztiek SQL onartzen dute:

  • Amazon RedShift
  • HP Vertica
  • Oracle
  • SQL Server

... eta beste asko.

HDFS bezalako sistema banatuetan gordetako datu-geruza handi bat aztertzeko, SQL motorrak asmatu ziren: Apache Hive, Impala... Ikusi, ez doa inora.

Nola ikasi SQL? Egin ezazu praktikan.

Horretarako, tutoretza bikain bat ikustea gomendatuko nuke, bide batez doakoa dena Analitika modua.

  1. Tarteko SQL
  2. Datuak SQL-n batzea

Ikastaro hauek berezi egiten dituztenak ingurune interaktibo bat dutela da, non SQL kontsultak idatzi eta exekutatu ditzakezu zure arakatzailean. Baliabidea SQL modernoa ez da soberan izango. Eta ezagutza hori aplika dezakezu Leetcode zereginak Datu-baseak atalean.

3. Python eta Java/Scalan programatzea

Zergatik ikasi behar duzun Python programazio lengoaia, idatzi nuen dagoeneko artikuluan Python vs R. AI, ML eta Datu Zientzietarako tresna onena aukeratzea. Java eta Scala-ri dagokionez, datu kopuru handiak gordetzeko eta prozesatzeko tresna gehienak lengoaia hauetan idatzita daude. Adibidez:

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

Tresna hauek nola funtzionatzen duten ulertzeko, idatzita dauden hizkuntzak ezagutu behar dituzu. Scala-ren ikuspegi funtzionalak datu-prozesatzeko arazoak modu eraginkorrean konpontzeko aukera ematen du. Python-ek, zoritxarrez, ezin du abiaduraz eta prozesamendu paraleloaz harrotu. Oro har, hainbat hizkuntza eta programazio paradigma ezagutzea ona da arazoak konpontzeko planteamendu zabalerako.

Scala hizkuntzan murgiltzeko, irakur dezakezu Programazioa Scala-n hizkuntzaren egilearen eskutik. Twitterrek sarrera gida on bat ere argitaratu zuen - Scala Ikastetxea.

Python-i dagokionez, uste dut Python jarioa Erdi mailako liburu onena.

4. Big data-ekin lan egiteko tresnak

Hona hemen big dataren munduko tresna ezagunenen zerrenda:

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

Datu-bloke handiak eraikitzeari buruzko informazio gehiago aurki dezakezu harrigarri honetan ingurune interaktiboa. Tresna ezagunenak Spark eta Kafka dira. Zalantzarik gabe aztertzea merezi dute, barrutik nola funtzionatzen duten ulertzea komeni da. Jay Kreps-ek (Kafka-ren egilekidea) lan monumental bat argitaratu zuen 2013an Erregistroa: Software garatzaile bakoitzak denbora errealeko datuen agregazioaren abstrakzioari buruz jakin beharko lukeenaBide batez, Talmud honetako ideia nagusiak Apache Kafka sortzeko erabili ziren.

5. Hodeiko plataformak

Nortzuk dira datu-ingeniariak, eta nola bilakatzen zara?

Gutxienez hodeiko plataforma baten ezagutza datu-ingeniari lanposturako eskatzaileen oinarrizko eskakizunen zerrendan dago. Enpresaburuek Amazon Web Services nahiago dute, Google-ren hodeiko plataforma bigarren postuan eta Microsoft Azure lehen hirurak biribiltzen dituelarik.

Amazon EC2, AWS Lambda, Amazon S3, DynamoDB ezagutza ona izan behar duzu.

6. Sistema banatuak

Big data-ekin lan egiteak modu independentean funtzionatzen duten ordenagailuen multzoak egotea dakar, eta horien arteko komunikazioa sare baten bidez egiten da. Zenbat eta handiagoa izan kluster, orduan eta handiagoa izango da bere kideen nodoen porrotaren probabilitatea. Datuen zientzialari bikaina izateko, sistema banatuetarako dauden arazoak eta dauden irtenbideak ulertu behar dituzu. Eremu hau zaharra eta konplexua da.

Andrew Tanenbaum aitzindaritzat hartzen da arlo honetan. Teoriari beldurrik ez zaionarentzat bere liburua gomendatzen dut "Sistema banatuak", hasiberrientzat izugarria dirudi, baina benetan lagunduko dizu zure gaitasunak hobetzen.

uste dut Martin Kleppmann-en datu-intentsiboko aplikazioak diseinatzea sarrerako liburu onena. Bide batez, Martinek zoragarria du blog. Bere lanak datu handiak gordetzeko eta prozesatzeko azpiegitura moderno bat eraikitzeko ezagutza sistematizatzen lagunduko du.
Bideoak ikustea gustuko dutenentzat, Youtuben ikastaro bat dago Banatutako sistema informatikoak.

7. Datu-hodiak

Nortzuk dira datu-ingeniariak, eta nola bilakatzen zara?

Datu-hodiak datu-ingeniari gisa bizi ezin duzun zerbait dira.

Gehienetan, datu-ingeniari batek datu kanalizazioa deritzona eraikitzen du, hau da, datuak leku batetik bestera bidaltzeko prozesu bat sortzen du. Kanpoko zerbitzu baten APIra doazen script pertsonalizatuak izan daitezke edo SQL kontsulta bat egin, datuak handitu eta biltegi zentralizatu batean (datu biltegi) edo egituratu gabeko datu biltegi batean (data lakes) sartu.

Laburbilduz: datu-ingeniari baten oinarrizko kontrol-zerrenda

Nortzuk dira datu-ingeniariak, eta nola bilakatzen zara?

Laburbilduz, honako hauek ondo ulertzea beharrezkoa da:

  • Informazio Sistemak;
  • Software garapena (Agile, DevOps, Design Techniques, SOA);
  • Sistema banatuak eta programazio paraleloa;
  • Datu-basearen oinarriak - Plangintza, diseinua, funtzionamendua eta arazoak konpontzea;
  • Esperimentuen diseinua - A/B probak kontzeptuak frogatzeko, fidagarritasuna, sistemaren errendimendua zehazteko eta irtenbide onak azkar emateko bide fidagarriak garatzeko.

Hauek datu-ingeniari izateko eskakizunetako batzuk baino ez dira, beraz, ikasi eta ulertu datu-sistemak, informazio-sistemak, etengabeko entrega/hedapena/integrazioa, programazio-lengoaiak eta informatikako beste gai batzuk (ez irakasgai guztiak).

Eta azkenik, esan nahi dudan azkena baina oso garrantzitsua.

Datuen Ingeniaritza izateko bidea ez da dirudien bezain erraza. Ez du barkatzen, zapuztu egiten du, eta horretarako prestatuta egon behar duzu. Bidaia honetako une batzuek amore ematera bultzatuko zaituzte. Baina hau benetako lana eta ikasketa prozesu bat da.

Ez ezazu azukrea hasieratik. Bidaiatzeko helburu nagusia ahalik eta gehien ikastea eta erronka berrietarako prest egotea da.
Hona hemen aurkitu dudan argazki bikain bat, puntu hau ondo ilustratzen duena:

Nortzuk dira datu-ingeniariak, eta nola bilakatzen zara?

Eta bai, gogoratu erretzea eta atseden hartzea saihesteko. Hau ere oso garrantzitsua da. Zorte on!

Zer iruditzen zaizue artikulua, lagunok? gonbidatzen zaitugu doako webinarra, gaur arratsaldeko 20.00etan izango dena. Webinarioan zehar, enpresa txiki edo startup baterako datuak prozesatzeko sistema eraginkor eta eskalagarria nola eraiki aztertuko dugu kostu minimoarekin. Praktika gisa, Google Cloud datuak prozesatzeko tresnak ezagutuko ditugu. Ikusiko gara!

Iturria: www.habr.com

Gehitu iruzkin berria