Tüm Ürünler
Search
Belge Merkezi

AnalyticDB:Develop Spark applications using the Spark-Submit command-line tool

Son Güncelleme:Oct 05, 2026

AnalyticDB for MySQL spark-submit komut satırı aracı, bir istemciden Spark JAR uygulamalarını göndermenizi ve yönetmenizi sağlar. Bu konuda aracın nasıl kurulacağı, yapılandırılacağı, bir Spark JAR uygulamasının nasıl gönderileceği ve çalışan işlerin nasıl yönetileceği açıklanmaktadır.

Sınırlamalar

  • spark-submit aracı yalnızca Spark JAR uygulamalarını destekler. Spark SQL uygulamaları gönderilemez.

  • Gönderme işlemi yinelenebilir (idempotent) olmadığından başarısız olan gönderme komutları yeniden denenmez. Ağ zaman aşımı nedeniyle başarısız görünen bir komut aslında başarılı olmuş olabilir. Göndermenin başarılı olup olmadığını doğrulamak için --list seçeneğini kullanın veya AnalyticDB for MySQL konsolunu kontrol edin.

Ön koşullar

Başlamadan önce şunlara sahip olduğunuzdan emin olun:

  • Bir AnalyticDB for MySQL Data Lakehouse Edition kümesi

  • Bir iş kaynak grubu. Ayrıntılar için bkz. Kaynak grubu oluşturma ve yönetme

  • Küme ile aynı bölgede bulunan bir Object Storage Service (OSS) paketi

  • İstemci makinede kurulu Java Development Kit (JDK) 1,8 veya üzeri bir sürüm

spark-submit yükleyin

  1. Kurulum paketini indirin.

    wget https://dla003.oss-cn-hangzhou.aliyuncs.com/adb-spark-toolkit-submit-0.0.1.tar.gz
  2. Paketi açın.

    tar zxvf adb-spark-toolkit-submit-0.0.1.tar.gz

spark-submit yapılandırın

Paketi çıkardıktan sonra adb-spark-toolkit-submit/conf/spark-defaults.conf dosyasını açın. spark-submit betiği bu dosyayı otomatik olarak okur ve ayarlar tüm Spark uygulamalarına uygulanır.

vim adb-spark-toolkit-submit/conf/spark-defaults.conf

Aşağıdaki tabloda yapılandırma parametreleri açıklanmaktadır.

Parametre Zorunlu Açıklama
keyId Evet AnalyticDB for MySQL erişim iznine sahip bir Alibaba Cloud hesabının veya Resource Access Management (RAM) kullanıcısının AccessKey kimliği. Ayrıntılar için bkz. Hesaplar ve izinler.
secretId Evet Alibaba Cloud hesabının veya RAM kullanıcısının AccessKey gizli anahtarı. Ayrıntılar için bkz. Hesaplar ve izinler.
regionId Evet AnalyticDB for MySQL kümesinin bölge kimliği.
clusterId Evet AnalyticDB for MySQL kümesinin kimliği.
rgName Evet Spark uygulamalarını çalıştırmak için kullanılan iş kaynak grubunun adı.
ossKeyId Hayır OSS erişimi için AccessKey kimliği. Yerel depolamada bulunan JAR dosyalarının OSS'ye yüklenmesi gerektiğinde zorunludur. RAM kullanıcısının AliyunOSSFullAccess iznine sahip olması gerekir.
ossSecretId Hayır OSS erişimi için AccessKey gizli anahtarı. ossKeyId ile birlikte gereklidir.
ossUploadPath Hayır Yerel JAR dosyalarını yüklemek için OSS yolu. ossKeyId ile birlikte gereklidir.
conf Hayır anahtar:değer biçimindeki ek Spark yapılandırma parametreleri. Birden fazla parametreyi virgülle ayırın. Kullanılabilir parametreler için bkz. Spark uygulama yapılandırma parametreleri.

Spark uygulaması gönderin

  1. Spark uygulamanız için gereken JAR dosyalarını OSS'ye yükleyin. Ayrıntılar için bkz. Basit yükleme.

  2. spark-submit dizinine gidin.

    cd adb-spark-toolkit-submit
  3. Spark uygulamasını gönderin. Yer tutucu değerleri gerçek OSS yollarınız ve kaynak adlarınızla değiştirin.

    ./bin/spark-submit \
      --class com.aliyun.spark.oss.SparkReadOss \
      --verbose \
      --name Job1 \
      --jars oss://<bucket-name>/jars/test.jar,oss://<bucket-name>/jars/search.jar \
      --conf spark.driver.resourceSpec=medium \
      --conf spark.executor.instances=1 \
      --conf spark.executor.resourceSpec=medium \
      oss://<bucket-name>/jars/test1.jar args0 args1

    Yer tutucuları aşağıdaki gibi değiştirin:

    Yer Tutucu Açıklama
    <bucket-name> JAR dosyalarınızı içeren OSS paketinin adı
    args0 args1 JAR dosyaları için bağımsız değişkenler (boşlukla ayrılmış)

Uygulamayı gönderdikten sonra aşağıdaki dönüş kodlarından biri döndürülür:

Dönüş Kodu Anlamı
0 Uygulama başarıyla çalıştı
255 Uygulama başarısız oldu
143 Uygulama sonlandırıldı

Aşağıdaki tabloda yukarıdaki komutta kullanılan spark-submit parametreleri açıklanmaktadır.

Parametre Açıklama
--class Java veya Scala uygulamasının ana sınıfı. Python uygulamaları için gerekli değildir.
--verbose Gönderim sırasında oluşturulan günlükleri yazdırır.
--name Spark uygulamasının adı.
--jars Uygulamanın bağımlı olduğu ek JAR dosyalarının virgülle ayrılmış mutlak OSS yolları. Yerel yollar belirtirseniz araç bunları ossUploadPath içinde yapılandırılan OSS yoluna yükler. Yerel bir JAR dosyası yüklenirken sistem dosyanın MD5 toplamını kullanarak doğrulama yapar; OSS'de aynı ada ve MD5 değerine sahip bir dosya zaten varsa yükleme iptal edilir. OSS'deki bir JAR dosyasını manuel olarak güncellediyseniz güncellenmiş dosyanın yüklenmesi için ilgili MD5 toplamı dosyasını silin. RAM kullanıcısının AliyunOSSFullAccess iznine sahip olması gerekir.
--conf Spark yapılandırma parametreleri. Birden fazla parametreyi ayrı bayraklar olarak belirtin: --conf key1=value1 --conf key2=value2. AnalyticDB for MySQL'ye özel parametreler için bkz. Açık kaynaklı spark-submit'ten farklar.
Ana dosya yolu Ana JAR dosyasının (Java/Scala için) veya giriş noktası betiğinin (Python için) mutlak OSS yolu. Tüm ana dosyalar OSS'de depolanmalıdır.
args JAR dosyaları için bağımsız değişkenler (boşlukla ayrılmış).

Spark uygulamalarını yönetin

Bir uygulama gönderildikten sonra tipik iş akışı şu şekildedir:

  1. Uygulama kimliğini almak için --list komutunu çalıştırın.

  2. İlerlemeyi izlemek için uygulama kimliğini --status, --get-log veya --detail seçenekleriyle birlikte kullanın.

  3. Gerekirse uygulamayı durdurmak için --kill komutunu çalıştırın.

Uygulamaları listeleyin

Burada döndürülen uygulama kimliğini diğer tüm yönetim komutlarıyla kullanın.

./bin/spark-submit --list \
  --clusterId <cluster-ID> \
  --rgName <resource-group-name> \
  --pagenumber 1 \
  --pagesize 3

<cluster-ID> yerine AnalyticDB for MySQL kümenizin kimliğini ve <resource-group-name> yerine iş kaynak grubunuzun adını yazın.

Uygulama durumunu kontrol edin

./bin/spark-submit --status <application-ID>

Gönderim ayrıntılarını ve Spark UI URL'sini görüntüleyin

./bin/spark-submit --detail <application-ID>

Çıktı, ilgili uygulamanın Spark UI URL'sini içeren bir Spark WEB UI alanı içerir.

Uygulama günlüklerini görüntüleyin

./bin/spark-submit --get-log <application-ID>

Bir uygulamayı sonlandırın

./bin/spark-submit --kill <application-ID>

Açık kaynaklı spark-submit'ten farklar

AnalyticDB for MySQL spark-submit'e özel parametreler

Aşağıdaki parametreler yalnızca AnalyticDB for MySQL spark-submit aracında kullanılabilir.

Parametre Varsayılan Açıklama
--api-retry-times 3 Başarısız komutlar için maksimum yeniden deneme sayısı. Gönderme komutları yeniden denenmez — ayrıntılar için bkz. Sınırlamalar.
--time-out-seconds 10 Başarısız bir komutu yeniden denemeden önceki saniye cinsinden zaman aşımı süresi.
--enable-inner-endpoint — Sanal özel bulut (VPC) içinde dahili ağ erişimini etkinleştirir. Uygulamaları bir Elastic Compute Service (ECS) örneğinden gönderirken bunu kullanın.
--list — Gönderilen uygulamaları listeler. Sonuçları sayfalamak için --pagenumber ve --pagesize ile birlikte kullanın.
--pagenumber 1 Liste sonuçları için sayfa numarası.
--pagesize 10 Sayfa başına döndürülen uygulama sayısı.
--kill — Belirtilen uygulamayı sonlandırır.
--get-log — Belirtilen uygulama için günlükleri alır.
--status — Belirtilen uygulamanın durumunu gösterir.

AnalyticDB for MySQL spark-submit tarafından desteklenmeyen parametreler

Bazı açık kaynaklı spark-submit parametreleri desteklenmez. Tam liste için bkz. Spark uygulama yapılandırma parametreleri konusu.