Vonk
Spark CI op GitHub Actions
Spark-taken in CI besteden het grootste deel van hun tijd aan het opstarten van JVM en het samenstellen van jar.
5m → 45s
Montage
Spark-taken in CI besteden het grootste deel van hun tijd aan het opstarten van JVM en het samenstellen van jar.
Waarom het gebeurt
De assemblagepot wordt elke run opnieuw opgebouwd en de Ivy- of Coursier-cache is koud.
Wat te veranderen
- Cache de Ivy- en Coursier-mappen die zijn ingetoetst op de build-definitie
- Bouw de montagepot één keer en gebruik deze als artefact voor verschillende testtaken
- Voer Spark uit in de lokale modus met een vast parallellisme voor deterministische timing
Vonk op runnerhut
yaml
jobs: test: runs-on: runnerhut-8vcpu-ubuntu-2404 steps: - uses: actions/checkout@v4 - run: sbt assembly - run: spark-submit --master 'local[8]' target/app.jarDe enige runnerhut-specifieke regel is `runs-on: runnerhut-8vcpu-ubuntu-2404`. Al het andere is standaard GitHub Actions — dezelfde acties, dezelfde geheimen en hetzelfde machtigingsmodel dat u vandaag de dag gebruikt.
Je volgende build kan twee keer zo snel zijn, voor de halve prijs
Begin gratis. Weggaan is dezelfde ene regel, en die diff publiceren we ook.
Gerelateerd
DatabasemigratiesBij elke testrun wordt de volledige migratiegeschiedenis opnieuw afgespeeld vanuit een lege database.dbtdbt ontleedt het gehele project en voert ongewijzigde modellen opnieuw uit.CondaHet oplossen van omgevingsproblemen duurt langer dan de analyse zelf.LuchtstroomDAG-importcontroles installeren elke run de volledige Airflow-afhankelijkheidsset opnieuw.