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 üzerinde ç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 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 uyumsuzluk yaratan değişiklikler olabilir. Bkz Databricks Runtime sürüm notları ve sürüm uyumluluğu ve Spark geçiş kılavuzu.
Değiştir parquet ile delta
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. Bir Parquet veri gölünü Delta Lake'e geçirme konusuna bakın.
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.
- Meta veri deposunu yapılandırma veya yeni verilerin nasıl keşfedildiğine ilişkin işlemsellik eklemesi için 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'da tabloları bölümleme.
Not
İş yüklerini kullanılan veri biçimlerini yükseltmeden çalıştırabilirsiniz, ancak Azure Databricks üzerindeki en büyük performans kazançları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. Azure Databricks'e dağıtabilmek için bu komutları SparkSession.builder().getOrCreate() kullanacak şekilde yükselterek, kodu yerel olarak derleme ve test etme yeteneğini sürdürebilirsiniz.
Terminal betiği komutlarını kaldırma
Apache Spark, programların sys.exit() veya sc.stop() gibi komutlar kullanarak tamamlandıklarını açıkça bildirmelerini 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, awaitTermination() ve benzer komutları Yapılandırılmış Akış uygulamalarından kaldırabilmeniz için, çalışan sonlandırmada Yapılandırılmış Akış iş yüklerini otomatik olarak sonlandırır ve temizler. Bkz . Ne zaman kullanılır awaitTermination()?
Azure Databricks'e kümenizi yapılandırmak için güvenin
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ılır. 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
artık Azure Databricks yürütmeyi 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üklerinin sorunlarını gidermek ve performansı geliştirmek için geliştirmiş olabileceği becerilerin birçoğu Azure Databricks'de de kullanılabilir ancak daha sık 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.