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.
Azure Synapse Analytics ile Azure Machine Learning tümleştirmesi, Apache Spark çerçevesi aracılığıyla dağıtılmış hesaplama kaynaklarına kolay erişim sağlar. Bu tümleştirme şu Apache Spark bilgi işlem deneyimlerini sunar:
- Sunucusuz Spark işlem
- Ekli Synapse Spark havuzu
Sunucusuz Spark işlem
Apache Spark çerçevesi ile Azure Machine Learning sunucusuz Spark işlemi, Azure Machine Learning ortamında dağıtılmış bilgi işlem görevlerini gerçekleştirmenin en kolay yoludur. Azure Machine Learning tam olarak yönetilen, sunucusuz, isteğe bağlı bir Apache Spark işlem kümesi sunar. Hem Azure Synapse çalışma alanı hem de Synapse Spark havuzu oluşturmanız gerekmez.
Örnek türü ve Apache Spark çalışma zamanı sürümü dahil olmak üzere kaynakları tanımlayabilirsiniz. Aşağıdakiler için Azure Machine Learning not defterlerinde sunucusuz Spark bilgi işlemlerine erişmek için bu kaynakları kullanın:
- Etkileşimli Spark kodu geliştirme
- Spark bileşeniyle makine öğrenmesi işlem hatlarını çalıştırma
- Spark toplu iş gönderimleri
Dikkat edilmesi gereken noktalar
Sunucusuz Spark işlemi, Apache Spark aracılığıyla dağıtılmış bilgi işlem kaynaklarına hızlı erişim gerektiren çoğu kullanıcı senaryosunda iyi çalışır. Ancak, bilinçli bir karar vermek için bu yaklaşımın avantajlarını ve dezavantajlarını göz önünde bulundurun.
Avantajlar:
- Apache Spark için başka Azure kaynakları oluşturma konusunda bağımlılık yoktur (Azure Synapse altyapısı arka planda çalışır).
- Azure Synapse ile ilgili kaynaklar oluşturmak için gerekli abonelik izinleri yok.
- SQL havuzu kotalarına gerek yoktur.
Dezavantajlar:
- Kalıcı Hive meta deposu yok. Sunucusuz Spark işlem yalnızca bellek içi Spark SQL'i destekler.
- Kullanılabilir tablo veya veritabanı yok.
- Azure Purview tümleştirmesi yok.
- Kullanılabilir bağlı hizmet yok.
- Daha az veri kaynağı ve bağlayıcı.
- Havuz düzeyinde yapılandırma yok.
- Havuz düzeyinde kitaplık yönetimi yok.
- için
mssparkutilsyalnızca kısmi destek.
Ağ yapılandırması
Azure Machine Learning ve sunucusuz Spark işlem ile ağ yalıtımını kullanmak için yönetilen bir sanal ağ kullanın.
Etkinlik dışı dönemler ve yırtılma mekanizması
İlk başlatmada, sunucusuz spark işlem (soğuk başlangıç) kaynağının Spark oturumunu başlatmak için üç ile beş dakika arası bir süre geçmesi gerekebilir. Azure Synapse tarafından desteklenen otomatik sunucusuz Spark işlem kaynağının sağlanması için zamana ihtiyacı olduğundan bu gecikme gerçekleşir. Sunucusuz Spark işlemi sağlandıktan ve Apache Spark oturumu başlatıldıktan sonra, sonraki kod yürütmeleri (sıcak başlangıç) bu gecikmeyle karşılaşmaz.
Spark oturumu yapılandırması, oturum zaman aşımını (dakika cinsinden) tanımlayan bir seçenek sunar. Spark oturumu, kullanıcı tanımlı zaman aşımını aşan bir etkinlik dışı süreden sonra sona erer. Sonraki 10 dakika içinde başka bir Spark oturumu başlatılmazsa, sistem sunucusuz Spark işlem için sağlanan kaynakları yok eder.
Sistem sunucusuz Spark işlem kaynağını yok ettikten sonra, bir sonraki işi göndermek için soğuk başlangıç gereklidir. Aşağıdaki görselleştirmede bazı oturum etkinlik dışı kalma süresi ve küme yırtma senaryoları gösterilmektedir.
Oturum düzeyinde Conda paketleri
Conda bağımlılığı YAML dosyası, bir oturum yapılandırmasında birçok oturum düzeyinde Conda paketi tanımlayabilir. YAML dosyasında tanımlanan Conda paketlerinin yüklenmesi 15 dakikadan uzun sürerse oturum zaman aşımına uysa. Azure Synapse temel görüntüsünde gerekli bir paketin zaten kullanılabilir olup olmadığını denetleyin. Bunu yapmak için, kullanılan Apache Spark sürümü için temel görüntüde kullanılabilir paketleri belirlemek üzere şu kaynakları ziyaret edin:
- Apache Spark 3.5 için Azure Synapse Runtime
- Apache Spark 3.4 için Azure Synapse Runtime
- Apache Spark 3.3 için Azure Synapse Runtime
Not
Oturum düzeyi Conda paketi için:
- Soğuk başlangıç için yaklaşık 10-15 dakika gerekir.
- Aynı Conda paketinin kullanıldığı Sıcak başlangıç için yaklaşık bir dakika gerekir.
- Farklı bir Conda paketiyle Sıcak başlangıç için yaklaşık 10-15 dakika gerekir.
- Büyük bir paket veya uzun bir yükleme süresi gerektiren bir paket yüklerseniz Bu, Spark örneğinin başlangıç süresini etkileyebilir.
- PySpark, Python, Scala/Java, .NET veya Spark sürümünün değiştirilmesi desteklenmez.
- Docker görüntüleri desteklenmez.
Oturum düzeyinde Conda paketlerini kullanırken oturumun soğuk başlangıç süresini iyileştirme
Spark oturumu soğuk başlangıç zamanını iyileştirmek için spark.hadoop.aml.enable_cache yapılandırma değişkenini true olarak ayarlayın. Oturum düzeyi Conda paketleriyle oturum soğuk başlatma işlemi genellikle oturum ilk kez başlatıldığında 10 ile 15 dakika arasında sürer. Ancak, sonraki oturum soğuk başlar üç beş dakika sürer. Yapılandırma ayarlarının altındaki Oturum kullanıcı arabirimini yapılandır bölümünde yapılandırma değişkenini tanımlayın.
Ekli Synapse Spark havuzu
Azure Synapse çalışma alanında spark havuzu oluşturduğunuzda, buna ekli Synapse Spark havuzuyla Azure Machine Learning çalışma alanından erişebilirsiniz. Bu seçenek, mevcut bir Synapse Spark havuzunu yeniden kullanmak isteyen kullanıcılar için iyidir.
Azure Machine Learning çalışma alanına Synapse Spark havuzu eklemek için Azure Machine Learning'de havuzu kullanabilmeniz için daha fazla adımı tamamlamanız gerekir:
- Etkileşimli Spark kodu geliştirme
- Spark toplu iş gönderimi
- Spark bileşeniyle makine öğrenmesi işlem hatlarını çalıştırma
Ekli Synapse Spark havuzu, yerel Azure Synapse özelliklerine erişim sağlar. Synapse Spark havuzunu sağlamak, eklemek, yapılandırmak ve yönetmek sizin sorumluluğundadır.
Ekli synapse Spark havuzu için Spark oturumu yapılandırması, oturum zaman aşımını tanımlama seçeneği de sunar (dakika cinsinden). Oturum zaman aşımı davranışı, önceki bölümdeki açıklamaya benzer, ancak oturum zaman aşımından sonra ilişkili kaynaklar hiçbir zaman yıkılmaz.
Spark küme boyutunu tanımlama
Azure Machine Learning Spark işlerinde Spark küme boyutunu üç parametre değeriyle tanımlayabilirsiniz:
- Yürütücü sayısı
- Yürütücü çekirdekleri
- Yürütücü belleği
Azure Machine Learning Apache Spark yürütücüsİnİ Azure Spark çalışan düğümlerine eşdeğer olarak düşünün. Bu parametreleri bir örnek açıklayabilir. Yürütücü sayısını 6 (altı çalışan düğümüne eşdeğer), yürütücü çekirdeği sayısını 4 ve yürütücü belleğini 28 GB olarak tanımlarsanız Spark işinizin toplam 24 çekirdeği ve 168 GB belleği olan bir kümeye erişimi olur.
Spark işleri için kaynak erişimini sağlama
Spark işi, verilere ve diğer kaynaklara erişmek için yönetilen kimlik veya kullanıcı kimliği geçişi kullanabilir. Bu tablo, Spark işlerinin kaynaklara erişmek için kullandığı mekanizmaları özetler.
| Spark havuzu | Desteklenen kimlikler | Varsayılan kimlik |
|---|---|---|
| Sunucusuz Spark işlem | Çalışma alanına eklenen kullanıcı kimliği, kullanıcı tarafından atanan yönetilen kimlik | Kullanıcı kimliği |
| Ekli Synapse Spark havuzu | Kullanıcı kimliği, ekli Synapse Spark havuzuna eklenen kullanıcı tarafından atanan yönetilen kimlik, ekli Synapse Spark havuzunun sistem tarafından atanan yönetilen kimliği | Ekli Synapse Spark havuzunun sistem tarafından atanan yönetilen kimliği |
Bu makalede Spark işleri için kaynak erişimi açıklanmaktadır. Not defteri oturumunda, hem sunucusuz Spark işlem hem de ekli Synapse Spark havuzu, etkileşimli veri düzenleme sırasında veri erişimi için kullanıcı kimliği geçişini kullanır.
Not
- Spark işinin başarıyla yürütülmesini sağlamak için, Spark işi gönderimi için kullandığınız kimliğe Katkıda Bulunan ve Depolama Blob Verileri Katkıda Bulunanı rollerini (veri girişi ve çıkışı için kullanılan Azure depolama hesabında) atayın.
- Ekli bir Synapse Spark havuzu Azure Synapse çalışma alanında Synapse Spark havuzuna işaret ederse ve bu çalışma alanıyla ilişkilendirilmiş yönetilen bir sanal ağ varsa, yönetilen özel uç noktayı bir depolama hesabına yapılandırın. Bu yapılandırma, veri erişiminin sağlanmasına yardımcı olur.
Sonraki adımlar
- Azure Machine Learning'de Synapse Spark havuzu ekleme ve yönetme
- Azure Machine Learning'de Apache Spark ile etkileşimli veri düzenleme
- Azure Machine Learning'de Spark işlerini gönderme
- Azure Machine Learning CLI kullanarak Spark işleri için kod örnekleri
- Azure Machine Learning Python SDK'sını kullanarak Spark işleri için kod örnekleri