Öğretici: Databricks 'e Apache Spark uygulamasına yönelik bir .NET dağıtımı
Bu öğreticide, tek tıklamayla kurulum, kolaylaştırılmış iş akışları ve işbirliği sağlayan etkileşimli çalışma alanı ile Apache Spark tabanlı bir analiz platformu olan Azure Databricks aracılığıyla Uygulamanızı buluta nasıl dağıtabileceğiniz öğretilir.
Bu öğreticide şunların nasıl yapıldığını öğreneceksiniz:
- Azure Databricks çalışma alanı oluşturun.
- Apache Spark için .NET uygulamanızı yayımlayın.
- Spark işi ve Spark kümesi oluşturun.
- Uygulamanızı Spark kümesinde çalıştırın.
Önkoşullar
Başlamadan önce, aşağıdaki görevleri yapın:
- Azure hesabınız yoksa ücretsiz bir hesapoluşturun.
- Azure Portal oturum açın.
- Apache Spark için .net 'i 10 dakikalık bir öğreticide doldurun Başlarken.
Azure Databricks çalışma alanı oluşturma
Not
Bu öğretici Azure Ücretsiz deneme aboneliği kullanılarak gerçekleştirilemez. Ücretsiz hesabınız varsa, profilinize gidin ve aboneliğinizi Kullandıkça Öde ile değiştirin. Daha fazla bilgi için bkz. Ücretsiz Azure hesabı. Ardından, harcama limitini kaldırınve bölgenizdeki vCPU 'lar için bir kota artışı isteyin . Azure Databricks çalışma alanınızı oluşturduğunuzda, çalışma alanının 14 gün boyunca Premium Azure Databricks dbus 'a erişmesini sağlamak için deneme (Premium-14 gün ücretsiz dbus) fiyatlandırma katmanını seçebilirsiniz.
Bu bölümde Azure portalını kullanarak bir Azure Databricks çalışma alanı oluşturursunuz.
Azure Portal, kaynak > Analizi oluştur > Azure Databricks' u seçin.

Azure Databricks Hizmeti bölümünde, Databricks çalışma alanı oluşturmak için değerler sağlayın.
Özellik Açıklama Çalışma alanı adı Databricks çalışma alanınız için bir ad sağlayın. Abonelik Açılan listeden Azure aboneliğinizi seçin. Kaynak grubu Yeni bir kaynak grubu oluşturmayı veya mevcut bir kaynak grubunu kullanmayı seçin. Kaynak grubu, bir Azure çözümüne ilişkin kaynakları tutan bir kapsayıcıdır. Daha fazla bilgi için bkz. Azure Kaynak Grubuna genel bakış. Konum Tercih ettiğiniz bölgeyi seçin. Kullanılabilir bölgeler hakkında daha fazla bilgi için bkz. bölgeye göre kullanılabilir Azure hizmetleri. Fiyatlandırma Katmanı standart, Premium veya deneme arasında seçim yapın. Bu katmanlar hakkında daha fazla bilgi için bkz. Databricks fiyatlandırma sayfası. Sanal Ağ No Oluştur’u seçin. Çalışma alanının oluşturulması birkaç dakika sürer. Çalışma alanı oluşturma sırasında, Bildirimler' de dağıtım durumunu görüntüleyebilirsiniz.
Azure Databricks araçları 'nı yükler
Databricks CLI kullanarak Azure Databricks kümelerine bağlanabilir ve dosyaları yerel makinenizden bunlara yükleyebilirsiniz. Databricks kümeleri, DBFS (Databricks dosya sistemi) üzerinden dosyalara erişim.
Databricks CLı, Python 3,6 veya üstünü gerektirir. Zaten Python yüklüyse, bu adımı atlayabilirsiniz.
Windows için:
Linux için: Python, çoğu Linux dağıtımlarına önceden yüklenmiş olarak gelir. Hangi sürümü yüklecağınızı görmek için aşağıdaki komutu çalıştırın:
python3 --versionDatabricks CLı 'yı yüklemek için PIP kullanın. Python 3,4 ve üzeri, varsayılan olarak PIP 'yi içerir. Python 3 için pip3 kullanın. Şu komutu çalıştırın:
pip3 install databricks-cliDatabricks CLı 'yı yükledikten sonra, yeni bir komut istemi açın ve komutunu çalıştırın
databricks. ' Databricks ' bir iç veya dış komut hatası olarak tanınmazsa, yeni bir komut istemi açtığınızdan emin olun.
Azure Databricks ayarlama
Databricks CLı yükleolduğunuza göre, kimlik doğrulama ayrıntılarını ayarlamanız gerekir.
Databricks CLı komutunu çalıştırın
databricks configure --token.Configure komutunu çalıştırdıktan sonra, bir ana bilgisayar girmeniz istenir. Ana bilgisayar URL 'niz şu biçimi kullanır:
https://<Location>.azuredatabricks.net. Örneğin, Azure Databricks hizmeti oluşturma sırasında eastus2 ' ı seçtiyseniz, konak olurhttps://eastus2.azuredatabricks.net.Ana bilgisayarınızı girdikten sonra bir belirteç girmeniz istenir. Azure portal, Azure Databricks çalışma alanınızı başlatmak için çalışma alanını Başlat ' ı seçin.

çalışma alanınızın giriş sayfasında kullanıcı Ayarlar' yi seçin.

kullanıcı Ayarlar sayfasında yeni bir belirteç oluşturabilirsiniz. Oluşturulan belirteci kopyalayın ve komut isteminize geri yapıştırın.

Artık oluşturduğunuz Azure Databricks kümelerine erişebiliyor ve dosyaları DBFS 'ye yükleyeceksiniz.
Çalışan bağımlılıklarını indir
Not
Azure ve AWS Databricks, Linux tabanlıdır. Bu nedenle, uygulamanızı Databricks 'e dağıtmaya ilgileniyorsanız, uygulamanızın .NET Standard uyumlu olduğundan ve uygulamanızı derlemek için .NET Core derleyicisi kullandığınızdan emin olun.
Microsoft. spark. Worker, yazdığınız kullanıcı tanımlı işlevler (UDF 'ler) gibi uygulamanızı Apache Spark yürütmenize yardımcı olur. Microsoft. spark. Workeröğesini indirin.
İnstall-Worker.sh , Apache Spark bağımlı dosyaları için .net ' i kümenizin düğümlerine kopyalamanızı sağlayan bir betiktir.
Yerel bilgisayarınızda install-Worker.sh adlı yeni bir dosya oluşturun ve GitHub bulunan install-Worker.sh içeriğini yapıştırın.
DB-init.sh , Databricks Spark kümenize bağımlılıklar yükleyen bir betiktir.
Yerel bilgisayarınızda DB-init.sh adlı yeni bir dosya oluşturun ve GitHub bulunan DB-init.sh içeriğini yapıştırın.
Yeni oluşturduğunuz dosyada,
DOTNET_SPARK_RELEASEdeğişkenini olarak ayarlayınhttps://github.com/dotnet/spark/releases/download/v1.0.0/Microsoft.Spark.Worker.netcoreapp3.1.linux-x64-1.0.0.tar.gz. DB-init.sh dosyasının kalan kısmını olduğu gibi bırakın.
Not
Windows kullanıyorsanız, install-worker.sh ve db-init.sh betiklerinizde bulunan satır bitişlerinin unıx stili (LF) olduğunu doğrulayın. satır sonlarını, Not Defteri + + ve Atom gibi metin düzenleyicilerle değiştirebilirsiniz.
Uygulamanızı yayımlama
daha sonra, Spark kümenizin uygulamanızı çalıştırmak için gereken tüm dosyalara erişebildiğinden emin olmak için Başlarken Apache Spark .net 'te oluşturulan mySparkApp 'i 10 dakikalık öğreticide yayımlarsınız.
MySparkApp yayımlamak için aşağıdaki komutları çalıştırın:
cd mySparkApp dotnet publish -c Release -f netcoreapp3.1 -r ubuntu.16.04-x64Dosyaları Databricks Spark kümenize kolayca yükleyebilmeniz için, yayımlanan uygulama dosyalarınızı Zip halinde aşağıdaki görevleri yapın.
Windows:
MySparkApp/bin/Release/netcoreapp 3.1/Ubuntu. 16.04-x64 dizinine gidin. Ardından, Yayımla klasörüne sağ tıklayıp > sıkıştırılmış (daraltılmış) klasöre gönder' i seçin. Yeni klasörü publish.zip olarak adlandırın.
Linux 'ta aşağıdaki komutu çalıştırın:
zip -r publish.zip .Uygulamanızda Kullanıcı tanımlı işlevleriniz varsa, bağımlılıklarıyla birlikte Kullanıcı tanımlı işlevler içeren dll 'Ler gibi uygulama derlemelerinin her bir Microsoft. spark. Worker çalışma dizinine yerleştirilmesi gerekir.
uygulama derlemelerinizi databricks kümenize Upload:
cd <path-to-your-app-publish-directory> databricks fs cp <assembly>.dll dbfs:/apps/dependenciesDB-init.sh ' deki uygulama bağımlılıkları bölümünü açıklama olarak değiştirin ve uygulama bağımlılıkları yolunu işaret edin. Ardından, güncelleştirilmiş db-init.sh kümenize yükleyin:
cd <path-to-db-init-and-install-worker> databricks fs cp db-init.sh dbfs:/spark-dotnet/db-init.sh
Not
Daha fazla bilgi için Databricks'e iş Apache Spark .NET gönderme kılavuzuna bakın.
Dosyaları karşıya yükleme
Bu bölümde, kümenizin, uygulamalarınızı bulutta çalıştırmak için gereken her şeye sahip olması için DBFS'ye birkaç dosya yükleyebilirsiniz. DBFS'ye her dosya yüklerken, bu dosyanın bilgisayarınızda bulunduğu dizinde yer asanız emin olun.
, install-worker.sh ve Microsoft.Spark.Worker db-init.sh DBFS'ye yüklemek için aşağıdaki komutları çalıştırın:
databricks fs cp db-init.sh dbfs:/spark-dotnet/db-init.sh databricks fs cp install-worker.sh dbfs:/spark-dotnet/install-worker.sh databricks fs cp Microsoft.Spark.Worker.netcoreapp3.1.linux-x64-1.0.0.tar.gz dbfs:/spark-dotnet/Microsoft.Spark.Worker.netcoreapp3.1.linux-x64-1.0.0.tar.gzKümenizin uygulamayı çalıştırması gereken kalan dosyaları karşıya yüklemek için aşağıdaki komutları çalıştırın: sıkıştırılmış yayımlama klasörü, input.txt ve microsoft-spark-2-4_2.11-1.0.0.jar.
cd mySparkApp databricks fs cp input.txt dbfs:/input.txt cd mySparkApp\bin\Release\netcoreapp3.1\ubuntu.16.04-x64 directory databricks fs cp publish.zip dbfs:/spark-dotnet/publish.zip databricks fs cp microsoft-spark-2-4_2.11-1.0.0.jar dbfs:/spark-dotnet/microsoft-spark-2-4_2.11-1.0.0.jar
Bir iş oluşturma
Uygulamanız, Azure Databricks için .NET'i çalıştırmak için kullanabileceğiniz spark-submit komutunun çalıştır olduğu bir iş Apache Spark çalışır.
Çalışma Alanınız Azure Databricks İşler simgesini ve ardından + İş Oluştur'a tıklayın.

İş için bir başlık seçin ve ardından Spark-submit'i yapılandır'ı seçin.

aşağıdaki parametreleri iş yapılandırmasına yapıştırın. Ardından Onayla'ya seçin.
["--class","org.apache.spark.deploy.dotnet.DotnetRunner","/dbfs/spark-dotnet/microsoft-spark-2-4_2.11-1.0.0.jar","/dbfs/spark-dotnet/publish.zip","mySparkApp"]
Küme oluşturma
İş kümenizi yapılandırmak için işinize gidin ve Düzenle'yi seçin.
Kümenizi Spark 2.4.1 olarak ayarlayın. Ardından Gelişmiş Seçenekler > Init Betikleri'ne tıklayın. Init Betik Yolu olarak
dbfs:/spark-dotnet/db-init.shayarlayın.
Küme ayarlarınızı onaylamak için Onayla'ya tıklayın.
Uygulamanızı çalıştırma
yeni yapılandırılan Spark kümeniz üzerinde işlerinizi çalıştırmak için işinize gidin ve Şimdi Çalıştır'ı seçin.
İş kümesi oluşturması birkaç dakika sürer. Oluşturulduktan sonra, işiniz göndererek çıktıyı görüntüabilirsiniz.
Sol menüden Kümeler'i ve ardından işnizin adını ve çalıştırmayı seçin.
İş çıkışınızı görüntülemek için Sürücü Günlükleri'ne tıklayın. Uygulamanın yürütülmesi tamam olduğunda, başlarken yerel çalıştırmadaki aynı sözcük sayısı tablosu standart çıkış konsoluna yazılır.

Tebrikler, uygulamanıza ilk .NET Apache Spark Azure Databricks!
Kaynakları temizleme
Databricks çalışma alanına artık ihtiyacınız yoksa, Azure Databricks kaynağınızı Azure portal. Kaynak grubu adını seçerek de kaynak grubu sayfasını açabilir ve sonra Kaynak grubunu sil’i seçebilirsiniz.
Sonraki adımlar
Bu öğreticide, databricks'e Apache Spark için .NET'inizi dağıttınız. Databricks hakkında daha fazla bilgi edinmek için Azure Databricks devam edin.