Tüm Ürünler
Search
Belge Merkezi

DataWorks:Serverless Spark Toplu İş düğümü

Son Güncelleme:Oct 08, 2026

DataWorks'te bir EMR Serverless Spark kümesi üzerinde Spark işlerini geliştirin ve periyodik olarak zamanlayın. Spark, karmaşık bellek içi hesaplamaları destekler; bu da onu büyük ölçekli ve düşük gecikme süreli veri analizleri için ideal kılar.

Ön koşullar

  • Hesaplama kaynağı sınırlamaları: Yalnızca ilişkili EMR Serverless Spark hesaplama kaynakları desteklenir. Kaynak grubu ile hesaplama kaynağı arasında ağ iletişimi kurulduğundan emin olun.

  • Kaynak grubu kısıtlamaları: Bu tür görevleri yalnızca Serverless kaynak grupları çalıştırabilir.

  • (İsteğe bağlı, RAM kullanıcıları için) Görev geliştirmesi yapan Resource Access Management (RAM) kullanıcısının çalışma alanına eklenmiş ve Development veya Workspace Administrator rolüne (bu rol geniş yetkiler içerir ve dikkatle atanmalıdır) sahip olması gerekir. Daha fazla bilgi için bkz. Çalışma alanı üyelerini ekleme.

    Kök hesap kullanıyorsanız bu adımı atlayın.

Düğüm oluşturma

Talimatlar için bkz. Düğüm oluşturma.

Düğümü geliştirme

Not

Bir Serverless Spark Toplu İş görevi geliştirmeden önce, Spark iş kodunu E-MapReduce (EMR) ortamında geliştirip bir JAR paketi halinde derlemeniz gerekir. Spark geliştirme kılavuzu için bkz. Spark öğreticileri.

Kullanım durumunuza en uygun yaklaşımı seçin:

Seçenek 1: EMR JAR dosyasını yükleme ve referans verme

Derlenen JAR paketini DataWorks'e bir EMR JAR kaynağı olarak yükleyin. Bu yaklaşım, 500 MB'tan küçük JAR paketleri için uygundur.

  1. Bir EMR JAR kaynağı oluşturun.

    1. Sol gezinme bölmesinde, image simgesine tıklayarak Resource Management sayfasına gidin.

    2. Resource Management sayfasında image simgesine tıklayın, New Resource seçeneğini belirleyin ve kaynağa spark-examples_2.11-2.4.0.jar adını verin.

    3. Click Upload öğesine tıklayın ve spark-examples_2.11-2.4.0.jar dosyasını yükleyin.

    4. Bir Storage Path, Data Sources ve Resource Group seçin.

      Önemli

      Veri kaynağı olarak ilişkili EMR Serverless Spark kümesini seçmeniz gerekir.

    5. Save öğesine tıklayın.

  2. EMR JAR kaynağını referans verin.

    1. Oluşturduğunuz Serverless Spark Batch düğümünü açın ve kod düzenleyici sayfasında kalın.

    2. Soldaki Kaynak Yönetimi bölmesinde kullanmak istediğiniz kaynağı bulun, sağ tıklayın ve Insert Resource Path seçeneğini belirleyin.

    3. Aşağıdaki kod Serverless Spark Batch düğümünün kod düzenleyicisine otomatik olarak eklendiğinde kaynak başarıyla referans verilmiş olur:

      ##@resource_reference{"spark-examples_2.11-2.4.0.jar"}
      spark-examples_2.11-2.4.0.jar

      Yukarıdaki kodda spark-examples_2.11-2.4.0.jar, yüklediğiniz EMR JAR kaynağının adıdır.

    4. spark-submit komutunu ekleyerek düğüm kodunu değiştirin. Aşağıdaki örnek, değiştirilmiş kodu göstermektedir.

      Önemli
      • Örneği tam olarak takip edin. Açıklama satırları eklemeyin; aksi takdirde düğüm başarısız olur.

      • EMR Serverless Spark için spark-submit komutunda deploy-mode parametresini ayarlamanız gerekmez. Yalnızca cluster modu desteklenir.

      ##@resource_reference{"spark-examples_2.11-2.4.0.jar"}
      spark-submit --class org.apache.spark.examples.SparkPi spark-examples_2.11-2.4.0.jar 100


      Komut


      Açıklama


      class


      JAR dosyasındaki uygulamanın ana sınıfı. Bu örnekte değer org.apache.spark.examples.SparkPi şeklindedir.

      Not

      Parametreler hakkında daha fazla bilgi için bkz. spark-submit kullanarak iş gönderme.

Seçenek 2: OSS kaynağını referans verme

Object Storage Service (OSS) içinde depolanan bir kaynağı referans verin. DataWorks, belirtilen OSS kaynağını çalışma zamanında otomatik olarak yükler. Bu yaklaşımı, bir EMR işinin JAR bağımlılıkları gerektirdiği veya betiklere bağımlı olduğu durumlarda kullanın.

  1. JAR kaynağını geliştirin: Bu konuda örnek olarak SparkWorkOSS-1.0-SNAPSHOT-jar-with-dependencies.jar kullanılmıştır.

  2. JAR kaynağını yükleyin.

    1. OSS konsoluna giriş yapın. Sol gezinme bölmesinde buckets öğesine tıklayın.

    2. Dosya yönetim sayfasına gitmek için hedef paketin adına tıklayın.

    3. JAR kaynağını depolamak için bir dizin oluşturmak üzere Create Directory öğesine tıklayın.

    4. Dizine gidin ve SparkWorkOSS-1.0-SNAPSHOT-jar-with-dependencies.jar dosyasını pakete yükleyin.

  3. JAR kaynağını referans verin.

    1. Oluşturduğunuz Serverless Spark Toplu İş düğümünün kod düzenleyicisinde, JAR kaynağını referans vermek için kodu yazın.

      Önemli

      Aşağıdaki kodda OSS paket adı mybucket ve dizin emr olarak belirtilmiştir. Bunları kendi değerlerinizle değiştirin.

      spark-submit --class com.aliyun.emr.example.spark.SparkMaxComputeDemo oss://mybucket/emr/SparkWorkOSS-1.0-SNAPSHOT-jar-with-dependencies.jar

      Parametreler:

      Parametre

      Açıklama

      class

      Çalıştırılacak ana sınıfın tam nitelikli adı.

      oss dosya yolu

      Format oss://{bucket}/{object} şeklindedir.

      • bucket: Nesneleri depolayan OSS kapsayıcısıdır. Her paket benzersiz bir ada sahiptir. Hesabınız altındaki tüm paketleri görüntülemek için OSS konsoluna giriş yapabilirsiniz.

      • object: Bir pakette depolanan bir dosya veya yoldur.

      Not

      Parametreler hakkında daha fazla bilgi için bkz. spark-submit kullanarak iş gönderme.

Düğümü hata ayıklama

  1. Run Configuration bölmesinde Compute resource ve resource group gibi ayarları yapılandırın.

    Parametre

    Açıklama

    Compute resource

    İlişkili bir EMR Serverless Spark hesaplama kaynağı seçin. Kullanılabilir kaynak yoksa açılır listeden Create Compute Resource seçeneğini belirleyin.

    resource group

    Çalışma alanıyla ilişkili bir kaynak grubu seçin.

    Script parameters

    Düğüm kodunda ${Parameter name} formatını kullanarak değişkenler tanımlayın. Ardından Parameter name ve Parameter Value değerlerini Script Parameters bölümünde tanımlayın. Çalışma zamanında DataWorks, bu değişkenleri belirtilen değerlerle değiştirir. Daha fazla bilgi için bkz. Zamanlama parametreleri.

    ServerlessSpark node parameters

    Spark programı için çalışma zamanı parametreleri. Aşağıdaki türler desteklenir:

    Yapılandırma formatı şöyledir: "spark.eventLog.enabled": false. DataWorks, bu ayarı Serverless Spark'a gönderilen koda otomatik olarak --conf key=value formatında ekler.

    Not

    Genel Spark parametrelerini çalışma alanı düzeyinde ayarlayabilir ve bunların belirli bir modül içinde ayarlanan parametrelere göre öncelikli olup olmadığını belirtebilirsiniz. Ayrıntılar için bkz. Genel Spark parametrelerini yapılandırma.

  2. Düğüm düzenleyicisinin üst kısmındaki araç çubuğunda Run öğesine tıklayın.

    Önemli

    Yayınlamadan önce, ServerlessSpark node parameters bölümündeki Run Configuration ayarlarını ServerlessSpark node parameters bölümündeki Scheduling Settings ayarlarıyla senkronize etmeniz gerekir.

Sonraki adımlar

  • Düğüm zamanlamasını yapılandırma: Bir düğümü periyodik olarak çalıştırmanız gerekiyorsa, sağ taraftaki Scheduling Settings panelinde Scheduling Policy ayarını yapılandırın.

  • Düğüm yayınlama: Bir görevi üretim ortamında çalıştırmak için image simgesine tıklayarak düğümü yayınlayın. Bir düğüm, yalnızca üretim ortamına yayınlandıktan sonra zamanlanmış olarak çalışır.

  • Görev İşletme ve Bakım: Bir görev yayınlandıktan sonra, Operation Center üzerinden periyodik çalıştırmalarını izleyin. Daha fazla bilgi için bkz. Operation Center'a giriş.

İlgili belgeler

Ek: DataWorks parametreleri

Parametre

Açıklama

SERVERLESS_QUEUE_NAME

İşin gönderildiği kaynak kuyruğu. Varsayılan olarak, işler Management Center içindeki Clusters altında küme için yapılandırılan Default Resource Queue öğesine gönderilir. Kaynakları yalıtmak ve yönetmek için kuyruklar ekleyebilirsiniz. Daha fazla bilgi için bkz. Kaynak kuyruklarını yönetme.

Yapılandırma yöntemleri:

  • Düğüm parametrelerini kullanarak iş için kaynak kuyruğunu belirtin.

  • genel Spark parametrelerinı kullanarak iş için kaynak kuyruğunu belirtin.