Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Databricks, geliştirme ve veri mühendisliği için farklı programlama dillerinin kullanımını destekler. Bu makalede kullanılabilir seçenekler, bu dillerin kullanılabilmesi ve bunların sınırlamaları özetlenmiştir.
Öneri
Databricks, yeni projeler için Python ve SQL önerir:
- Python çok popüler bir genel amaçlı programlama dilidir. PySpark DataFrames, test edilebilir, modüler dönüşümler oluşturmayı kolaylaştırır. Python ekosistemi, çözümünüzü genişletmek için çok çeşitli kitaplıkları da destekler.
-
SQL, verileri sorgulama, güncelleştirme, ekleme ve silme gibi işlemler gerçekleştirerek ilişkisel veri kümelerini yönetmek ve işlemek için çok popüler bir dildir. Arka planınız öncelikle veritabanlarında veya veri ambarındaysa SQL iyi bir seçimdir. SQL,
spark.sqlkullanılarak Python'a da eklenebilir.
Aşağıdaki diller sınırlı desteğe sahiptir, bu nedenle Databricks bunları yeni veri mühendisliği projeleri için önermez:
- Scala, Apache Spark'ın™ geliştirilmesi için kullanılan dildir.
- R yalnızca Databricks not defterlerinde tam olarak desteklenir.
Dil desteği, veri işlem hatlarını ve diğer çözümleri oluşturmak için kullanılan özellik özelliklerine bağlı olarak da değişiklik gösterir. Örneğin, Lakeflow Spark Bildirimli İşlem Hatları Python ve SQL'i desteklerken, iş akışları Python, SQL, Scala ve Java kullanarak veri işlem hatları oluşturmanıza olanak tanır.
Not
Verileri sorgulamak veya veri dönüştürmeleri gerçekleştirmek için Databricks ile etkileşime geçmek için diğer diller kullanılabilir. Ancak bu etkileşimler öncelikli olarak dış sistemlerle tümleştirme bağlamındadır. Bu gibi durumlarda geliştirici Databricks REST API , ODBC/JDBC sürücüleri , Databricks SQL bağlayıcısı desteği olan belirli diller (Go, Python, Javascript/Node.js) veya Spark Connect uygulamaları olan diller (Go ve Rust gibi) aracılığıyla Databricks ile etkileşim kurmak için neredeyse tüm programlama dillerini kullanabilir.
Çalışma alanı geliştirme ile yerel geliştirme karşılaştırması
Databricks çalışma alanını veya yerel makinenizdeki bir IDE'yi (tümleşik geliştirme ortamı) kullanarak veri projeleri ve işlem hatları geliştirebilirsiniz, ancak Databricks çalışma alanında yeni projeler başlatmanız önerilir. Çalışma alanına bir web tarayıcısı kullanılarak erişilebilir, Unity Kataloğu'ndaki verilere kolay erişim sağlar ve Databricks Yardımcısı gibi güçlü hata ayıklama özelliklerini ve özelliklerini destekler.
Databricks not defterlerini veya SQL düzenleyicisini kullanarak Databricks çalışma alanında kod geliştirin. Databricks not defterleri aynı not defterinin içinde bile birden çok programlama dilini desteklediğinden Python, SQL ve Scala kullanarak geliştirme yapabilirsiniz.
Doğrudan Databricks çalışma alanında kod geliştirmenin çeşitli avantajları vardır:
- Geri bildirim döngüsü daha hızlıdır. Yazılı kodu gerçek veriler üzerinde hemen test edebilirsiniz.
- Yerleşik, bağlama duyarlı Databricks Yardımcısı geliştirmeyi hızlandırabilir ve sorunların giderilmesine yardımcı olabilir.
- Not defterlerini ve sorguları doğrudan Databricks çalışma alanından kolayca zamanlayabilirsiniz.
- Python geliştirme için, çalışma alanında Python paketleri olarak dosyaları kullanarak Python kodunuzu doğru şekilde yapılandırabilirsiniz.
Ancak, bir IDE içinde yerel geliştirme aşağıdaki avantajları sağlar:
- IDE'ler, yazılım projeleriyle çalışmak için gezinti, kod yeniden düzenleme ve statik kod analizi gibi daha iyi araçlara sahiptir.
- Kaynağınızı nasıl denetleyebileceğinizi seçebilirsiniz ve Git kullanıyorsanız, Git klasörleriyle çalışma alanından daha gelişmiş işlevler yerel olarak kullanılabilir.
- Desteklenen daha geniş bir dil yelpazesi vardır. Örneğin, Java kullanarak kod geliştirebilir ve bunu JAR görevi olarak dağıtabilirsiniz.
- Kod hata ayıklama için daha iyi bir destek vardır.
- Birim testleriyle çalışmak için daha iyi bir destek vardır.
Dil seçimi örneği
Veri mühendisliği için dil seçimi aşağıdaki karar ağacı kullanılarak görselleştirilir:
Python kodu geliştirme
Python dilinin Databricks'te birinci sınıf desteği vardır. Bunu Databricks not defterlerinde, Lakeflow Spark Bildirimli İşlem Hatlarında ve iş akışlarında kullanarak UDF'ler geliştirebilir ve python betiği olarak ve tekerlekler olarak dağıtabilirsiniz.
Databricks çalışma alanında ister not defteri ister dosya olarak Python projeleri geliştirirken Databricks kod tamamlama, gezinti, söz dizimi doğrulama, Databricks Yardımcısı kullanarak kod oluşturma, etkileşimli hata ayıklama ve daha fazlagibi araçlar sağlar. Geliştirilen kod etkileşimli olarak yürütülebilir, Databricks iş akışı veya Lakeflow Spark Bildirimli İşlem Hatları olarak ya da Unity Kataloğu'nda işlev olarak dağıtılabilir. Kodunuzu, birden çok işlem hattında veya işte kullanılabilecek ayrı Python paketlerine bölerek yapılandırabilirsiniz.
Databricks, Visual Studio Code için bir uzantı sağlar ve JetBrains, IDE'de Python kodu geliştirmenize, bir Databricks çalışma alanına kod eşitlemenize, çalışma alanında yürütmenize ve databricks Connect kullanarak adım adım hata ayıklama gerçekleştirmenize olanak sağlayan pyCharm için bir eklenti sunar. Daha sonra geliştirilen kod, Databricks işi veya işlem hattı olarak Databricks Varlık Paketleri kullanılarak dağıtılabilir.
SQL kodu geliştirme
SQL dili Databricks not defterleri içinde veya SQL düzenleyicisi kullanılarak Databricks sorguları olarak kullanılabilir. Her iki durumda da geliştirici kod tamamlama gibi araçlara ve kod oluşturma ve sorunları çözmek için kullanılabilecek bağlama duyarlı Databricks Yardımcısı'na erişim elde eder. Geliştirilen kod bir iş veya işlem hattı olarak dağıtılabilir.
Databricks iş akışları, bir dosyada depolanan SQL kodunu yürütmenize de olanak tanır. Bu dosyaları oluşturmak ve çalışma alanına yüklemek için bir IDE kullanabilirsiniz. SQL'in bir diğer popüler kullanımı, dbt (veri derleme aracı)kullanılarak geliştirilen veri mühendisliği işlem hatlarındadır. Databricks iş akışları dbt projelerini düzenlemeyi destekler.
Scala kodu geliştirme
Scala, Apache Spark'ın™ özgün dilidir. Güçlü bir dildir, ancak dik bir öğrenme eğrisi vardır. Scala, Databricks not defterlerinde desteklenenbir dil olsa da, Karmaşık işlem hatlarının geliştirilmesini zorlaştırabilecek Scala sınıflarının ve nesnelerinin nasıl oluşturulduğu ve korunabileceğiyle ilgili bazı sınırlamalar vardır. IDE'ler genellikle Scala kodunun geliştirilmesi için daha iyi destek sağlar ve daha sonra Databricks iş akışlarında JAR görevleri kullanılarak dağıtılabilir.
Sonraki adımlar
- Develop on Databricks, Databricks için farklı geliştirme seçenekleriyle ilgili belgelere yönelik bir giriş noktasıdır.
- geliştirici araçları sayfasında, Databricks Varlık Paketleri ve IDE'ler için eklentiler de dahil olmak üzere Databricks için yerel olarak geliştirmek için kullanılabilecek farklı geliştirme araçları açıklanmaktadır.
- Databricks not defterlerinde kod geliştirme Databricks not defterlerini kullanarak Databricks çalışma alanında nasıl geliştirme yapılacağını açıklar.
- SQL düzenleyicisinde sorgu yazma ve verileri keşfetme. Bu makalede, SQL koduyla çalışmak için Databricks SQL düzenleyicisinin nasıl kullanılacağı açıklanmaktadır.
- Develop Lakeflow Spark Bildirimli İşlem Hatları , Lakeflow Spark Bildirimli İşlem Hatları için geliştirme sürecini açıklar.
- Databricks Connect Databricks kümelerine bağlanmanızı ve yerel ortamınızdan kod yürütmenizi sağlar.
- Daha hızlı geliştirme ve kod sorunlarını çözmek için Databricks Yardımcısı kullanmayı öğrenin.