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. Yapı 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 Yeni Proje iletişim kutusu

  5. İleri'yi seçin.

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

    Mülk 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'yı ilk kullandığınızda 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.

    Apache Spark SDK'sını seçme

  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>. 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.

    İletişim kutusundaki nesne bilgileri

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

    Project'ten Scala sınıfı oluşturmaya yönelik komutlar

Spark havuzlarınıza bağlanma

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>Araç Pencereleri>Azure Gezgini'ne gidin.

    IntelliJ IDEA, Azure Explorer'ı gösterir

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

    IntelliJ IDEA göz atıcıda Azure'a sağ tıklayın

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

    IntelliJ IDEA Azure oturum açma

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

    IntelliJ IDEA Azure cihazdan oturum açma

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

    Microsoft, HDI için kod iletişim kutusuna giriyor

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

    Microsoft, HDI için e-posta diyaloğuna katılıyor

  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.

    Abonelik Seç iletişim kutusu

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

    IntelliJ IDEA Azure Gezgini ana görünümü

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

    Azure Explorer depolama hesapları

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ır/Yapılandırma penceresini açın.

    Spark Uygulamasını HDInsight'a Gönder komutu 1

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

    Spark Uygulamasını HDInsight'a Gönder komutu 2

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

    Mülk 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. Sınıfı değiştirmek için üç noktayı (...) seçin ve ardından başka bir sınıf seçin.
    İş 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ı argümanları 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.
    Görev Yükleme Depolama Alanı Ek seçenekleri göstermek için genişletin.
    Depolama Türü Açılır listeden Karşıya yüklemek için Azure Blob'u kullan veya Karşıya yüklemek için küme varsayılan depolama hesabını kullan seçeneklerinden birini seçin.
    Depolama Hesabı Depolama hesabınızı girin.
    Depolama Anahtarı Depolama anahtarınızı girin.
    Depolama Kapsayıcısı Depolama Hesabı ve Depolama Anahtarı girildikten sonra açılan listeden depolama kapsayıcınızı seçin.

    Spark Gönderimi iletişim kutusu 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 ilerlemesini en altta görüntüler. Kırmızı düğmeyi seçerek uygulamayı durdurabilirsiniz.

    Apache Spark Gönderim penceresi

    Spark Gönderimi iletişim kutusu 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 Çalıştırma ve Hata Ayıklama Yapılandırmaları Yerel Çalıştırma 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 Çalıştırma hata ayıklama yapılandırmaları yerel çalıştırma 2

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

    IntelliJ Projesi yerel çalıştırma sonucu 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 yerel çalıştırma sonucu 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>Araç Pencereleri>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 Gezgini ana görünümü

  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 İşi Görünümü Uygulaması ayrıntıları 1

    Spark Görev Görünümü Uygulama Ayrıntıları 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...>.

  2. Çalıştırma/Hata Ayıklama Yapılandırmaları penceresinde, sol bölmede Synapse üzerinde Apache Spark>[Spark on Synapse] myApp öğesine 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.

    Yerel Konsol Kümesi Yapılandırması

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

  6. Menü çubuğundan Araçlar>> 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 Otomatik Düzeltme iletişim kutusu1

    IntelliJ IDEA Spark Otomatik Düzeltme diyalog kutusu2

  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 yerel konsol sonucu

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...>.

  2. Çalıştırma/Hata Ayıklama Yapılandırmaları penceresinde, sol bölmede Synapse üzerinde Apache Spark>[Synapse üzerinde Spark] myApp seçeneğine 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.

    Etkileşimli Konsol Kümesi Yapılandırması

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

  6. Menü çubuğundan Araçlar>> ç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 Etkileşimli Konsol Sonucu

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.

Seçimi Spark konsoluna gönder

Sonraki adımlar