Data Engineering

Airflow Spark Connector: Failed to poll for the driver status 10 times

Airflow Spark Connector: Failed to poll for the driver status 10 times

Hung Manh Apr 21, 2025 5 min read

Obwohl die Spark-Verbindung korrekt konfiguriert ist, kann Airflow nach einem abgeschlossenen Spark-Submit den finalen Driver-Status nicht abrufen. Dieses Problem entsteht, weil Spark im Standalone-Modus zwei unterschiedliche Endpunkte bereitstellt, während der SparkSubmitOperator in Airflow nur eine einzige conn_id unterstützt. Systemkonfiguration Dieser…

Konfiguration des Meta Stores in Apache Spark

Konfiguration des Meta Stores in Apache Spark

Hung Manh Sep 23, 2024 8 min read

In unserem Open-Source Framework, welches Apache Spark für die Datenverarbeitung, Delta Lake für das Datenmanagement und MinIO als S3-Objektspeicher nutzt, wollten wir einen Hive Metastore integrieren. Die Integration stellte sich jedoch als komplexer heraus als erwartet, einfach weil uns ein…

Spark Exasol connector – java.sql.SQLException: [ERROR] Connection String unterstützt das Argument (workerID) nicht.

Spark Exasol connector – java.sql.SQLException: [ERROR] Connection String unterstützt das Argument (workerID) nicht.

Hung Manh Jul 20, 2024 3 min read

Der aktuelle exasol Connector (2.1.6) ist nicht kompatibel mit dem aktuellen exasol jdbc Treiber (24.1.1) Kontext Wir haben eine Spark-Datenverarbeitungspipeline, die den Exasol Connector in der Version 1.4 und einen JDBC-Treiber in der Version 7 verwendet. Alles funktionierte einwandfrei, also…

Subtiler Unterschied zwischen einem Dockerfile und einer dockercompose Datei – Variablen im Entrypoint Direktiv

Subtiler Unterschied zwischen einem Dockerfile und einer dockercompose Datei – Variablen im Entrypoint Direktiv

Hung Manh May 31, 2024 3 min read

TLDR: Variablen in Entrypoints sollten escaped werden. Dies kann durch die Verwendung eines zweiten $ erreicht werden. Hintergrund Beim Einrichten eines Spark Thrift Servers stieß ich auf ein – im Nachhinein betrachtet – offensichtliches Versehen. Ich würde immer den folgenden…

Spark – Fehler mit UTF8 Kodierung im Docker Image

Spark – Fehler mit UTF8 Kodierung im Docker Image

Hung Manh Mar 24, 2024 4 min read

Im Deutschen gibt es Sonderzeichen, die als Umlaute bekannt sind, unter anderem z.B. ä, ü, ö. Wenn das System nicht korrekt eingestellt ist, kann die Kodierung dieser Zeichen zu einem Informationsverlust führen. Sehen wir uns ein praktisches Beispiel an, bei…

Spark – java.nio.channels.UnresolvedAddressException

Spark – java.nio.channels.UnresolvedAddressException

Hung Manh Feb 1, 2024 4 min read

Eine sehr kurze Beschreibung des folgenden Fehlers, der anscheinend auch bei dem folgendem Benutzer aufgetreten ist und dokumentiert wurde (github). Dieser Fehlercode kann in verschiedenen Szenarien auftreten. In meiner speziellen Situation war die Lösung jedoch uim Glück ganz simpel Setup…

Exasol – object XXX not found

Exasol – object XXX not found

Hung Manh Jan 20, 2024 2 min read

TLDR: Indentifiers in Exasol werden intern in Großbuchstaben gespeichert. Attribute in der Selektanweisung sollten in Anführungszeichen gesetzt werden. Beobachtung In Exasol habe ich eine benutzerdefinierte Python-Funktion erstellt und zwar wie folgt: Dann versuchte ich, die UDF in einer Select-Anweisung wie…

dummy-img

Python – Pass by object: Praktische Fallstricke

Hung Manh Sep 19, 2023 3 min read

Innerhalb einer Schleife habe ich mehrfach auf ein Objekt in einem Dictionary zugegriffen, es transformiert und visualisiert. Die Absicht war, dass alle Transformationen voneinander isoliert bleiben sollten. Was aber tatsächlich passierte, war, dass sich diese Transformationen aufgrund von Pythons “Pass…

Doppelte Schlüssel bei der Erstellung einer Json aus einem Python Dict

Doppelte Schlüssel bei der Erstellung einer Json aus einem Python Dict

Hung Manh Jan 25, 2023 2 min read

TLDR: Ein dictionary in json behandelt alle Schlüssel als String, während ein Python Dictionay nicht nur zwischen dem Inhalt, sondern auch dem Datentyp unterscheidet (siehe Stackoverflow). Wenn man ein Dictionary in einem json speichert und das Dictionary daraus wieder lädt,…

Superset Guest Token mit Python erstellen, um Superset Dashboard zu embedden

Superset Guest Token mit Python erstellen, um Superset Dashboard zu embedden

Hung Manh Dec 30, 2022 4 min read

Das große Ziel ist es, ein Superset Dashboard in einer Webanwendung z.B. in REACT einzubetten. Um das zu erreichen, muss unter anderem ein Guest Token (Service Account) erstellt werden. Da dieser Prozess (meiner Meinung nach) nicht ganz ausreichend gut dokumentiert…

hungsblog | Nguyen Hung Manh | Dresden
Nach oben scrollen