· kaynak Hacker News – Front Page (native)
MiniLake, Databricks API'sini gerçek Spark, SQL ve Delta Lake çalıştırmasıyla yerel olarak taklit ediyor
MiniLake, Databricks API'sini localhost üzerinde sunan açık kaynaklı bir emülatör: DuckDB üzerinde gerçek SQL çalıştırıyor, gerçek Delta dosyaları yazıyor ve hesap ya da bulut masrafı olmadan Spark işleri yürütüyor.

Açık kaynaklı bir Databricks emülatörü
29 Ekim 2026'da Hacker News'in ana sayfasında ortaya çıkan açık kaynaklı proje MiniLake, Databricks API'sinin yerel bir emülatörü. Projenin sitesine göre, Databricks REST yüzeyini tek bir yerel port üzerinden sunuyor; böylece databricks-sdk Python kütüphanesi, Databricks CLI, Terraform provider, Asset Bundles, PySpark ve LLM agent'ları bulut hesabı, API anahtarı ve compute faturası olmadan localhost'a yönlendirilebiliyor. MIT lisanslı olan proje, Python 3.11 veya daha yeni bir sürüm gerektiriyor ve pip üzerinden ya da Docker imgesi olarak kurulabiliyor.
Hazır yanıtlar yerine gerçek çalıştırma
Proje kendini mock sunucuların karşısına konumlandırıyor; sahte endpoint'lerin hatalı kodun fark edilmeden geçmesine izin verdiği gerekçesiyle. MiniLake bunun yerine SQL'i DuckDB üzerinde çalıştırıyor, gerçek Delta Lake dosyaları yazıyor (Parquet verisi artı bir _delta_log işlem günlüğü) ve spark-submit işlerini kardeş container'larda yürütüyor. Statement execution; JSON_ARRAY, ARROW_STREAM ve CSV sonuç formatlarıyla INLINE ve EXTERNAL_LINKS disposition'larını destekliyor ve sonuç manifest'leri gerçek kolon tiplerini taşıyor.
Unity Catalog nesneleri — catalog, schema, table ve volume'lar — için tam create, read, update ve delete desteği var; her catalog kendi DuckDB veritabanı dosyası olarak saklandığından catalog.schema.table adreslemesi string yeniden yazımıyla değil, doğal biçimde çalışıyor. Harici Delta tablolarına yazımlar gerçek bir Spark işinden geçiyor, okumalar DuckDB'nin delta_scan'ini kullanıyor ve PySpark istemcileri tabloları, Spark'ın gerçek bir workspace'le konuştuğunda kullanılan protokolle aynı olan resmi Unity Catalog Spark connector'ı üzerinden çözümlüyor. İş zamanlaması depends_on ve run_if kurallarına uyuyor ve bağımsız dalları paralel çalıştırıyor. STRING, LONG, DECIMAL(10,2), ARRAY, MAP ve STRUCT gibi tipler motorlar arasında gidiş dönüşlü aktarılıyor; bildirilen bir kolon tipi alttaki dosyalarla uyuşmadığında ise dosyalar kazanıyor.
Mevcut istemciler için doğrudan yerine geçen çözüm
Emülatör Databricks REST API'sini tel protokolünde konuştuğu için çoğu istemcinin yapması gereken tek değişiklik host adresi; yerel geliştirme için herhangi bir token kabul ediliyor. Proje, Unity Catalog'dan SCIM'ye kadar 30'dan fazla API grubunun kapsandığını iddia ediyor. Hatalar Databricks'in kendi biçiminde, error_code ve message alanlarıyla geri geliyor; böylece SDK her zamanki tipli exception'larını fırlatıyor ve uygulanmamış endpoint'ler uydurma bir başarı yerine açık bir 501 yanıtı veriyor.
İçinde tarayıcı tabanlı bir SQL workspace'i de bulunuyor: Monaco editörü, catalog farkındalıklı otomatik tamamlama, grafikler, CSV veya JSON'a dışa aktarım, kaydedilmiş sorgular, sorgu geçmişi ve gömülü bir JupyterLab. Terraform desteği sürekli sınanıyor: projenin test paketi her çalıştırmada gerçek Databricks provider'ını plan, apply ve destroy aşamalarından geçiriyor ve ardından yapılan bir planın değişiklik bildirmediğini doğruluyor; databricks bundle deploy ve bundle run ise uçtan uca çalışıyor.
CI, agent'lar ve çevrimdışı kullanım için tasarlandı
Bir dizi özellik otomatikleştirilmiş ortamları hedefliyor. Reset endpoint'ine tek bir POST isteği, container'ı yeniden başlatmadan her teste temiz bir workspace veriyor; health ve readiness endpoint'leri küçük bir kontrol düzlemi oluşturuyor ve MINILAKE_PERSIST ayarı kapanma sırasında durumun anlık görüntüsünü alıp açılışta geri yüklüyor. İmge tamamen çevrimdışı çalışacak şekilde tasarlanmış: DuckDB Delta extension'ı ile Delta ve Unity Catalog jar'ları derleme sırasında içine gömülüyor ve projeye göre bu, container'ın ağ bağlantısı devre dışıyken çalıştırılmasıyla doğrulanabiliyor.
Aynı portta ayrıca LLM agent'ları için 67 tool, 8 resource ve 4 prompt sunan bir Model Context Protocol sunucusu var; bunlara çok adımlı çağrı dizilerini tek adıma indiren bileşik tool'lar ve agent'ların yalnızca Spark'a özgü söz dizimi yazmaması için SQL diyalektini tanımlayan bir resource dahil. Proje, mock yerine gerçek Databricks SDK tarafından çalıştırılan 378'den fazla testten oluşan bir paket bildiriyor.
Neden önemli
Databricks'e karşı geliştirme normalde bir bulut workspace'i gerektirir: bir hesap, kimlik bilgileri ve saatlik faturalanan cluster'lar. Bu maliyet davranışı şekillendiriyor — ekipler integration testlerini atlıyor, Terraform ve Asset Bundles ile denemelerden kaçınıyor ve agent'ları gerçek altyapıya salmaya çekiniyor. Tel protokolünde uyumlu, gerçek çalıştırma semantiğine sahip yerel bir emülatör bu hesabı değiştiriyor: altyapı kodu ve uygulamalar aynı API yüzeyine karşı ücretsiz olarak, CI'da ve çevrimdışı sınanabiliyor ve mock'ların gizlediği davranışlar görünür hale geliyor. Bariz uyarı sadakat — DuckDB ve container içindeki Spark üretim bir workspace'i taklit etmek yerine yaklaşım sağlıyor ve boşluklar 501 yanıtları olarak ortaya çıkıyor. Ancak Databricks API'siyle konuşan araç seti, MCP destekli agent'lar dahil, genişledikçe ücretsiz bir yerel hedef her iterasyonu sıfır maliyetli kılıyor.
- #open-source
- #databricks
- #apache-spark
- #delta-lake
- #developer-tools
İlgili yazılar
- GitHub'ın star history endpoint'i, stargazers kısıtlamasının ardından yıldız grafiği verisini geri getiriyor
- NVIDIA Nemotron 3.5 Transcribe, açık ağırlıklı ASR modelleri saatte yaklaşık 12 sentle liderliğini sürdürüyor
- Bernstein'ın açık kaynak yönetişim katmanı, yapay zeka ajan çalıştırmalarını deterministik ve kanıtlanabilir hale getiriyor