Funke
Spark CI auf GitHub Actions
Spark-Jobs in CI verbringen die meiste Zeit mit dem JVM-Start und der JAR-Assemblierung.
5m → 45s
Montage
Spark-Jobs in CI verbringen die meiste Zeit mit dem JVM-Start und der JAR-Assemblierung.
Warum es passiert
Das Assembly-Glas wird bei jedem Lauf neu aufgebaut und der Ivy- oder Coursier-Cache ist kalt.
Was zu ändern ist
- Zwischenspeichern der Ivy- und Coursier-Verzeichnisse, die in der Build-Definition festgelegt sind
- Erstellen Sie das Assembly-JAR einmal und verwenden Sie es in Testjobs als Artefakt wieder
- Führen Sie Spark im lokalen Modus mit fester Parallelität für deterministisches Timing aus
Funke auf runnerhut
Die einzige runnerhut-spezifische Zeile ist „runs-on: runnerhut-8vcpu-ubuntu-2404“. Alles andere sind Standard-GitHub Actions – dieselben Aktionen, dieselben Geheimnisse und dasselbe Berechtigungsmodell, das Sie heute verwenden.
Ihr nächster Build könnte doppelt so schnell sein — zum halben Preis
Kostenlos starten. Der Wechsel zurück ist dieselbe eine Zeile — auch dieses Diff veröffentlichen wir.
Verwandt
DatenbankmigrationenBei jedem Testlauf wird der vollständige Migrationsverlauf aus einer leeren Datenbank wiedergegeben.dbtdbt analysiert das gesamte Projekt und führt unveränderte Modelle erneut aus.CondaDas Lösen der Umgebung dauert länger als die Analyse selbst.LuftstromDAG-Importprüfungen installieren bei jedem Lauf den vollständigen Airflow-Abhängigkeitssatz neu.