Aracılığıyla paylaş


Öğretici: Synapse çalışma alanını kullanarak IntelliJ ile Apache Spark uygulaması oluşturma

Bu öğreticide, Scala'da yazılmış Apache Spark uygulamaları geliştirmek ve bunları doğrudan IntelliJ tümleşik geliştirme ortamından (IDE) sunucusuz bir Apache Spark havuzuna göndermek için IntelliJ için Azure Toolkit eklentisinin nasıl kullanılacağı gösterilmektedir. Eklentiyi birkaç şekilde kullanabilirsiniz:

  • Spark havuzunda Scala Spark uygulaması geliştirin ve gönderin.
  • Spark havuzlarınızın kaynaklarına erişin.
  • Scala Spark uygulamasını yerel olarak geliştirin ve çalıştırın.

Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:

  • Azure Toolkit for IntelliJ eklentisini kullanma
  • Apache Spark uygulamaları geliştirme
  • Spark havuzlarına uygulama gönderme

Önkoşullar

  • IntelliJ IDEA Topluluk Sürümü.

  • Azure araç seti eklentisi 3.27.0-2019.2 – IntelliJ Eklentisi deposundan yükleme

  • JDK (Sürüm 1.8).

  • Scala Eklentisi – IntelliJ Eklentisi deposundan yükleyin.

  • Aşağıdaki önkoşul yalnızca Windows kullanıcıları için geçerlidir:

    Yerel Spark Scala uygulamasını bir Windows bilgisayarda çalıştırırken SPARK-2356'da açıklandığı gibi bir özel durum alabilirsiniz. Windows'ta WinUtils.exe eksik olduğundan özel durum oluşur. Bu hatayı çözmek için WinUtils yürütülebilir dosyasını C:\WinUtils\bin gibi bir konuma indirin. Ardından HADOOP_HOME ortam değişkenini ekleyin ve değişkenin değerini C:\WinUtils olarak ayarlayın.

Spark havuzu için Spark Scala uygulaması oluşturma

  1. IntelliJ IDEA'yı başlatın ve Yeni Proje Oluştur'u seçerek Yeni Proje penceresini açın.

  2. Sol bölmeden Apache Spark/HDInsight'ı seçin.

  3. Ana pencerede Örneklerle Spark Projesi(Scala) seçeneğini belirleyin.

  4. Derleme aracı açılan listesinden aşağıdaki türlerden birini seçin:

    • Scala için Maven proje oluşturma sihirbazı desteği.
    • Scala projesi için bağımlılıkları yönetmeye ve oluşturmaya yönelik SBT .

    IntelliJ IDEA New Project dialog box

  5. İleri'yi seçin.

  6. Yeni Proje penceresinde aşağıdaki bilgileri sağlayın:

    Özellik Açıklama
    Proje adı Bir ad girin. Bu öğreticide myApp kullanılır.
    Proje konumu Projenizi kaydetmek için istenen konumu girin.
    Proje SDK'sı IDEA'nın ilk kullanımında boş olabilir. Yeni... öğesini seçin ve JDK'nize gidin.
    Spark Sürümü Oluşturma sihirbazı, Spark SDK ve Scala SDK'sı için uygun sürümü tümleştirir. Burada ihtiyacınız olan Spark sürümünü seçebilirsiniz.

    Selecting the Apache Spark SDK

  7. Bitir'i seçin. Projenin kullanılabilir duruma gelmesi birkaç dakika sürebilir.

  8. Spark projesi sizin için otomatik olarak bir yapıt oluşturur. Yapıtı görüntülemek için aşağıdaki işlemi yapın:

    a. Menü çubuğundan Dosya>Proje Yapısı.... seçeneğine gidin.

    b. Proje Yapısı penceresinde Yapıtlar'ı seçin.

    c. Yapıtı görüntüledikten sonra İptal'i seçin.

    Artifact info in the dialog box

  9. MyApp>src>main>scala>örnek>LogQuery'den LogQuery'yi bulun. Bu öğreticide çalıştırmak için LogQuery kullanılır.

    Commands for creating a Scala class from Project

Spark havuzlarınıza Bağlan

Spark havuzlarınıza bağlanmak için Azure aboneliğinde oturum açın.

Azure aboneliğinizde oturum açın

  1. Menü çubuğundan Görünüm>Aracı Windows>Azure Gezgini'ne gidin.

    IntelliJ IDEA shows Azure Explorer

  2. Azure Gezgini'nde Azure düğümüne sağ tıklayıp Oturum Aç'ı seçin.

    IntelliJ IDEA explorer right-click Azure

  3. Azure Oturum Aç iletişim kutusunda Cihaz Oturum Açma'yı ve ardından Oturum aç'ı seçin.

    IntelliJ IDEA Azure sign-in

  4. Azure Cihaz Oturum Açma iletişim kutusunda Kopyala ve Aç'ı seçin.

    IntelliJ IDEA Azure device login

  5. Tarayıcı arabiriminde kodu yapıştırın ve İleri'yi seçin.

    Microsoft enters code dialog for HDI

  6. Azure kimlik bilgilerinizi girin ve tarayıcıyı kapatın.

    Microsoft enters e-mail dialog for HDI

  7. Oturum açtıktan sonra Abonelikleri Seç iletişim kutusunda, kimlik bilgileriyle ilişkili tüm Azure abonelikleri listelenir. Aboneliğinizi ve ardından Seç'i seçin.

    The Select Subscriptions dialog box

  8. Azure Gezgini'nde Synapse üzerinde Apache Spark'ı genişleterek aboneliklerinizdeki Çalışma Alanlarını görüntüleyin.

    IntelliJ IDEA Azure Explorer main view

  9. Spark havuzlarını görüntülemek için çalışma alanını daha da genişletebilirsiniz.

    Azure Explorer storage accounts

Spark havuzunda Spark Scala uygulamasını uzaktan çalıştırma

Scala uygulamasını oluşturduktan sonra uzaktan çalıştırabilirsiniz.

  1. Simgeyi seçerek Çalıştırma/Yapılandırmalarda Hata Ayıklama penceresini açın.

    The Submit Spark Application to HDInsight command 1

  2. Yapılandırmaları Çalıştır/Hatalarını Ayıkla iletişim penceresinde öğesini ve +ardından Synapse'te Apache Spark'ı seçin.

    The Submit Spark Application to HDInsight command 2

  3. Çalıştırma/Hata Ayıklama Yapılandırmaları penceresinde aşağıdaki değerleri sağlayın ve tamam'ı seçin:

    Özellik Değer
    Spark havuzları Uygulamanızı çalıştırmak istediğiniz Spark havuzlarını seçin.
    Göndermek için bir Yapıt seçin Varsayılan ayarı değiştirmeyin.
    Ana sınıf adı Varsayılan değer, seçili dosyadaki ana sınıftır. Üç noktayı (...) ve başka bir sınıfı seçerek sınıfı değiştirebilirsiniz.
    İş yapılandırmaları Varsayılan anahtarı ve değerleri değiştirebilirsiniz. Daha fazla bilgi için bkz . Apache Livy REST API.
    Komut satırı bağımsız değişkenleri Gerekirse, ana sınıf için boşlukla ayrılmış bağımsız değişkenler girebilirsiniz.
    Başvuruda Belirtilen Jar'lar ve Başvurulan Dosyalar Başvuruda bulunan Jar'ların ve varsa dosyaların yollarını girebilirsiniz. Şu anda yalnızca ADLS 2. Nesil kümesini destekleyen Azure sanal dosya sistemindeki dosyalara da göz atabilirsiniz. Daha fazla bilgi için: Apache Spark Yapılandırması ve Kaynakları kümeye yükleme.
    İş Yükleme Depolama Ek seçenekleri göstermek için genişletin.
    Depolama Türü Açılan listeden Karşıya yüklemek için Azure Blobunu kullan'ı veya Karşıya yüklemek için küme varsayılan depolama hesabını kullan'ı seçin.
    Depolama Hesabı Depolama hesabınızı girin.
    Depolama Anahtarı Depolama anahtarınızı girin.
    kapsayıcıyı Depolama Hesap ve Depolama Depolama Anahtarı girildikten sonra açılan listeden depolama kapsayıcınızı seçin.

    The Spark Submission dialog box 1

  4. Projenizi seçili Spark havuzuna göndermek için SparkJobRun simgesini seçin. Kümedeki Uzak Spark İşi sekmesi, iş yürütme ilerleme durumunu en altta görüntüler. Kırmızı düğmeyi seçerek uygulamayı durdurabilirsiniz.

    Apache Spark Submission window

    The Spark Submission dialog box 2

Yerel Çalıştırma/Apache Spark uygulamalarında hata ayıklama

Apache Spark işiniz için yerel çalıştırmanızı ve yerel hata ayıklamanızı ayarlamak için aşağıdaki yönergeleri izleyebilirsiniz.

Senaryo 1: Yerel çalıştırma

  1. Çalıştır/Yapılandırmalarda Hata Ayıkla iletişim kutusunu açın, artı işaretini ()+ seçin. Ardından Synapse üzerinde Apache Spark seçeneğini belirleyin. Kaydedilecek Ad, Ana sınıf adı bilgilerini girin.

    Intellij Run debug configurations local run 1

    • Ortam değişkenleri ve WinUtils.exe Konumu yalnızca Windows kullanıcıları içindir.
    • Ortam değişkenleri: Sistem ortam değişkeni daha önce ayarladıysanız ve el ile eklemeniz gerekmiyorsa otomatik olarak algılanabilir.
    • WinUtils.exe Konumu: Sağ taraftaki klasör simgesini seçerek WinUtils konumunu belirtebilirsiniz.
  2. Ardından yerel oynat düğmesini seçin.

    Intellij Run debug configurations local run 2

  3. Yerel çalıştırma tamamlandıktan sonra betik çıktı içeriyorsa, çıktı dosyasını varsayılan verilerden> de kontrol edebilirsiniz.

    Intellij Project local run result 1

Senaryo 2: Yerel hata ayıklama yapma

  1. LogQuery betiğini açın, kesme noktalarını ayarlayın.

  2. Yerel hata ayıklama yapmak için Yerel hata ayıklama simgesini seçin.

    Intellij Project local run result 2

Synapse Çalışma Alanına erişme ve yönetme

Azure Gezgini'nde Azure Toolkit for IntelliJ içinde farklı işlemler gerçekleştirebilirsiniz. Menü çubuğundan Görünüm>Aracı Windows>Azure Gezgini'ne gidin.

Çalışma alanını başlatın

  1. Azure Gezgini'nden Synapse'te Apache Spark'a gidin ve genişletin.

    IntelliJ IDEA Azure Explorer main view

  2. Bir çalışma alanına sağ tıklayın, ardından Çalışma alanını başlat'ı seçin; web sitesi açılır.

    Spark Job View Application details 1

    Spark Job View Application details 2

Spark konsolu

Spark Yerel Konsolu'nu (Scala) veya Spark Livy Etkileşimli Oturum Konsolu'nu (Scala) çalıştırabilirsiniz.

Spark yerel konsolu (Scala)

WINUTILS.EXE önkoşulunu karşıladığınızdan emin olun.

  1. Menü çubuğundan Yapılandırmaları Düzenle... komutunu çalıştırın>.

  2. Çalıştırma/Hata Ayıklama Yapılandırmaları penceresinde, sol bölmede Synapse[Synapse> üzerinde Spark] myApp üzerinde Apache Spark'a gidin.

  3. Ana pencerede Yerel Olarak Çalıştır sekmesini seçin.

  4. Aşağıdaki değerleri sağlayın ve tamam'ı seçin:

    Özellik Değer
    Ortam değişkenleri HADOOP_HOME değerinin doğru olduğundan emin olun.
    WINUTILS.exe konumu Yolun doğru olduğundan emin olun.

    Local Console Set Configuration

  5. Project'ten myApp>src>main>scala myApp konumuna>gidin.

  6. Menü çubuğundan Araçlar>Spark konsolu Spark Yerel Konsolunu>Çalıştır (Scala) seçeneğine gidin.

  7. Ardından, bağımlılıkları otomatik olarak düzeltmek isteyip istemediğinizi sormak için iki iletişim kutusu görüntülenebilir. Öyleyse, Otomatik Düzeltme'yi seçin.

    IntelliJ IDEA Spark Auto Fix dialog1

    IntelliJ IDEA Spark Auto Fix dialog2

  8. Konsol aşağıdaki resme benzer görünmelidir. Konsol penceresine yazın sc.appNameve ardından ctrl+Enter tuşlarına basın. Sonuç gösterilir. Kırmızı düğmeyi seçerek yerel konsolu durdurabilirsiniz.

    IntelliJ IDEA local console result

Spark Livy etkileşimli oturum konsolu (Scala)

Yalnızca IntelliJ 2018.2 ve 2018.3'te desteklenir.

  1. Menü çubuğundan Yapılandırmaları Düzenle... komutunu çalıştırın>.

  2. Çalıştırma/Hata Ayıklama Yapılandırmaları penceresinde, sol bölmede synapse[Synapse> üzerinde Spark] myApp üzerinde Apache Spark'a gidin.

  3. Ana pencerede Kümede Uzaktan Çalıştır sekmesini seçin.

  4. Aşağıdaki değerleri sağlayın ve tamam'ı seçin:

    Özellik Değer
    Ana sınıf adı Ana sınıf adını seçin.
    Spark havuzları Uygulamanızı çalıştırmak istediğiniz Spark havuzlarını seçin.

    Interactive Console Set Configuration

  5. Project'ten myApp>src>main>scala myApp konumuna>gidin.

  6. Menü çubuğundan Araçlar>Spark konsolu>Spark Livy Etkileşimli Oturum Konsolu'nu (Scala) çalıştır'a gidin.

  7. Konsol aşağıdaki resme benzer görünmelidir. Konsol penceresine yazın sc.appNameve ardından ctrl+Enter tuşlarına basın. Sonuç gösterilir. Kırmızı düğmeyi seçerek yerel konsolu durdurabilirsiniz.

    IntelliJ IDEA Interactive Console Result

Seçimi Spark konsoluna gönder

Yerel konsola veya Livy Interactive Session Console'a (Scala) kod göndererek betik sonucunu görmek isteyebilirsiniz. Bunu yapmak için Scala dosyasındaki bazı kodları vurgulayabilir ve ardından Seçimi Spark konsoluna Gönder'e sağ tıklayabilirsiniz. Seçilen kod konsola gönderilir ve tamamlanır. Sonuç, konsoldaki koddan sonra görüntülenir. Konsol mevcut hataları denetler.

Send Selection to Spark console

Sonraki adımlar