Tüm Ürünler
Search
Belge Merkezi

DataWorks:MaxCompute Spark düğümü

Son Güncelleme:Oct 05, 2026

Spark on MaxCompute, işleri hem yerel hem de küme modunda çalıştırmayı destekler. DataWorks'te, Spark on MaxCompute çevrimdışı işlerini küme modunda çalıştırarak bunları diğer düğüm türleriyle entegre edip zamanlayabilirsiniz. Bu konuda, DataWorks kullanarak Spark on MaxCompute işlerinin nasıl yapılandırılacağı ve zamanlanacağı açıklanmaktadır.

Genel bakış

Spark on MaxCompute, açık kaynaklı Spark ile uyumlu olan ve MaxCompute tarafından sağlanan bir hesaplama hizmetidir. Birleşik bir hesaplama kaynağı ve izin sistemi üzerine kurulu bir Spark hesaplama çerçevesi sunar. Bu sayede, çeşitli veri işleme ve analiz ihtiyaçlarınız için tanıdık geliştirme iş akışlarını kullanarak Spark işlerini gönderebilir ve çalıştırabilirsiniz. DataWorks'te, Spark on MaxCompute işlerini zamanlamak, çalıştırmak ve diğer işlerle entegre etmek için MaxCompute Spark düğümünü kullanabilirsiniz.

Spark on MaxCompute; Java, Scala ve Python dillerinde geliştirmeyi destekler ve işleri yerel veya küme modunda çalıştırır. DataWorks'te çevrimdışı bir Spark on MaxCompute işi çalıştırdığınızda bu iş küme modunda yürütülür. Spark on MaxCompute çalışma modları hakkında daha fazla bilgi için Çalışma modları konusuna bakın.

İzin gereksinimleri

İşleri geliştirmek için RAM kullanıcılarının ilgili çalışma alanına eklenmesi ve Development veya Workspace Administrator rolünün atanması gerekir. Workspace Administrator rolü geniş kapsamlı izinler içerdiğinden dikkatli bir şekilde verilmelidir. Bir üyeyi çalışma alanına ekleme hakkında daha fazla bilgi için Çalışma alanı üyeleri ekleme konusuna bakın.

Not

Alibaba Cloud hesabı kullanıyorsanız bu adımı atlayabilirsiniz.

Sınırlamalar

Spark 3.x kullanan bir MaxCompute Spark düğümü gönderirken hata alırsanız sunucusuz kaynak grubu satın almanız ve kullanmanız gerekir. Daha fazla bilgi için Sunucusuz kaynak grubu kullanma konusuna bakın.

Başlamadan önce

MaxCompute Spark düğümü, Java/Scala ve Python kullanarak Spark on MaxCompute çevrimdışı işlerini çalıştırmayı destekler. Geliştirme adımları ve yapılandırma arayüzü her dil için farklılık gösterir. İş gereksinimlerinize göre bir dil seçin.

Java/Scala

MaxCompute Spark düğümünde Java veya Scala kodunu çalıştırmadan önce Spark on MaxCompute iş kodunu yerel olarak geliştirmeniz ve bunu DataWorks'e MaxCompute kaynağı olarak yüklemeniz gerekir. Aşağıdaki adımları izleyin:

  1. Geliştirme ortamını hazırlayın.

    İşletim sisteminize göre Spark on MaxCompute işlerini çalıştırmak için bir geliştirme ortamı hazırlayın. Daha fazla bilgi için Linux geliştirme ortamı ayarlama ve Windows geliştirme ortamı ayarlama konularına bakın.

  2. Java/Scala kodunu geliştirin.

    Kodu MaxCompute Spark düğümünde çalıştırmadan önce Spark on MaxCompute kodunuzu yerel ortamınızda veya mevcut bir ortamda geliştirin. Spark on MaxCompute tarafından sağlanan örnek proje şablonunu kullanmanızı öneririz.

  3. Kodu paketleyin ve DataWorks'e yükleyin.

    Geliştirme tamamlandıktan sonra kodunuzu paketleyin ve MaxCompute kaynağı olarak DataWorks'e yükleyin. Daha fazla bilgi için Kaynak Yönetimi konusuna bakın.

Varsayılan ortamla Python

DataWorks'te kodu doğrudan bir Python kaynağına yazarak PySpark işleri geliştirebilirsiniz. Ardından kodu bir MaxCompute Spark düğümü kullanarak gönderebilir ve çalıştırabilirsiniz. Geliştirme örnekleri için PySpark geliştirme örnekleri konusuna bakın.

Not

Varsayılan ortam işinizin bağımlılık gereksinimlerini karşılamıyorsa özel bir Python ortamı hazırlamak için Python (using a custom environment) bölümüne bakın. Alternatif olarak Python kaynakları için daha iyi destek sunan PyODPS 2 veya PyODPS 3 düğümü kullanabilirsiniz.

Özel ortamla Python

Varsayılan Python ortamı iş gereksinimlerinizi karşılamıyorsa Spark on MaxCompute işinizi çalıştırmak için özel bir Python ortamı kullanmak üzere aşağıdaki adımları izleyin.

  1. Yerel ortamda bir Python ortamı hazırlayın.

    Gerekli Python ortamını yapılandırmak için PySpark Python sürümleri ve bağımlılık desteği kaynağına bakın.

  2. Ortamı paketleyin ve DataWorks'e yükleyin.

    Python ortamını .zip paketi halinde sıkıştırın ve MaxCompute kaynağı olarak DataWorks'e yükleyin. Bu paket Spark on MaxCompute işinizin yürütme ortamı haline gelir.

Parametreler

DataWorks, Spark on MaxCompute çevrimdışı işlerini Küme modunda çalıştırır. Küme modunda özel bir program giriş noktası main belirtmeniz gerekir. İlgili Spark işi, main işlevi Success veya Fail durumuyla sonlandığında tamamlanır. Ayrıca spark-defaults.conf dosyasındaki yapılandırmaların tek tek MaxCompute Spark düğümü yapılandırmalarına eklenmesi gerekir. Örneğin executor sayısı, bellek boyutu ve spark.hadoop.odps.runtime.end.point yapılandırması.

Not

spark-defaults.conf dosyasını yüklemeniz gerekmez. Bunun yerine spark-defaults.conf dosyasındaki yapılandırmaları tek tek MaxCompute Spark düğümünün yapılandırma öğelerine eklemeniz gerekir.

Java/Scala

Parametre

Açıklama

Spark-submit komutu

Spark Version

Spark sürümü. Geçerli değerler: Spark 1.x, Spark 2.x ve Spark 3.x.

Not

Spark 3.x sürümünü kullanan bir MaxCompute Spark düğümü gönderirken hata alırsanız sunucusuz kaynak grubu satın alın ve kullanın. Daha fazla bilgi için Sunucusuz kaynak grubu kullanma konusuna bakın.

—

Language

Programlama dili. Spark on MaxCompute işinizi geliştirdiğiniz dile göre Java/Scala veya Python seçeneğini belirleyin.

—

Main JAR Resource

İş için ana JAR kaynak dosyasını belirtir.

Kaynak dosyasının DataWorks'e yüklenmiş ve commit edilmiş olması gerekir. Daha fazla bilgi için Kaynak Yönetimi konusuna bakın.

app jar or Python file

Configuration Item

İşi göndermek için yapılandırma öğelerini belirtir. Aşağıdaki hususlara dikkat edin:

  • spark.hadoop.odps.access.id, spark.hadoop.odps.access.key ve spark.hadoop.odps.end.point parametrelerini yapılandırmanıza gerek yoktur çünkü bunlar varsayılan olarak MaxCompute projesinin değerlerini alır. Özel gereksinimleriniz varsa varsayılan değerleri geçersiz kılmak amacıyla bu parametreleri açıkça yapılandırabilirsiniz.

  • spark-defaults.conf dosyasını yüklemenize gerek yoktur. Bunun yerine spark-defaults.conf dosyasındaki yapılandırmaları (Executor sayısı, bellek boyutu ve spark.hadoop.odps.runtime.end.point yapılandırması gibi) tek tek MaxCompute Spark düğümü yapılandırmalarına eklemeniz gerekir.

--conf PROP=VALUE

Main Class

Ana sınıf adını yapılandırın. Bu parametre geliştirme dili Java/Scala olduğunda zorunludur.

--class CLASS_NAME

Parameter

İhtiyaç duyduğunuz parametreleri ekleyebilir ve birden fazla parametreyi boşlukla ayırabilirsiniz. DataWorks zamanlama parametrelerini destekler. Parameter biçimi ${variable_name} şeklindedir. Yapılandırma tamamlandıktan sonra sağ gezinme bölmesindeki Scheduling Settings panelinin Scheduling Parameters bölümünde değişkene bir değer atamanız gerekir.

Zamanlama parametre değerleri için desteklenen biçimler hakkında bilgi almak üzere Zamanlama parametrelerinin kaynakları ve ifadeleri konusuna bakın.

[app arguments]

JAR Resources

Bu özellik yalnızca programlama dili Java/Scala olduğunda desteklenir.

Kaynak dosyalarının DataWorks'e yüklenmiş ve commit edilmiş olması gerekir. Daha fazla bilgi için Kaynak Yönetimi konusuna bakın.

Kaynak komutu:

--jars JARS

File Resources

İş için dosya kaynaklarını belirtir.

--files FILES

Archive Resources

İş için arşiv kaynaklarını belirtir. Yalnızca .zip arşivleri desteklenir.

--archives ARCHIVES

Python

Parametre

Açıklama

Spark-submit komutu

Spark Version

Spark sürümü. Geçerli değerler: Spark 1.x, Spark 2.x ve Spark 3.x.

Not

Spark 3.x sürümünü kullanan bir MaxCompute Spark düğümü gönderirken hata alırsanız sunucusuz kaynak grubu satın alın ve kullanın. Daha fazla bilgi için Sunucusuz kaynak grubu kullanma konusuna bakın.

—

Language

Programlama dili. Spark on MaxCompute işinizi geliştirdiğiniz dile göre Python seçeneğini belirleyin.

—

Main Python Resource

İş için ana Python kaynak dosyasını belirtir.

Kaynak dosyasının DataWorks'e yüklenmiş ve commit edilmiş olması gerekir. Daha fazla bilgi için Kaynak Yönetimi konusuna bakın.

app jar or Python file

Configuration Item

İşi göndermek için yapılandırma öğelerini belirtir. Aşağıdaki hususlara dikkat edin:

  • spark.hadoop.odps.access.id, spark.hadoop.odps.access.key ve spark.hadoop.odps.end.point parametrelerini yapılandırmanıza gerek yoktur çünkü bunlar varsayılan olarak MaxCompute projesinin değerlerini alır (ancak özel nedenlerle varsayılan değerleri geçersiz kılmak amacıyla açıkça yapılandırılabilir).

  • spark-defaults.conf dosyasını yüklemenize gerek yoktur. Bunun yerine spark-defaults.conf dosyasındaki her bir yapılandırmayı (Executor sayısı, bellek boyutu ve spark.hadoop.odps.runtime.end.point yapılandırması gibi) MaxCompute Spark düğümü ayarlarına eklemeniz gerekir.

--conf PROP=VALUE

Parameter

İhtiyaç duyduğunuz parametreleri boşlukla ayırarak ekleyebilirsiniz. DataWorks zamanlama parametrelerini destekler; bu parametrelerin Parameter alanında ${variable_name} biçiminde olması gerekir. Parametreleri yapılandırdıktan sonra sağ gezinme bölmesindeki Scheduling Settings paneline gidin ve Scheduling Parameters bölümünde her bir değişkene bir değer atayın.

Zamanlama parametre değerleri için desteklenen biçimler hakkında bilgi almak üzere Zamanlama parametrelerinin kaynakları ve ifadeleri konusuna bakın.

[app arguments]

Python Resources

Bu seçenek yalnızca geliştirme dili Python olduğunda kullanılabilir.

Kaynak dosyalarının DataWorks'e yüklenmiş ve commit edilmiş olması gerekir. Daha fazla bilgi için Kaynak Yönetimi konusuna bakın.

--py-files PY_FILES

File Resources

İş için dosya kaynaklarını belirtir.

--files FILES

Archive Resources

İş için arşiv kaynaklarını belirtir.

--archives ARCHIVES

Yordam

  1. Kaynak oluşturun.

    1. Data Studio sayfasının sol gezinme bölmesinde Resource Management seçeneğini bulun ve Create seçeneğine tıklayın. MaxCompute Spark türünde bir Python kaynağı oluşturun ve adını spark_is_number.py olarak belirleyin. Daha fazla bilgi için Kaynak Yönetimi konusuna bakın. Kod aşağıdaki gibidir:

      # -*- coding: utf-8 -*-
      import sys
      from pyspark.sql import SparkSession
      try:
          # for python 2
          reload(sys)
          sys.setdefaultencoding('utf8')
      except:
          # python 3 not needed
          pass
      if __name__ == '__main__':
          spark = SparkSession.builder\
              .appName("spark sql")\
              .config("spark.sql.broadcastTimeout", 20 * 60)\
              .config("spark.sql.crossJoin.enabled", True)\
              .config("odps.exec.dynamic.partition.mode", "nonstrict")\
              .config("spark.sql.catalogImplementation", "odps")\
              .getOrCreate()
      def is_number(s):
          try:
              float(s)
              return True
          except ValueError:
              pass
          try:
              import unicodedata
              unicodedata.numeric(s)
              return True
          except (TypeError, ValueError):
              pass
          return False
      print(is_number('foo'))
      print(is_number('1'))
      print(is_number('1.3'))
      print(is_number('-1.37'))
      print(is_number('1e3'))
    2. Kaynağı kaydedin.

  2. Oluşturulan MaxCompute Spark düğümünde düğüm parametrelerini ve zamanlama parametrelerini yapılandırın. Daha fazla bilgi için Parametreler konusuna bakın.

  3. İşi zamanlanmış olarak çalıştırmak için iş gereksinimlerinize göre zamanlama özelliklerini yapılandırın. Daha fazla bilgi için Düğüm zamanlama yapılandırması konusuna bakın.

  4. Düğüm işini yapılandırdıktan sonra düğümü dağıtın. Daha fazla bilgi için Düğümleri/iş akışlarını dağıtma konusuna bakın.

  5. İş dağıtıldıktan sonra periyodik işin çalışma durumunu görüntülemek için Operation Center'a gidebilirsiniz. Daha fazla bilgi için Operation Center'a başlarken konusuna bakın.

    Not
    • MaxCompute Spark düğümlerinin Data Studio'da bir çalıştırma giriş noktası yoktur. Spark işlerini geliştirme ortamında Operation Center üzerinden çalıştırmanız gerekir.

    • Veri geri doldurma örneği başarıyla çalıştıktan sonra sonucu görüntülemek için örnek çalıştırma günlüğündeki izleme URL'sini açın.

İlgili konular