Quale sò ingegneri di dati, è cumu si diventa unu?

Salutami di novu! U titulu di l'articulu parla per ellu stessu. In anticipazione di u principiu di u corsu Ingegnere di dati Suggeremu chì capisce quale sò l'ingegneri di dati. Ci sò assai ligami utili in l'articulu. Felice lettura.

Quale sò ingegneri di dati, è cumu si diventa unu?

Una guida simplice nantu à cumu catturà l'onda di Ingegneria di Dati è ùn lasciate micca trascinate in l'abissu.

Sembra chì tutti volenu diventà un Data Scientist in questi ghjorni. Ma chì ne di l'ingegneria di dati? Essenzialmente, questu hè un tipu di hibridu di un analista di dati è un scientist di dati; Un ingegnere di dati hè tipicamente rispunsevule per a gestione di i flussi di travagliu, i pipelines di trasfurmazioni è i prucessi ETL. A causa di l'impurtanza di queste funzioni, questu hè attualmente un altru jargon prufessiunale populari chì hè attivamente guadagnatu momentu.

I salarii elevati è a dumanda enormi sò solu una piccula parte di ciò chì rende stu travagliu estremamente attraente! Se vulete unisce à i ranchi di l'eroi, ùn hè mai troppu tardi per cumincià à amparà. In questu post, aghju cullatu tutte l'infurmazioni necessarii per aiutà à fà i vostri primi passi.

Allora partemu!

Chì ghjè l'ingegneria di dati?

Onestamente, ùn ci hè micca una spiegazione megliu cà questu:

"Un scientist pò scopre una nova stella, ma ùn pò micca creà una. Avarà da dumandà à un ingegnere di fà per ellu ".

- Gordon Lindsay Glegg

Cusì, u rolu di un ingegnere di dati hè abbastanza significativu.

Cum'è u nome suggerisce, l'ingegneria di dati hè cuncernata cù e dati, vale à dì a so consegna, u almacenamentu è u trasfurmazioni. Dunque, u compitu principale di l'ingegneri hè di furnisce una infrastruttura affidabile per i dati. Se guardemu à a ghjerarchia di i bisogni AI, l'ingegneria di dati occupa i primi 2-3 tappe: cullizzioni, muvimentu è almacenamentu, preparazione di dati.

Quale sò ingegneri di dati, è cumu si diventa unu?

Chì faci un ingegnere di dati?

Cù l'avventu di big data, u scopu di rispunsabilità hà cambiatu dramaticamente. Se prima questi sperti anu scrittu grandi dumande SQL è dati distillati utilizendu strumenti cum'è Informatica ETL, Pentaho ETL, Talend, avà i requisiti per l'ingegneri di dati sò aumentati.

A maiò parte di l'imprese cù vacanti aperti per a pusizione di ingegnere di dati anu i seguenti requisiti:

  • Eccellente cunniscenza di SQL è Python.
  • Esperienza cù e plataforme di nuvola, in particulare Amazon Web Services.
  • Cunniscenza di Java / Scala preferita.
  • Bona cunniscenza di e basa di dati SQL è NoSQL (modelamentu di dati, magazzinu di dati).

Tenite in mente, questi sò solu l'essenziali. Da questa lista, si pò assume chì l'ingegneri di dati sò specialisti in u campu di u sviluppu di u software è u backend.
Per esempiu, se una cumpagnia principia à generà una grande quantità di dati da diverse fonti, u vostru compitu cum'è un ingegnere di dati hè di urganizà a cullizzioni di l'infurmazioni, u so trasfurmazioni è u almacenamentu.

A lista di l'arnesi utilizati in questu casu pò esse diffirenti, tuttu dipende di u voluminu di sta dati, a rapidità di a so ricezione è l'eterogeneità. A maiò parte di l'imprese ùn si tratta micca di big data, per quessa, cum'è un repository centralizatu, un magazzinu di dati chjamatu, pudete aduprà una basa di dati SQL (PostgreSQL, MySQL, etc.) cù una piccula serie di scripts chì alimentanu i dati. u magazzinu.

I giganti di l'informatica cum'è Google, Amazon, Facebook o Dropbox anu esigenze più altu: cunniscenze di Python, Java o Scala.

  • Esperienza cù big data: Hadoop, Spark, Kafka.
  • Cunniscenza di l'algoritmi è e strutture di dati.
  • Capisce i fundamenti di i sistemi distribuiti.
  • L'esperienza cù strumenti di visualizazione di dati cum'è Tableau o ElasticSearch serà un plus.

Vale à dì, ci hè un cambiamentu chjaru versu big data, vale à dì in u so trasfurmazioni sottu carichi elevati. Queste cumpagnie anu aumentatu i requisiti per a tolleranza à i difetti di u sistema.

Data Engineers vs. scientisti di dati

Quale sò ingegneri di dati, è cumu si diventa unu?
Va bè, era un paragone simplice è divertente (nunda persunale), ma in realtà hè assai più cumplicatu.

Prima, duvete sapè chì ci hè assai ambiguità in a delineazione di i roli è e cumpetenze di un scientist di dati è un ingegnere di dati. Questu hè, pudete facilmente esse cunfusu nantu à quale cumpetenze sò necessarie per esse un ingegnere di dati successu. Di sicuru, ci sò certe cumpetenze chì si sovrapponenu cù i dui roli. Ma ci sò ancu una quantità di cumpetenze diametralmente opposte.

A scienza di i dati hè un affari seriu, ma andemu versu un mondu di scienza di dati funziunale induve i pratichi sò capaci di fà a so propria analisi. Per attivà pipelines di dati è strutture di dati integrate, avete bisognu di ingegneri di dati, micca di scientisti di dati.

Hè un ingegnere di dati più dumandatu chè un scientist di dati?

- Iè, perchè prima di pudè fà a torta di carotte, avete prima bisognu di cullà, sbuccia è sbuchjate e carotte!

Un ingegnere di dati capisce a prugrammazione megliu cà qualsiasi scientist di dati, ma quandu si tratta di statistiche, u cuntrariu hè veru.

Ma quì hè u vantaghju di un ingegnere di dati:

Senza ellu / ella, u valore di u mudellu di prototipu, più spessu custituitu da un pezzu di codice di qualità terribili in un schedariu Python, ottenutu da un scientist di dati è in qualchì manera pruduce un risultatu, tende à cero.

Senza un ingegnere di dati, stu codice ùn diventerà mai un prughjettu è nisun prublema cummerciale serà risoltu in modu efficace. L'ingegnere di dati prova di trasfurmà tuttu questu in un pruduttu.

Informazioni basiche chì un ingegnere di dati deve sapè

Quale sò ingegneri di dati, è cumu si diventa unu?

Allora, se stu travagliu vi porta a luce in voi è site entusiasmu - pudete amparà, pudete ammaistrà tutte e cumpetenze necessarie è diventà una vera stella di roccia in u campu di l'ingegneria di dati. È, sì, pudete tirà questu ancu senza cumpetenze di prugrammazione o altre cunniscenze tecniche. Hè difficiule, ma pussibule!

Chì sò i primi passi ?

Duvete avè una idea generale di ciò chì hè.

Prima di tuttu, Data Engineering si riferisce à l'informatica. Più specificamente, duvete capisce l'algoritmi efficaci è e strutture di dati. Siconda, postu chì l'ingegneri di dati travaglianu cù e dati, hè necessariu di capiscenu i principii di basa di dati è e strutture chì sò sottumessi.

Per esempiu, e basa di dati SQL B-tree cunvinziunali sò basati nantu à a struttura di dati B-Tree, è ancu, in i repositori distribuiti muderni, LSM-Tree è altre mudificazioni di e tabelle hash.

* Questi passi sò basati nantu à un grande articulu Adilya Khashtamova. Allora, se sapete u russu, sustene stu autore è leghje u so postu.

1. Algoritmi è strutture di dati

Utilizà a struttura di dati ghjusta pò migliurà significativamente u rendiment di un algoritmu. Ideale, duvemu tutti amparà nantu à e strutture di dati è l'algoritmi in i nostri scoli, ma questu hè raramente coperto. In ogni casu, ùn hè mai troppu tardi per cunnosce.
Allora quì sò i mo corsi gratuiti preferiti per amparà strutture di dati è algoritmi:

In più ùn vi scurdate di u travagliu classicu di Thomas Corman nantu à l'algoritmi - Introduzione à l'algoritmi. Questu hè u riferimentu perfettu quandu avete bisognu di rinfriscà a vostra memoria.

  • Per migliurà e vostre cumpetenze, utilizate Leetcode.

Pudete ancu immerse in u mondu di basa di dati cù video maravigghiusi da l'Università Carnegie Mellon in Youtube:

2. Amparate SQL

Tutta a nostra vita hè dati. È per caccià sta dati da a basa di dati, avete bisognu di "parlà" a stessa lingua cun ella.

SQL (Structured Query Language) hè a lingua di cumunicazione in u duminiu di dati. Indipendentemente da ciò chì qualcunu dice, SQL hà campatu, hè vivu, è vive per un tempu assai longu.

Sè vo site in u sviluppu per un bellu pezzu, avete probabilmente nutatu chì i rumuri nantu à a morte imminente di SQL pop up periodically. A lingua hè stata sviluppata à l'iniziu di l'anni 70 è hè sempre assai populari trà l'analista, i sviluppatori è i simpricimenti entusiasti.
Senza cunniscenze di SQL ùn ci hè nunda di fà in l'ingegneria di dati, perchè inevitabbilmente avete da creà dumande per ricuperà e dati. Tutti i grandi magazzini di dati muderni supportanu SQL:

  • Amazon RedShift
  • HP Vertica
  • oraculu
  • Servidor SQL

... è tanti altri.

Per analizà una grande capa di dati almacenati in sistemi distribuiti cum'è HDFS, i mutori SQL sò stati inventati: Apache Hive, Impala, etc. Vede, ùn hè micca andatu in ogni locu.

Cumu amparà SQL? Fate solu in pratica.

Per fà questu, ricumandemu di verificà un tutorialu eccellente, chì, per via, hè liberu, da Modu Analytics.

  1. SQL intermediu
  2. Unisce i dati in SQL

Ciò chì rende speciali questi corsi hè chì anu un ambiente interattivu induve pudete scrive è eseguite dumande SQL direttamente in u vostru navigatore. Risorsa SQL mudernu ùn serà micca superfluu. È pudete applicà sta cunniscenza à compiti Leetcode in a sezione di basa di dati.

3. Programmazione in Python è Java / Scala

Perchè duvete amparà a lingua di prugrammazione Python, aghju digià scrittu in l'articulu Python vs R. Sceglie u megliu strumentu per AI, ML è Data Science. Quandu si tratta di Java è Scala, a maiò parte di l'arnesi per almacenà è trasfurmà enormi quantità di dati sò scritti in queste lingue. Per esempiu:

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

Per capisce cumu funziona sti strumenti, avete bisognu di cunnosce e lingue in quale sò scritte. L'approcciu funziunale di Scala permette di risolve in modu efficace i prublemi di trattamentu di dati paralleli. Python, sfurtunatamenti, ùn pò vantà di rapidità è di trasfurmazioni parallele. In generale, a cunniscenza di parechje lingue è paradigmi di prugrammazione hè bona per l'ampiezza di approcci per risolve i prublemi.

Per immerse in a lingua Scala, pudete leghje Programmazione in Scala da l'autore di a lingua. Twitter hà ancu publicatu una bona guida introduttiva - Scola à la Scala.

In quantu à Python, crede Python fluente u megliu libru di livellu mediu.

4. Strumenti per travaglià cù big data

Eccu una lista di i strumenti più populari in u mondu di big data:

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

Pudete truvà più infurmazione nantu à a custruzione di grandi blocchi di dati in questu stupente ambiente interattivu. I strumenti più populari sò Spark è Kafka. Di sicuru, vale a pena studià, hè cunsigliu per capiscenu cumu si travaglianu da l'internu. Jay Kreps (coautore di Kafka) hà publicatu un travagliu monumentale in u 2013 U logu: ciò chì ogni sviluppatore di software deve sapè nantu à l'astrazione di aggregazione di dati in tempu realeIn modu, l'idee principali di stu Talmud sò stati usati per creà Apache Kafka.

5. Piattaforme Cloud

Quale sò ingegneri di dati, è cumu si diventa unu?

A cunniscenza di almenu una piattaforma nuvola hè nantu à a lista di i requisiti basi per i candidati per a pusizione di ingegnere di dati. L'impiegatori preferanu Amazon Web Services, cù a piattaforma cloud di Google in u sicondu postu è Microsoft Azure arrotonda i primi trè.

Duvete avè una bona cunniscenza di Amazon EC2, AWS Lambda, Amazon S3, DynamoDB.

6. Sistemi distribuiti

U travagliu cù big data implica a prisenza di clusters di computer chì operanu indipindentamente, a cumunicazione trà quale hè realizatu nantu à una reta. U più grande u cluster, u più grande a probabilità di fallimentu di i so nodi membri. Per diventà un grande scientist di dati, avete bisognu di capiscenu i prublemi è e soluzioni esistenti per i sistemi distribuiti. Questa zona hè vechja è cumplessa.

Andrew Tanenbaum hè cunsideratu un pioniere in questu campu. Per quelli chì ùn anu micca paura di a teoria, ricumandemu u so libru "Sistemi distribuiti", Puderà parè spaventosa per i principianti, ma veramente vi aiuterà à affinà e vostre cumpetenze.

Mi cunsidero Cuncepimentu di applicazioni intensivi di dati da Martin Kleppmann u megliu libru introduttivu. Per via, Martin hà una maraviglia блог. U so travagliu aiuterà à sistematizà a cunniscenza di a custruzzione di una infrastruttura muderna per almacenà è trasfurmà e big data.
Per quelli chì piace à fighjulà i video, ci hè un cursu nant'à Youtube Sistemi di computer distribuiti.

7. Pipelines di dati

Quale sò ingegneri di dati, è cumu si diventa unu?

I pipelines di dati sò qualcosa chì ùn pudete micca campà senza cum'è un ingegnere di dati.

A maiò parte di u tempu, un ingegnere di dati custruisce un cusì chjamatu pipeline di dati, vale à dì, crea un prucessu per trasmette dati da un locu à l'altru. Puderanu esse scripts persunalizati chì vanu à l'API di un serviziu esternu o facenu una dumanda SQL, aumentanu e dati, è mette in un magazinu centralizatu (magazzinu di dati) o un magazzinu di dati micca strutturatu (laghi di dati).

Per sintetizà: a lista di cuntrollu di basa per un ingegnere di dati

Quale sò ingegneri di dati, è cumu si diventa unu?

Per sintetizà, una bona cunniscenza di i seguenti hè necessariu:

  • Sistemi d'infurmazione;
  • Sviluppu di software (Agile, DevOps, Design Techniques, SOA);
  • Sistemi distribuiti è prugrammazione parallela;
  • Fundamenti di basa di dati - Pianificazione, Disegnu, Funzionamentu è Risoluzione di prublemi;
  • Prughjettu di esperimenti - Test A/B per pruvà cuncetti, determinà l'affidabilità, u rendiment di u sistema, è sviluppà percorsi affidabili per furnisce rapidamente soluzioni boni.

Quessi sò solu uni pochi di i requisiti per diventà un ingegnere di dati, cusì amparà è capisce i sistemi di dati, i sistemi d'infurmazione, a spedizione / implementazione / integrazione cuntinuu, lingue di prugrammazione, è altri temi di l'informatica (micca tutti i temi).

È infine, l'ultimu, ma assai impurtante, vogliu dì.

A strada per diventà Ingegneria di Dati ùn hè micca cusì simplice quant'ellu pare. Ùn parduna micca, frustra, è duvete esse preparatu per questu. Certi mumenti in stu viaghju vi ponu spinghje à rinunzià. Ma questu hè un veru travagliu è un prucessu di apprendimentu.

Basta micca di zuccaru da u principiu. U puntu tutale di viaghjà hè di amparà u più pussibule è esse prontu per e novi sfide.
Eccu una bella foto chì aghju trovu chì illustra bè stu puntu:

Quale sò ingegneri di dati, è cumu si diventa unu?

È sì, ricordate di evità u burnout è u restu. Questu hè ancu assai impurtante. Bona Furtuna !

Chì ne pensate di l'articulu, amichi ? Vi invitemu à webinar gratuitu, chì si ferà oghje à 20.00. Durante u webinar, discuteremu cumu custruisce un sistema di trattamentu di dati efficace è scalabile per una piccula cumpagnia o startup à costu minimu. Cum'è una pratica, avemu da fà cunniscenze cù strumenti di trattamentu di dati Google Cloud. A prestu!

Source: www.habr.com

Add a comment