Aracılığıyla paylaş


Öğretici: Synapse Studio'de Apache Spark iş tanımı oluşturma

Bu öğreticide Synapse Studio kullanarak Apache Spark iş tanımları oluşturma ve bunları sunucusuz bir Apache Spark havuzuna gönderme işlemleri gösterilmektedir.

Bu öğretici aşağıdaki görevleri kapsar:

  • PySpark için Apache Spark iş tanımı oluşturma (Python)
  • Spark için Apache Spark iş tanımı oluşturma (Scala)
  • .NET Spark için Apache Spark iş tanımı oluşturma (C#/F#)
  • JSON dosyasını içeri aktararak iş tanımı oluşturma
  • Apache Spark iş tanımı dosyasını yerel ortama aktarma
  • Apache Spark iş tanımını toplu iş olarak gönderme
  • İşlem hattına Apache Spark iş tanımı ekleme

Önkoşullar

Bu öğreticiye başlamadan önce aşağıdaki gereksinimlerin karşılandığından emin olun:

  • Azure Synapse Analytics çalışma alanı. Yönergeler için bkz. Azure Synapse Analytics çalışma alanı oluşturma.
  • Sunucusuz bir Apache Spark havuzu.
  • AdLS 2. Nesil depolama hesabı. Çalışmak istediğiniz ADLS 2. Nesil dosya sisteminin Depolama Blob Verileri Katkıda Bulunanı olmanız gerekir. Aksi takdirde, izni el ile eklemeniz gerekir.
  • Çalışma alanı varsayılan depolama alanını kullanmak istemiyorsanız Synapse Studio gerekli ADLS 2. Nesil depolama hesabını bağlayın.

PySpark için Apache Spark iş tanımı oluşturma (Python)

Bu bölümde PySpark (Python) için bir Apache Spark iş tanımı oluşturacaksınız.

  1. Synapse Studio açın.

  2. python.zipiçin örnek dosyaları indirmek, ardından sıkıştırılmış paketin sıkıştırmasını açmak ve wordcount.py ve shakespeare.txt dosyalarını ayıklamak için Apache Spark iş tanımları oluşturmak için örnek dosyalar'a gidebilirsiniz.

    örnek dosyalar

  3. Veri -Bağlı ->>Azure Data Lake Storage 2. Nesil'ı seçin ve wordcount.py ve shakespeare.txt ADLS 2. Nesil dosya sisteminize yükleyin.

    Python dosyasını karşıya yükleme

  4. Hub geliştir'i seçin, '+' simgesini seçin ve spark iş tanımı'nı seçerek yeni bir Spark iş tanımı oluşturun.

    python için yeni tanım oluşturma

  5. Apache Spark iş tanımı ana penceresindeki Dil açılan listesinden PySpark (Python) öğesini seçin.

    python'ı seçme

  6. Apache Spark iş tanımı bilgilerini girin.

    Özellik Açıklama
    İş tanımı adı Apache Spark iş tanımınız için bir ad girin. Bu ad, yayımlanana kadar herhangi bir zamanda güncelleştirilebilir.
    Örnek: job definition sample
    Ana tanım dosyası İş için kullanılan ana dosya. Depolama alanınızdan bir PY dosyası seçin. Dosyayı bir depolama hesabına yüklemek için Dosyayı karşıya yükle'yi seçebilirsiniz.
    Örnek: abfss://…/path/to/wordcount.py
    Komut satırı bağımsız değişkenleri İşin isteğe bağlı bağımsız değişkenleri.
    Örnek: abfss://…/path/to/shakespeare.txtabfss://…/path/to/result
    Not: Örnek iş tanımı için iki bağımsız değişken bir boşlukla ayrılır.
    Başvuru dosyaları Ana tanım dosyasında başvuru için kullanılan ek dosyalar. Dosyayı bir depolama hesabına yüklemek için Dosyayı karşıya yükle'yi seçebilirsiniz.
    Spark havuzu İş seçilen Apache Spark havuzuna gönderilir.
    Spark sürümü Apache Spark havuzunun çalıştığı Apache Spark sürümü.
    Yürütücüler İş için belirtilen Apache Spark havuzunda verilecek yürütücü sayısı.
    Yürütücü boyutu İş için belirtilen Apache Spark havuzunda verilen yürütücüler için kullanılacak çekirdek ve bellek sayısı.
    Sürücü boyutu İş için belirtilen Apache Spark havuzunda verilen sürücü için kullanılacak çekirdek ve bellek sayısı.
    Apache Spark yapılandırması Aşağıdaki özellikleri ekleyerek yapılandırmaları özelleştirin. Özellik eklemezseniz, Azure Synapse uygun olduğunda varsayılan değeri kullanır.

    Python için Spark iş tanımının değerini ayarlama

  7. Apache Spark iş tanımını kaydetmek için Yayımla'yı seçin.

    py tanımını yayımlama

Apache Spark için Apache Spark iş tanımı oluşturma (Scala)

Bu bölümde, Apache Spark (Scala) için bir Apache Spark iş tanımı oluşturacaksınız.

  1. Azure Synapse Studio'yu açın.

  2. scala.zipiçin örnek dosyaları indirmek, ardından sıkıştırılmış paketin sıkıştırmasını açmak ve wordcount.jar dosyasını ayıklamak ve dosyaları shakespeare.txt için Apache Spark iş tanımları oluşturmak için örnek dosyalar'a gidebilirsiniz.

    örnek dosyalar scala

  3. Veri -Bağlı ->>Azure Data Lake Storage 2. Nesil'ı seçin ve wordcount.jar dosyasını karşıya yükleyin ve ADLS 2. Nesil dosya sisteminize shakespeare.txt.

    scala yapısını hazırlama

  4. Hub geliştir'i seçin, '+' simgesini seçin ve spark iş tanımı'nı seçerek yeni bir Spark iş tanımı oluşturun. (Örnek görüntü, PySpark için Apache Spark iş tanımı (Python) oluşturma işleminin 4. adımıyla aynıdır.)

  5. Apache Spark iş tanımı ana penceresindeki Dil açılan listesinden Spark(Scala) öğesini seçin.

    scala'yi seçin

  6. Apache Spark iş tanımı bilgilerini girin. Örnek bilgileri kopyalayabilirsiniz.

    Özellik Açıklama
    İş tanımı adı Apache Spark iş tanımınız için bir ad girin. Bu ad, yayımlanana kadar herhangi bir zamanda güncelleştirilebilir.
    Örnek: scala
    Ana tanım dosyası İş için kullanılan ana dosya. Depolama alanınızdan bir JAR dosyası seçin. Dosyayı bir depolama hesabına yüklemek için Dosyayı karşıya yükle'yi seçebilirsiniz.
    Örnek: abfss://…/path/to/wordcount.jar
    Ana sınıf adı Tam tanımlayıcı veya ana tanım dosyasındaki ana sınıf.
    Örnek: WordCount
    Komut satırı bağımsız değişkenleri İşin isteğe bağlı bağımsız değişkenleri.
    Örnek: abfss://…/path/to/shakespeare.txtabfss://…/path/to/result
    Not: Örnek iş tanımı için iki bağımsız değişken bir boşlukla ayrılır.
    Başvuru dosyaları Ana tanım dosyasında başvuru için kullanılan ek dosyalar. Dosyayı bir depolama hesabına yüklemek için Dosyayı karşıya yükle'yi seçebilirsiniz.
    Spark havuzu İş seçilen Apache Spark havuzuna gönderilir.
    Spark sürümü Apache Spark havuzunun çalıştırılan Apache Spark sürümü.
    Yürütücüler İş için belirtilen Apache Spark havuzunda verilecek yürütücü sayısı.
    Yürütücü boyutu İş için belirtilen Apache Spark havuzunda verilen yürütücüler için kullanılacak çekirdek ve bellek sayısı.
    Sürücü boyutu İş için belirtilen Apache Spark havuzunda verilen sürücü için kullanılacak çekirdek ve bellek sayısı.
    Apache Spark yapılandırması Aşağıdaki özellikleri ekleyerek yapılandırmaları özelleştirin. Özellik eklemezseniz, Azure Synapse uygun olduğunda varsayılan değeri kullanır.

    Scala için Spark iş tanımının değerini ayarlama

  7. Apache Spark iş tanımını kaydetmek için Yayımla'yı seçin.

    scala tanımını yayımlama

.NET Spark için Apache Spark iş tanımı oluşturma(C#/F#)

Bu bölümde,.NET Spark(C#/F#) için bir Apache Spark iş tanımı oluşturacaksınız.

  1. Azure Synapse Studio'yu açın.

  2. dotnet.zipiçin örnek dosyaları indirmek, ardından sıkıştırılmış paketin sıkıştırmasını açmak vewordcount.zipve shakespeare.txt dosyalarını ayıklamak için Apache Spark iş tanımları oluşturmaya yönelik örnek dosyalar bölümüne gidebilirsiniz.

    örnek dotnet

  3. Veri -Bağlı ->>Azure Data Lake Storage 2. Nesil'ı seçin ve wordcount.zip yükleyin ve ADLS 2. Nesil dosya sisteminize shakespeare.txt.

    dotnet yapısını hazırlama

  4. Hub geliştir'i seçin, '+' simgesini seçin ve spark iş tanımı'nı seçerek yeni bir Spark iş tanımı oluşturun. (Örnek görüntü, PySpark için Apache Spark iş tanımı (Python) oluşturma işleminin 4. adımıyla aynıdır.)

  5. Apache Spark İş Tanımı ana penceresindeki Dil açılan listesinden .NET Spark(C#/F#) öğesini seçin.

    dotnet'i seçin

  6. Apache Spark İş Tanımı bilgilerini doldurun. Örnek bilgileri kopyalayabilirsiniz.

    Özellik Açıklama
    İş tanımı adı Apache Spark iş tanımınız için bir ad girin. Bu ad, yayımlanana kadar herhangi bir zamanda güncelleştirilebilir.
    Örnek: dotnet
    Ana tanım dosyası İş için kullanılan ana dosya. Depolama alanınızdan Apache Spark için .NET uygulamanızı (ana yürütülebilir dosya, kullanıcı tanımlı işlevleri içeren DLL'ler ve diğer gerekli dosyaları) içeren bir ZIP dosyası seçin. Dosyayı bir depolama hesabına yüklemek için Dosyayı karşıya yükle'yi seçebilirsiniz.
    Örnek: abfss://…/path/to/wordcount.zip
    Ana yürütülebilir dosya Ana tanım ZIP dosyasındaki ana yürütülebilir dosya.
    Örnek: WordCount
    Komut satırı bağımsız değişkenleri İşin isteğe bağlı bağımsız değişkenleri.
    Örnek: abfss://…/path/to/shakespeare.txtabfss://…/path/to/result
    Not: Örnek iş tanımı için iki bağımsız değişken bir boşlukla ayrılır.
    Başvuru dosyaları Apache Spark için .NET uygulamasını yürütmek için çalışan düğümleri tarafından gereken ve ana tanım ZIP dosyasına dahil olmayan ek dosyalar (bağımlı jar'lar, ek kullanıcı tanımlı işlev DLL'leri ve diğer yapılandırma dosyaları). Dosyayı bir depolama hesabına yüklemek için Dosyayı karşıya yükle'yi seçebilirsiniz.
    Spark havuzu İş seçilen Apache Spark havuzuna gönderilir.
    Spark sürümü Apache Spark havuzunun çalıştırılan Apache Spark sürümü.
    Yürütücüler İş için belirtilen Apache Spark havuzunda verilecek yürütücü sayısı.
    Yürütücü boyutu İş için belirtilen Apache Spark havuzunda verilen yürütücüler için kullanılacak çekirdek ve bellek sayısı.
    Sürücü boyutu İş için belirtilen Apache Spark havuzunda verilen sürücü için kullanılacak çekirdek ve bellek sayısı.
    Apache Spark yapılandırması Aşağıdaki özellikleri ekleyerek yapılandırmaları özelleştirin. Özellik eklemezseniz, Azure Synapse uygun olduğunda varsayılan değeri kullanır.

    dotnet için Spark iş tanımının değerini ayarlama

  7. Apache Spark iş tanımını kaydetmek için Yayımla'yı seçin.

    dotnet tanımını yayımlama

Not

Apache Spark yapılandırması için Apache Spark yapılandırması Apache Spark iş tanımı özel bir şey yapmazsa, işi çalıştırırken varsayılan yapılandırma kullanılır.

JSON dosyasını içeri aktararak Apache Spark iş tanımı oluşturma

Yeni bir Apache Spark iş tanımı oluşturmak için Apache Spark iş tanımı Gezgini'nin Eylemler (...) menüsünden mevcut bir yerel JSON dosyasını Azure Synapse çalışma alanına aktarabilirsiniz.

içeri aktarma tanımı oluşturma

Spark iş tanımı Livy API ile tamamen uyumludur. Yerel JSON dosyasına diğer Livy özellikleri (Livy Docs - REST API (apache.org) için ek parametreler ekleyebilirsiniz. Spark yapılandırmasıyla ilgili parametreleri aşağıda gösterildiği gibi yapılandırma özelliğinde de belirtebilirsiniz. Ardından JSON dosyasını içeri aktararak toplu işiniz için yeni bir Apache Spark iş tanımı oluşturabilirsiniz. Spark tanımı içeri aktarma için örnek JSON:

   {
  "targetBigDataPool": {
    "referenceName": "socdemolarge",
    "type": "BigDataPoolReference"
  },
  "requiredSparkVersion": "2.3",
  "language": "scala",
  "jobProperties": {
    "name": "robinSparkDefinitiontest",
    "file": "adl://socdemo-c14.azuredatalakestore.net/users/robinyao/wordcount.jar",
    "className": "WordCount",
    "args": [
      "adl://socdemo-c14.azuredatalakestore.net/users/robinyao/shakespeare.txt"
    ],
    "jars": [],
    "files": [],
    "conf": {
      "spark.dynamicAllocation.enabled": "false",
      "spark.dynamicAllocation.minExecutors": "2",
      "spark.dynamicAllocation.maxExecutors": "2"
    },
    "numExecutors": 2,
    "executorCores": 8,
    "executorMemory": "24g",
    "driverCores": 8,
    "driverMemory": "24g"
  }
}

diğer livy özellikleri

Mevcut Apache Spark iş tanımı dosyasını dışarı aktarma

Mevcut Apache Spark iş tanımı dosyalarını Dosya Gezgini Eylemler (...) menüsünden yerel olarak dışarı aktarabilirsiniz. Ek Livy özellikleri için JSON dosyasını daha fazla güncelleştirebilir ve gerekirse yeni iş tanımı oluşturmak üzere içeri aktarabilirsiniz.

dışarı aktarma tanımı oluşturma

dışarı aktarma tanımı oluşturma 2

Apache Spark iş tanımını toplu iş olarak gönderme

Apache Spark iş tanımı oluşturduktan sonra bunu bir Apache Spark havuzuna gönderebilirsiniz. Çalışmak istediğiniz ADLS 2. Nesil dosya sisteminin Depolama Blob Verileri Katkıda Bulunanı olduğunuzdan emin olun. Aksi takdirde, izni el ile eklemeniz gerekir.

Senaryo 1: Apache Spark iş tanımını gönderme

  1. Apache Spark iş tanımı penceresini seçerek açın.

    Göndermek için Spark iş tanımını açma

  2. Projenizi seçili Apache Spark Havuzuna göndermek için Gönder düğmesini seçin. Apache Spark uygulamasının LogQuery'sini görmek için Spark izleme URL'si sekmesini seçebilirsiniz.

    Spark işi tanımını göndermek için Gönder düğmesini seçin

    Spark Gönderimi iletişim kutusu

Senaryo 2: İlerleme durumunu çalıştıran Apache Spark işini görüntüleme

  1. İzleyici'yi ve ardından Apache Spark uygulamaları seçeneğini belirleyin. Gönderilen Apache Spark uygulamasını bulabilirsiniz.

    Spark uygulamasını görüntüleme

  2. Ardından bir Apache Spark uygulaması seçtiğinizde SparkJobDefinition iş penceresi görüntülenir. İş yürütme ilerleme durumunu buradan görüntüleyebilirsiniz.

    Spark uygulaması LogQuery'yi görüntüleme

Senaryo 3: Çıkış dosyasını denetleme

  1. Veri -Bağlı ->>Azure Data Lake Storage 2. Nesil (hozhaobdbj) öğesini seçin, daha önce oluşturulan sonuç klasörünü açın, sonuç klasörüne gidip çıkışın oluşturulup oluşturulmadiğini kontrol edebilirsiniz.

    Çıkış dosyasını görüntüleme

İşlem hattına Apache Spark iş tanımı ekleme

Bu bölümde, işlem hattına bir Apache Spark iş tanımı eklersiniz.

  1. Mevcut bir Apache Spark iş tanımını açın.

  2. Apache Spark iş tanımının sağ üst kısmındaki simgeyi seçin, Mevcut İşlem Hattı'nı veya Yeni işlem hattı'nı seçin. Daha fazla bilgi için İşlem Hattı sayfasına başvurabilirsiniz.

    işlem hattına ekle1

    işlem hattına ekle2

Sonraki adımlar

Ardından Azure Synapse Studio'yu kullanarak Power BI veri kümeleri oluşturabilir ve Power BI verilerini yönetebilirsiniz. Daha fazla bilgi edinmek için Power BI çalışma alanını Synapse çalışma alanına bağlama makalesine ilerleyin.