39 Punkte von xguru 2024-11-25 | 1 Kommentare | Auf WhatsApp teilen
  • Der Berufseinstieg ins Data Engineering kann sich wegen des komplexen Technologie-Ökosystems (z. B. Spark, Flink, Iceberg, BigQuery usw.) schwierig anfühlen
  • Es reicht nicht aus, einfach nur Python und SQL zu lernen; erforderlich sind eine systematische Strategie und praktische Übungen

Elemente, die für den Berufseinstieg ins Data Engineering nötig sind

  1. Technische Kompetenzen:

    • Sicherer Umgang mit SQL und Python
    • Verteilte Computing-Technologien (mindestens eine von Snowflake, Spark, BigQuery)
    • Verständnis von Orchestrierungs-Tools (Airflow, Mage, Databricks Workflows usw.)
    • Fähigkeiten in Datenmodellierung und Datenqualitätsmanagement
  2. Portfolio-Projekte:

    • Projekte erstellen, die reale technische Fähigkeiten zeigen
  3. Persönliches Branding:

    • Die eigene Fachlichkeit durch Pflege des LinkedIn-Profils und Interviewvorbereitung hervorheben

SQL lernen und beherrschen

  • SQL ist die unverzichtbare Sprache des Data Engineering:
    • Empfohlene Lernressourcen:
    • Zentrale Konzepte:
      • JOIN-Typen: INNER, LEFT, FULL OUTER (RIGHT JOIN wird kaum verwendet)
      • Aggregation mit GROUP BY und Einsatz von DISTINCT
      • Verständnis von Window Functions sowie der Unterschiede zwischen RANK, DENSE_RANK und ROW_NUMBER
      • Verständnis von Keywords und Shuffle in verteilten SQL-Umgebungen (z. B. JOIN, GROUP BY, ORDER BY)
      • Einsatz von CTE (Common Table Expression), Temp Table und View

Python und Scala lernen

  • Sprachauswahl:
    • Für Einsteiger wird Python empfohlen, für Erfahrene Scala.
  • Wichtige Konzepte:
    • Datenstrukturen: Listen, Dictionaries, Stacks usw.
    • Algorithmen: Schleifen, binäre Suche, Verständnis der Big-O-Notation
    • Wichtige Einsatzbereiche von Python:
      • Schreiben von Airflow-DAGs
      • Interaktion mit REST APIs
      • Schreiben von Spark-UDFs und Performance-Optimierung

Konzepte des verteilten Computing

  • Kern des verteilten Computing:
    • Verständnis von Hadoop-/Spark-basierten Architekturen zur Verteilung von Datenverarbeitungslasten
    • Management von Shuffle- und Skew-Problemen:
      • Einsatz von Broadcast JOIN, Bucket JOIN und Partitionierung
      • Nutzung adaptiver Ausführung in Spark 3+
  • Verwaltung von Ausgabedaten:
    • Optimierung der Dateigröße von Parquet-Dateien durch Nutzung von Run-Length-Encoding

Datenqualität und Nutzbarkeit sicherstellen

  1. Datenqualität:

    • Deduplizierung, Prüfung von NULL-Werten sowie Kontrolle geeigneter Formate und Datenmengen
    • Ergänzung der Datenpipeline um Qualitätsprüfungen mit Tools wie Great Expectations
  2. Nutzbarkeit:

    • Angemessene Dokumentation und vorherige Abstimmung der Spezifikationen
    • Ansätze der Datenmodellierung:
      • Verständnis der Vor- und Nachteile von relationalen Modellen, Dimensional (Kimball) und One Big Table
  3. Einhaltung des Datenschutzes:

    • Anonymisierung personenbezogener Informationen (PII) und Minimierung der Datenaufbewahrungsdauer

Portfolio-Projekte erstellen

  • Merkmale effektiver Projekte:
    • Ein Thema wählen, das einen persönlich interessiert
    • Ein Projekt mit Frontend-Anbindung erstellen (z. B. Tableau, Power BI)
    • Moderne Technologien einsetzen (Spark, Snowflake, Delta Lake usw.)
    • Eine Pipeline implementieren, die in einer Produktionsumgebung läuft

Persönliches Branding und Interviewvorbereitung

  1. LinkedIn nutzen:

    • Networking mit Hiring Managern und Kolleginnen und Kollegen aufbauen
    • Die eigene Bekanntheit steigern, indem man den Lernweg teilt
  2. Interviewvorbereitung:

    • Interviewer und Unternehmenshintergrund recherchieren
    • Ruhig und positiv auf Fragen reagieren
    • Neugier und Leidenschaft für Technologie und Rolle vermitteln

Fazit

  • Der Einstieg ins Data Engineering ist 2024 trotz der schwierigen Marktlage mit einer systematischen Strategie erreichbar
  • Wer dieser Roadmap folgt, kommt dem angestrebten Job im Data Engineering einen Schritt näher

1 Kommentare

 
joon14 2024-11-25

Scala ist wirklich eine großartige Sprache, aber ich finde es schade, dass sie außerhalb von Spark nach und nach an Einsatzmöglichkeiten zu verlieren scheint.