Der Ein­stieg ins Data Engi­nee­ring kann ange­sichts der vie­len ver­schie­de­nen Tools und Tech­no­lo­gien, die auf dem Markt ver­füg­bar sind, über­wäl­ti­gend sein.

Big Data Land­scape — https://mattturck.com/data2021/

Häu­fig wer­den Fra­gen gestellt wie: „Soll ich zuerst Dat­ab­ricks oder Snow­flake ler­nen? Sollte ich mich auf Air­flow oder Hadoop konzentrieren?“

In die­sem Blog führe ich Sie von der Grund­stufe bis zur fort­ge­schrit­te­nen Stufe aller Res­sour­cen und Fähig­kei­ten, die Sie benö­ti­gen, um ein Daten­in­ge­nieur zu werden.

Ich habe die Fähig­kei­ten in 3 ver­schie­dene unterteilt:

  • Für Per­so­nen, die völ­lig neu in die­sem Bereich sind und ihre Kar­riere von ande­ren Berei­chen in die Daten­tech­nik ver­la­gern wollen.
  • Für Per­so­nen, die einige Grund­la­gen ken­nen und wis­sen möch­ten, wie sie vor­an­kom­men können.
  • Für Per­so­nen, die bereits über einige Erfah­rung ver­fü­gen und sich beruf­lich wei­ter­ent­wi­ckeln möchten.

Abschnitt 1- Unbe­kann­tes erforschen


Möch­ten Sie sich beruf­lich auf Data Engi­nee­ring ver­le­gen, füh­len sich aber von der Anzahl der ver­füg­ba­ren Tools und Tech­no­lo­gien über­for­dert? Sie sind nicht allein. Viele Men­schen befin­den sich in der glei­chen Situa­tion, egal ob sie in einem nicht­tech­ni­schen Beruf arbei­ten, Stu­dent oder Berufs­an­fän­ger sind oder in einem ande­ren tech­ni­schen Beruf tätig sind und sich ver­än­dern möchten.

Wenn Sie in eine die­ser Kate­go­rien fal­len, müs­sen Sie als Ers­tes Ihre Infor­ma­tik­grund­la­gen beherrschen.

Wenn Sie völ­lig neu in die­sem Bereich sind, müs­sen Sie die grund­le­gen­den Kon­zepte und die Ter­mi­no­lo­gie der Infor­ma­tik ver­ste­hen, bevor Sie sich mit Data Engi­nee­ring beschäftigen.

Eine groß­ar­tige Res­source hier­für ist die auf You­Tube ver­füg­bare Serie von Harvard’s CS50.

Dieser Inhalt wurde blockiert.Durch das laden akzeptieren Sie unsere Datenschutzerklärung.

Wenn Sie sich diese Vide­oreihe anse­hen, erhal­ten Sie ein grund­le­gen­des Ver­ständ­nis der Infor­ma­tik, ohne dass Sie einen Abschluss brau­chen oder Monate damit ver­brin­gen müs­sen, die Grund­la­gen zu lernen.

Sobald Sie die Grund­la­gen der Infor­ma­tik beherr­schen, kön­nen Sie zum nächs­ten Schritt über­ge­hen: dem Erler­nen der für Data Engi­nee­ring erfor­der­li­chen Fähigkeiten.

Es gibt drei grund­le­gende Fähig­kei­ten, die von Daten­in­ge­nieu­ren ver­langt werden:

  • Pro­gram­mier­spra­chen: Als Daten­in­ge­nieur wer­den Sie viele Umwand­lungs­auf­träge schrei­ben, Skripte bereit­stel­len, sie vali­die­ren und tes­ten, und dafür müs­sen Sie eine Pro­gram­mier­spra­che beherr­schen. Die drei beliebtesten Spra­chen sind Java, Scala und Python. Wenn Sie Anfän­ger sind, ist Python eine gute Wahl, da es leicht zu erler­nen und zu ver­ste­hen ist.
  • SQL: Die struk­tu­rierte Abfra­ge­spra­che ist der König der Daten­in­dus­trie. Egal, ob Sie als Daten­ana­ly­ti­ker, Daten­in­ge­nieur oder Daten­wis­sen­schaft­ler arbei­ten, Sie wer­den häu­fig mit SQL arbei­ten. SQL ist die Art und Weise, wie Sie mit einer rela­tio­na­len Daten­bank kom­mu­ni­zie­ren, und es ist wich­tig, dass Sie wis­sen, wie Sie damit Daten aus­wäh­len, ein­fü­gen, aktua­li­sie­ren und löschen können.
  • Linux-Befehle: Die meis­ten daten­tech­ni­schen Auf­ga­ben wer­den auf Remote-Rech­nern oder Cloud-Platt­for­men aus­ge­führt, und diese Rech­ner lau­fen in der Regel unter Linux-Betriebs­sys­te­men. Es ist wich­tig, dass Sie wis­sen, wie Sie mit die­sen Rech­nern arbei­ten und die grund­le­gen­den Linux-Befehle verstehen.

Abschnitt 2: Auf­bau einer soli­den Grundlage


In die­ser Phase sollte Ihr Ziel darin bestehen, die für die Daten­tech­nik erfor­der­li­chen Min­dest­fä­hig­kei­ten zu erler­nen und zu erfah­ren, wie Sie Ihre Kar­riere als Daten­tech­ni­ker star­ten können.

Sie müs­sen keine Zeit damit ver­brin­gen, alle auf dem Markt erhält­li­chen Fähig­kei­ten oder Tools zu erler­nen; Sie müs­sen sich nur auf die sehr gefrag­ten und wich­ti­gen Fähig­kei­ten kon­zen­trie­ren, die in die­ser Phase für Data Engi­nee­ring erfor­der­lich sind.

In die­ser Phase kon­zen­trie­ren wir uns auf den Auf­bau einer soli­den Grund­lage für Data Engineering.

Die erste grund­le­gende Fähig­keit, auf die Sie sich kon­zen­trie­ren müs­sen, ist das Ver­ständ­nis von Data Warehouses.

Dies besteht aus zwei Teilen:

  • Ler­nen über die Grund­la­gen von Data Warehouses
  • Kennt­nisse über Tools wie Snow­flake oder BigQuery.

Zu den Data-Ware­house-Grund­la­gen gehö­ren im All­ge­mei­nen das Ver­ständ­nis von OLTP, Dimen­si­ons­ta­bel­len, Extra­hie­ren, Trans­for­mie­ren, Laden und Daten­mo­del­lie­rung, wie z. B. das Ver­ständ­nis von Fak­ten- und Dimensionstabellen.

Wenn Sie lie­ber aus einem Buch ler­nen möch­ten, kön­nen Sie „The Data Ware­house Tool­kit“ von Ralph Kim­ball lesen.

Dies ist eines der bes­ten Bücher, die über Data Warehou­ses geschrie­ben wurden.

Sobald Sie die Grund­la­gen von Data Warehou­ses gelernt haben, kön­nen Sie das Gelernte auf ein bestimm­tes Tool anwenden.

Es gibt viele ver­schie­dene Data Warehou­ses auf dem Markt, wie z. B. Snow­flake, Big­Query und Redshift.

Ich emp­fehle, Snow­flake zu erler­nen, da die Nach­frage nach die­sem Tool von Tag zu Tag steigt.

Zusätz­lich zum Ver­ständ­nis der Daten­spei­che­rung müs­sen Sie auch die Daten­ver­ar­bei­tungs-Frame­works verstehen.

Es gibt zwei Hauptframeworks:

  • Batch-Ver­ar­bei­tung: Ver­ar­bei­tung von Daten in Sta­peln, z. B. Ver­ar­bei­tung der Daten des letz­ten Monats ein- oder zwei­mal am Tag.
  • Ver­ar­bei­tung in Echt­zeit: Ver­ar­bei­tung von Daten in Echt­zeit, sobald sie eingehen.

Für die Sta­pel­ver­ar­bei­tung ver­wen­den die meis­ten Unter­neh­men Apa­che Spark. Dabei han­delt es sich um ein Open-Source-Frame­work für die Datenverarbeitung.

Sie kön­nen mit dem Erler­nen der Apa­che Spark-Grund­la­gen begin­nen und dann ein Tool erler­nen, das die Apa­che Spark-Umge­bung unter­stützt, wie z. B. Dat­ab­ricks, AWS EMR, GCP Data Proc oder jedes andere Tool, das Sie auf dem Markt finden.

Mein Vor­schlag ist, mit Spark auf Dat­ab­rick zu üben und PySpark (Python) als Spra­che zu verwenden.

Für die Echt­zeit­ver­ar­bei­tung gibt es Frame­works und Tools wie Apa­che Kafka, Apa­che Flink und Apa­che Storm. Sie kön­nen sich eines aus­su­chen und es kennenlernen.

Die Art und Weise, wie wir ler­nen, besteht darin, dass wir ver­schie­dene Pro­bleme in klei­nere Teile zerlegen.

Zuerst kon­zen­trie­ren wir uns auf das Erler­nen von Grund­la­gen und dann ler­nen wir ein auf dem Markt sehr gefrag­tes Tool, auf das Sie Ihr Grund­la­gen­wis­sen anwen­den können.

Die dritte Fähig­keit, die Sie als Daten­in­ge­nieur beherr­schen müs­sen, ist das Ler­nen über Cloud-Platt­for­men.
Es ste­hen drei Haupt­op­tio­nen zur Auswahl:

  • Micro­soft Azure
  • Ama­zon Web­dienste (AWS)
  • Google Cloud-Platt­form (GCP)

Ich habe meine Kar­riere mit AWS begon­nen, aber Sie kön­nen jede belie­bige Cloud-Platt­form wäh­len, denn wenn Sie erst ein­mal eine erlernt haben, wird es ein­fa­cher sein, die ande­ren zu beherr­schen. Die grund­le­gen­den Kon­zepte der Cloud-Platt­for­men sind ähn­lich, mit nur leich­ten Unter­schie­den in der Benut­zer­ober­flä­che, den Kos­ten und ande­ren Faktoren.

In der Daten­tech­nik müs­sen Sie Daten­pipe­lines erstel­len, um Ihre Daten zu ver­ar­bei­ten. Daten­pipe­lines, auch ETL-Pipe­lines genannt, wer­den ver­wen­det, um Daten aus einer rela­tio­na­len Daten­bank zu extra­hie­ren, Trans­for­ma­tio­nen und Geschäfts­lo­gik anzu­wen­den und die Daten dann in einen Ziel­spei­cher zu laden. Um diese Vor­gänge zu ver­wal­ten, müs­sen Sie sich mit Work­flow-Manage­ment-Tools ver­traut machen.

Eine beliebte Wahl ist Apa­che Airflow.

Air­flow ist ein Open-Source-Work­flow-Manage­ment-Tool, mit dem Sie Daten­pipe­lines erstel­len, pla­nen und über­wa­chen kön­nen. Es ist in der Bran­che weit ver­brei­tet und hat eine große Benut­zer­ge­mein­schaft. Wenn Sie Air­flow erler­nen, kön­nen Sie Daten­pipe­lines erstel­len und den ETL-Pro­zess auto­ma­ti­sie­ren, was Ihre Arbeit als Data Engi­neer erheb­lich erleichtert.

Abschnitt 3: Modern Data Stack und fort­ge­schrit­tene Fähigkeiten


Als Data Engi­neer gibt es so viele ver­schie­dene Tools und Ansätze auf dem Markt.

Es ist wich­tig, auf dem Lau­fen­den zu blei­ben und sich mit allen ver­traut zu machen. Dar­über hin­aus müs­sen Sie ler­nen, wie Sie die gesamte Daten­in­fra­struk­tur ent­wer­fen, wie Sie das Sys­tem ver­wal­ten und ska­lie­ren und wie Sie fort­ge­schrit­tene Fähig­kei­ten beherrschen.

In die­sem Abschnitt wer­den wir uns auf das Erler­nen fort­ge­schrit­te­ner Fähig­kei­ten kon­zen­trie­ren, die für Data Engi­nee­ring erfor­der­lich sind.

Als Ers­tes emp­fehle ich, sich mit dem Modern Data Stack (MDS) zu beschäftigen.

Es gibt eine Liste von Tools, über die Sie mehr erfah­ren und deren Haupt­an­wen­dungs­fälle ver­ste­hen können.

Ein Tool, das ich sehr emp­fehle, ist DBT (Data Build Tool), da es von vie­len Unter­neh­men ein­ge­setzt wird und auf dem Markt an Popu­la­ri­tät gewinnt.

Es ist jedoch wich­tig, sich nicht an zu viele Tools zu bin­den, son­dern nur den Haupt­an­wen­dungs­fall eines jeden Tools zu verstehen.

Ein wei­te­rer wich­ti­ger Aspekt ist das Ver­ständ­nis von Sicher­heit, Netz­wer­ken, Bereit­stel­lung und ande­ren ver­wand­ten Themen.

Sie kön­nen auch etwas über Docker oder Kuber­netes ler­nen, die beim Ein­satz von Daten­pipe­lines in der Pro­duk­tion nütz­lich sind.

Ich emp­fehle die Lek­türe der Bücher:

  • Ent­wurf daten­in­ten­si­ver Anwendungen

— Fun­da­men­tals of Data Engineering

Dar­über hin­aus kön­nen Sie durch die Lek­türe von Kun­den­fall­stu­dien zu Platt­for­men wie AWS und GCP ein bes­se­res Ver­ständ­nis für die Ver­wen­dung die­ser Tools in rea­len Sze­na­rien erlangen.

Ich habe ein aus­führ­li­ches Video zu die­sem Thema mit einem kom­plet­ten Doku­ment über Kurse und Pro­jekte erstellt:

Dieser Inhalt wurde blockiert.Durch das laden akzeptieren Sie unsere Datenschutzerklärung.
Quelle: medium.com

Erfah­ren Sie hier mehr über Lösun­gen im Bereich Data Engi­nee­ring oder besu­chen Sie eines unse­rer kos­ten­lo­sen Web­i­nare.