Data Engineering
Doppelte Schlüssel bei der Erstellung einer Json aus einem Python Dict
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
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…
Airflow – “Fill Dagbag” dauert zu lange
TLDR: Es ist möglich, DAGs mit nur einem Skript dynamisch zu erstellen. Bei der Ausführung der Tasks wird jedoch das ursprüngliche DAG-Skript noch einmal geparset. Dies führt zu unnötigen Parsing-Iterationen von DAGs, die nicht zum aktuellen Task zugehörig sind. Beobachtung:…
Migration von Kubernetes in ein VCN Natives Cluster in der OCI
Euer managed Kubernetes Cluster in der OCI könnte eine kleine Anzeige besitzen, die besagt, dass eine “Migration erforderlich” ist. Das liegt daran, dass in früheren Releases (vor dem 16. März die der Kubernetes API-Endpunkt von der Container Engine zwar bereitgestellt,…
Statistiken, Statistiken, Statistiken!
Wir hatten eine moderat komplexe Query, die ca. 270000 Zeilen umfasste, allerdings über eine Stunde lief. Nachdem Statistiken zu der darunterliegenden Tabelle aktualisiert wurden, lief die Query in nur 4 Sekunden durch. Die Query sah etwa wie folgt aus: WITH…
Kubernetes pod steckt im pending Status fest. Nodes had no available volume.
Beobachtung Ein deployter Pod steckt im Status “pending” fest. Mit Hilfe des Befehls describe pod sehen wir folgende Warnung: Warning FailedScheduling [..] 0/3 nodes are available: 3 node(s) had no available volume zone. Was ist passiert? Wir wollten eine Sicherung…
Airflow Tasks werden nicht zur spezifizierten Zeit ausgeführt
Wir haben ein Problem beobachtet, bei denen unsere Dags nicht zur spezifizierten Zeit, sondern konsistent zu einer scheinbar zufälligen Zeit ausgeführt wurden. Erwartetes Verhalten: Wir haben eine Jobkette bestehend aus drei Dags, die täglich eingeplant sind auch hintereinander laufen sollten.…
Anbinden von Block volume an eine VM Instanz in der OCI
Im Rahmen meines Forschungsseminars und zu Testzwecken, wollte ich die auf der Oracle Cloud Infrastructure (OCI) kostenlos zur Verfügung stehenden Produkte nutzen, um einige Tests durchzuführen. Hierbei ergaben sich allerdings einige, eigentlich triviale Probleme, bei der Anbindung eines zusätzlichen Block…
Objekte im OCI bucket verschieben
Gerade bin ich wohl über einer meiner Meisterstreiche in Sachen Dokumentation gestolpert. In der oracle cloud lassen sich Objekte nicht einfach verschieben, stattdessen geschieht dies über einen Umweg von Kopier- und Löschvorgängen. There is no direct “move file” functionality within…
pgadmin in Kubernetes – mount Permission denied
Um innerhalb eines Docker Setups, bzw. in diesem Fall eines Kubernetes Setup, bestimmte Ordner zu persistieren, müssen diese im host System gemountet werden. Für pgadmin wollen wir gerne die Datenbank persistieren, welche sich standardmäßig unter /var/lib/pgadmin befindet und Metadaten beinhaltet.…