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.
Bu makalede, mevcut Apache Spark iş yüklerini Azure Databricks'te çalışacak şekilde uyarlamak için gereken değişiklikler özetlenmiştir. İster şirket içi kümeden, özel bulut tabanlı altyapıdan ister başka bir kurumsal Apache Spark teklifinden Azure Databricks'e geçiş yapın, çoğu iş yükünün üretime girilmesi için yalnızca birkaç değişiklik yapılması gerekir. Azure Databricks, özel iyileştirmeler sunarak, altyapıyı yapılandırıp dağıtarak ve Databricks Runtime'da bağımlılıkları koruyarak Apache Spark'ın performansını genişletir, basitleştirir ve geliştirir.
Önemli
Apache Spark sürümlerini yükselttiğiniz zaman söz diziminde hataya neden olan değişiklikler olabilir. Bkz . Databricks Runtime sürüm notları sürümleri ve uyumluluğu ile Spark geçiş kılavuzu.
Olarak değiştir parquetdelta
Databricks, veri yazarken Parquet veya ORC yerine Delta Lake kullanılmasını önerir. Azure Databricks, Delta Lake tarafından desteklenen tablolarla etkileşim kurarken verimlilik için birçok özelliği iyileştirmiştir ve Parquet'i Delta Lake'e yükseltmek yalnızca birkaç adımdan oluşur. Bkz . Parquet veri göllerini Delta Lake'e geçirme.
Delta Lake
- Belirli bir işlemden gelen tüm dosyaların bir bölümün parçası olarak aynı anda bulunmasını sağlayan bir dizin yapısı veya bölümleme stratejisi oluşturma.
- Yeni verilerin nasıl bulunduğuna ilişkin işlemsellik eklemek için meta veri deposu yapılandırma veya meta veri deposuna güvenme.
- Bir tabloya yazılan dosyaları meta veri deposuna kaydetmek için
MSCK repairkullanma. - Bir tabloya el ile bölüm eklemek için
alter table add partitionkullanma.
Bkz. Azure Databricks'te tabloları ne zaman bölümlendirmeli.
Not
İş yüklerini kullanılan veri biçimlerini yükseltmeden çalıştırabilirsiniz, ancak Azure Databricks'te en büyük performans kazanımlarının çoğu doğrudan Delta Lake'e bağlıdır.
Apache Spark kodunu Databricks Runtime uyumlu kitaplıklarla yeniden derleme
Databricks Runtime'ın her sürümü Apache Spark uygulamalarında gerekli kitaplıkların birçoğuyla önceden yapılandırılmış olarak gelir. İşleminize gerektiği gibi ek kitaplıklar yükleyebilirsiniz, ancak mümkünse Databricks, Databricks Runtime'da paketlenmiş ve uyumluluk açısından test edilen kitaplık sürümlerinin kullanılmasını önerir. Her Databricks Runtime sürümü, yüklü tüm kitaplıkların listesini içerir. Bkz . Databricks Runtime sürüm notları sürümleri ve uyumluluğu.
SparkSession oluşturma komutlarını kaldırma
Birçok eski Apache Spark iş yükü, her iş için açıkça yeni bir SparkSession bildirir. Azure Databricks, her işlem kümesi için otomatik olarak bir SparkContext oluşturur ve kümede yürütülen her not defteri veya iş için yalıtılmış bir SparkSession oluşturur. Kodu yerel olarak derleyip test etme ve ardından bu komutları kullanmak üzere yükselterek Azure Databricks'e dağıtma özelliğini koruyabilirsiniz SparkSession.builder().getOrCreate().
Terminal betiği komutlarını kaldırma
Apache Spark, programların veya sys.exit()gibi sc.stop() komutları kullanarak tamamlandıklarını açıkça bildirmesini gerektirir. Azure Databricks, tamamlanan işleri otomatik olarak sonlandırır ve temizler, bu nedenle bu komutlar gerekli değildir ve kaldırılmalıdır.
Azure Databricks ayrıca, yapılandırılmış akış iş yüklerini çalıştırma sonlandırmada otomatik olarak sonlandırır ve temizler, böylece yapılandırılmış Akış uygulamalarından awaitTermination() ve benzer komutları kaldırabilirsiniz.
Kümenizi yapılandırmak için Azure Databricks'e güvenme
Azure Databricks, dayanıklılık ve kaynak kullanımını en üst düzeye çıkarmak için işlem kümenizdeki sürücü ve yürütücüler için tüm ayarları otomatik olarak yapılandırıyor. Yürütücüler veya JVM için özel yapılandırmalar sağlamak performansın düşmesine neden olabilir. Databricks, mantığın tutarlı kalması için yalnızca tür işlemeyi veya işlevleri denetlemek için gereken Spark yapılandırmalarının ayarlanmasını önerir.
İş yüklerinizi çalıştırma
Azure Databricks yürütmesini engelleyebilecek desenleri, komutları ve ayarları kaldırdığınıza göre, iş yüklerinizi bir test ortamında çalıştırabilir ve performansı ve sonuçları eski altyapınızla karşılaştırabilirsiniz. Ekibinizin Apache Spark iş yüklerinde sorun gidermek ve performansı geliştirmek için geliştirmiş olabileceği becerilerin çoğu Azure Databricks'te de kullanılabilir ancak genellikle Apache Spark, Delta Lake veya özel Azure Databricks ürünlerinde yeni özellikleri kullanmak için yükseltme adımlarından daha fazla kazanç elde edebilirsiniz.