Tüm Ürünler
Search
Belge Merkezi

DataWorks:EMR Spark SQL düğümü

Son Güncelleme:Oct 05, 2026

Çalıştırma verimliliğini artırmak amacıyla yapılandırılmış verileri dağıtık bir SQL sorgu motoruyla işlemek için bir E-MapReduce (EMR) Spark SQL düğümü oluşturun.

Önkoşullar

  • Düğüm geliştirmeye başlamadan önce, özel bir bileşen ortamına ihtiyacınız varsa resmi dataworks_emr_base_task_pod görüntüsünü temel alarak özel bir görüntü oluşturun ve bunu Data Studio'da kullanın. Daha fazla bilgi için bkz. Özel görüntü oluşturma ve Veri geliştirmede görüntüleri kullanma.

    Örneğin, özel bir görüntü oluştururken Spark JAR paketlerini değiştirebilir veya belirli libraries, files ya da JAR packages bağımlılıkları ekleyebilirsiniz.

  • Bir Alibaba Cloud EMR kümesi oluşturun ve bunu DataWorks ile kaydedin. Daha fazla bilgi için bkz. Yeni Data Studio: EMR hesaplama kaynağını ekleme.

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

    Kök hesap kullanıyorsanız bu adımı atlayın.
  • Göreviniz için belirli bir geliştirme ortamı oluşturmak üzere bir Custom image özel görüntüsü kullanabilirsiniz.

Sınırlamalar

  • EMR Shell düğümleri yalnızca bir serverless kaynak grubu (önerilen) veya zamanlama için ayrılmış bir kaynak grubunda çalıştırılabilir. Veri geliştirmede özel görüntü kullanmak için serverless resource group gereklidir.

  • DataWorks'te bir DataLake veya özel kümenin meta verilerini yönetmek için öncelikle kümede EMR-HOOK'u yapılandırmanız gerekir. Daha fazla bilgi için bkz. Spark SQL için EMR-HOOK yapılandırma.

    Not

    Kümede EMR-HOOK yapılandırılmamışsa DataWorks'te gerçek zamanlı meta verileri görüntüleyemez, denetim günlükleri oluşturamaz, veri soyunu görüntüleyemez veya EMR ile ilgili yönetişim görevlerini yürütemezsiniz.

  • ACK üzerinde EMR Spark kümeleri veri soyunun görüntülenmesini desteklemez. EMR Serverless Spark kümeleri veri soyunun görüntülenmesini destekler.

  • Kullanıcı arayüzü üzerinden işlev kaydı DataLake ve özel kümelerde desteklenir ancak ACK üzerinde EMR Spark veya EMR Serverless Spark kümelerinde desteklenmez.

Notlar

Mevcut çalışma alanıyla ilişkili EMR kümesinde Spark için Ranger erişim kontrolünü etkinleştirdiyseniz:

  • Varsayılan görüntüyü kullanan Spark görevleri bu özelliği otomatik olarak destekler.

  • Özel bir görüntüyle Spark görevi çalıştırmak için teknik desteğe destek talebi gönderin ve görüntü yükseltmesi talep edin.

Yordam

  1. EMR Spark SQL düğümü yapılandırma sekmesinde aşağıdaki geliştirme işlemlerini gerçekleştirin.

    SQL kodu geliştirme

    SQL düzenleyicisinde görev kodunuzu yazın. Değişkenleri ${değişken_adı} biçimini kullanarak tanımlayın ve değerlerini düğüm yapılandırma sekmesinin sağ tarafındaki Scheduling Settings > Scheduling Parameters bölümünde atayarak zamanlanmış görevlere parametreleri dinamik olarak iletin. Daha fazla bilgi için bkz. Zamanlama parametrelerinin kaynakları ve ifadeleri. Örnek:

    SHOW TABLES; -- ${var} kullanarak var adında bir değişken tanımlayın. Bu değişkeni ${yyyymmdd} olarak ayarlarsanız, iş tarihi son ekine sahip bir tablo oluşturabilirsiniz. CREATE TABLE IF NOT EXISTS userinfo_new_${var} ( ip STRING COMMENT'IP address', uid STRING COMMENT'User ID' )PARTITIONED BY( dt STRING ); -- Zamanlama parametreleriyle birlikte kullanılabilir.

    (İsteğe bağlı) EMR düğüm parametrelerini yapılandırma

    Run Configuration bölmesinin EMR Node Parameters bölümünde aşağıdaki parametreleri yapılandırın:

    • Spark parameter: Spark yerleşik özellik parametreleri. Daha fazla bilgi için bkz. açık kaynak Spark yapılandırması. Yapılandırmayı basitleştirmek ve tutarlılığı sağlamak amacıyla doğrudan Serverless Spark'tan bir Spark yapılandırma şablonu yükleyebilirsiniz.

    • DataWorks parameters: Kullanılabilir gelişmiş parametreler, aşağıdaki tabloda açıklandığı gibi EMR küme türüne göre değişir.

    DataLake kümesi/Özel küme: ECS üzerinde EMR

    Gelişmiş parametre

    Açıklama

    queue

    Görev gönderimi için zamanlama kuyruğu. Varsayılan değer default'tur. EMR YARN hakkında daha fazla bilgi için bkz. Temel kuyruk yapılandırmaları.

    priority

    Öncelik. Varsayılan değer: 1.

    FLOW_SKIP_SQL_ANALYZE

    SQL deyimi yürütme modu. Geçerli değerler:

    • true: Birden çok SQL deyimi aynı anda yürütülür.

    • false (varsayılan): Tek bir SQL deyimi aynı anda yürütülür.

    Not

    Bu parametre yalnızca veri geliştirme ortamındaki test çalıştırmaları için desteklenir.

    ENABLE_SPARKSQL_JDBC

    SQL kodunun gönderilme yöntemi. Geçerli değerler:

    • true: SQL kodu JDBC üzerinden gönderilir. EMR kümesinde Kyuubi hizmeti yoksa SQL kodu Spark Thrift-Server'a gönderilir. EMR kümesinde Kyuubi hizmeti varsa SQL kodu JDBC aracılığıyla Kyuubi'ye gönderilir ve özel Spark parametreleri desteklenir.

      Her iki yöntem de meta veri soyunu destekler. Ancak Thrift-Server'a gönderilen görevlerde, meta verideki ilgili düğüm görevleri için çıkış bilgisi eksiktir.

    • false (varsayılan): SQL kodu Spark-submit küme yöntemi kullanılarak gönderilir. Bu modda hem Spark2 hem de Spark3 meta veri soyunu ve çıkış bilgilerini destekler. Özel Spark parametreleri de desteklenir.

      Not
      • Spark-submit küme yöntemi, varsayılan olarak EMR kümesinin HDFS'sindeki /tmp dizininde geçici dosyalar ve dizinler oluşturur. Dizinin okuma ve yazma izinlerine sahip olduğundan emin olun.

      • Spark-submit küme yöntemini kullanırken, gelişmiş yapılandırmalara doğrudan özel SparkConf parametreleri ekleyebilirsiniz. DataWorks, kodu gönderirken yeni parametreleri komuta otomatik olarak ekler. Örnek: "spark.driver.memory" : "2g".

    DATAWORKS_SESSION_DISABLE

    Bu parametre geliştirme ortamındaki test çalıştırmaları için geçerlidir. Geçerli değerler:

    • true: Her SQL deyimi çalıştırıldığında yeni bir JDBC bağlantısı oluşturulur.

    • false (varsayılan): Tek bir düğüm içinde farklı SQL deyimleri çalıştırılırken aynı JDBC bağlantısı yeniden kullanılır.

    Not

    Bu parametre false olarak ayarlandığında Hive yarn applicationId yazdırılmaz. yarn applicationId değerini yazdırmak için bu parametreyi true olarak ayarlayın.

    Others

    Özel Spark Configuration parametreleri. Spark'a özel özellik parametreleri ekleyin.

    Yapılandırma biçimi: "spark.eventLog.enabled" : false, "spark.eventLog.memory" : "12g". DataWorks, parametreleri EMR kümesine gönderilen koda otomatik olarak --conf key=value biçiminde ekler. Parametre yapılandırmaları hakkında daha fazla bilgi için bkz. Genel Spark parametrelerini yapılandırma.

    Not
    • DataWorks, her DataWorks modülü için çalışma alanı düzeyinde genel Spark parametrelerini yapılandırmanıza olanak tanır. Genel Spark parametrelerinin önceliğinin belirli bir modül içinde yapılandırılan Spark parametrelerinden daha yüksek olup olmadığını belirtebilirsiniz.

    • Ranger erişim kontrolünü etkinleştirmek için, Ranger erişim kontrolünün etkili olmasını sağlamak üzere genel Spark parametre yapılandırmalarına spark.hadoop.fs.oss.authorization.method=ranger ekleyin.

    EMR Serverless Spark kümesi

    İlgili parametre ayarları için bkz. Spark görevi parametre ayarları.

    Gelişmiş parametre

    Açıklama

    FLOW_SKIP_SQL_ANALYZE

    SQL deyimi yürütme modu. Geçerli değerler:

    • true: Birden çok SQL deyimi aynı anda yürütülür.

    • false (varsayılan): Tek bir SQL deyimi aynı anda yürütülür.

    Not

    Bu parametre yalnızca veri geliştirme ortamındaki test çalıştırmaları için desteklenir.

    DATAWORKS_SESSION_DISABLE

    Görev gönderme yöntemi. Veri geliştirme sırasında görevler varsayılan olarak yürütme için SQL Compute'a gönderilir. Görevin SQL Compute üzerinden mi yoksa yürütme için bir kuyruğa mı gönderileceğini belirtmek için bu parametreyi kullanabilirsiniz.

    • true: Görev yürütme için bir kuyruğa gönderilir. Varsayılan olarak, hesaplama kaynağı ilişkilendirilirken belirtilen varsayılan kuyruk kullanılır. DATAWORKS_SESSION_DISABLE true olarak ayarlandığında, veri geliştirme sırasında görevlerin gönderileceği kuyruğu belirtmek için SERVERLESS_QUEUE_NAME parametresini yapılandırabilirsiniz.

    • false (varsayılan): Görev yürütme için SQL Compute'a gönderilir.

      Not

      Bu parametre yalnızca veri geliştirme yürütmesi sırasında etkilidir, zamanlanmış çalıştırmalar sırasında değil.

    SERVERLESS_RELEASE_VERSION

    Spark motor sürümü. Varsayılan olarak, Management Center altındaki Compute Resource bölümündeki küme ayarlarında yapılandırılan Default Engine Version kullanılır. Belirli bir görev için farklı bir motor sürümü ayarlamak üzere bu parametreyi yapılandırın.

    Not

    Gelişmiş yapılandırmalardaki SERVERLESS_RELEASE_VERSION parametresi yalnızca kayıtlı küme için belirtilen SQL Compute (oturum) EMR Serverless Spark konsolunda durdurulmuş durumdayken etkili olur.

    SERVERLESS_QUEUE_NAME

    Görevlerin gönderildiği kaynak kuyruğu. Bir görev yürütme için bir kuyruğa gönderilmek üzere yapılandırıldığında, varsayılan olarak Management Center altındaki Clusters bölümündeki küme ayarlarında yapılandırılan Default Resource Queue kullanılır. Kaynak yalıtımı ve yönetimi gereksinimleriniz varsa kuyruklar ekleyebilirsiniz. Daha fazla bilgi için bkz. Kaynak kuyruklarını yönetme.

    Yapılandırma yöntemleri:

    • Düğüm parametrelerini yapılandırarak görev gönderimi için kaynak kuyruğunu belirtin.

    • Genel Spark parametrelerini yapılandırarak görev gönderimi için kaynak kuyruğunu belirtin.

    Not
    • Gelişmiş yapılandırmalardaki SERVERLESS_QUEUE_NAME parametresi yalnızca kayıtlı küme için belirtilen SQL Compute (oturum) EMR Serverless Spark konsolunda durdurulmuş durumdayken etkili olur.

    • Veri geliştirme yürütmesi sırasında: Görevlerin yürütme için bir kuyruğa gönderilmesi amacıyla önce DATAWORKS_SESSION_DISABLE değerini true olarak ayarlamanız gerekir. Ancak bu durumda görev kuyruğunu belirtmek için SERVERLESS_QUEUE_NAME parametresi etkili olur.

    • Operation Center zamanlanmış yürütmesi sırasında: Görevler zorunlu olarak yürütme için bir kuyruğa gönderilir ve SQL Compute'a gönderilemez.

    SERVERLESS_SQL_COMPUTE

    Kullanılacak SQL Compute (SQL oturumu). Varsayılan olarak, Management Center altındaki Compute Resource bölümündeki küme ayarlarında yapılandırılan Default SQL Compute kullanılır. Belirli bir görev için farklı bir SQL oturumu ayarlamak üzere bu parametreyi yapılandırın. SQL oturumlarını oluşturma ve yönetme hakkında bilgi için bkz. SQL Compute oturumlarını yönetme.

    Others

    Özel Spark Configuration parametreleri. Spark'a özel özellik parametreleri ekleyin.

    Yapılandırma biçimi: "spark.eventLog.enabled": false. DataWorks, parametreleri EMR kümesine gönderilen koda otomatik olarak --conf key=value biçiminde ekler.

    Not

    DataWorks, her DataWorks modülü için çalışma alanı düzeyinde genel Spark parametrelerini yapılandırmanıza olanak tanır. Genel Spark parametrelerinin önceliğinin belirli bir modül içinde yapılandırılan Spark parametrelerinden daha yüksek olup olmadığını belirtebilirsiniz. Genel Spark parametrelerini yapılandırma hakkında daha fazla bilgi için bkz. Genel Spark parametrelerini yapılandırma.

    Spark kümesi: ACK üzerinde EMR

    Gelişmiş parametre

    Açıklama

    FLOW_SKIP_SQL_ANALYZE

    SQL deyimi yürütme modu. Geçerli değerler:

    • true: Birden çok SQL deyimi aynı anda yürütülür.

    • false (varsayılan): Tek bir SQL deyimi aynı anda yürütülür.

    Not

    Bu parametre yalnızca veri geliştirme ortamındaki test çalıştırmaları için desteklenir.

    Others

    Özel Spark Configuration parametreleri. Spark'a özel özellik parametreleri ekleyin.

    Yapılandırma biçimi: "spark.eventLog.enabled": false. DataWorks, parametreleri EMR kümesine gönderilen koda otomatik olarak --conf key=value biçiminde ekler.

    Not

    DataWorks, her DataWorks modülü için çalışma alanı düzeyinde genel Spark parametrelerini yapılandırmanıza olanak tanır. Genel Spark parametrelerinin önceliğinin belirli bir modül içinde yapılandırılan Spark parametrelerinden daha yüksek olup olmadığını belirtebilirsiniz. Genel Spark parametrelerini yapılandırma hakkında daha fazla bilgi için bkz. Genel Spark parametrelerini yapılandırma.

    Hadoop kümesi: ECS üzerinde EMR

    Gelişmiş parametre

    Açıklama

    queue

    Görev gönderimi için zamanlama kuyruğu. Varsayılan değer default'tur. EMR YARN hakkında daha fazla bilgi için bkz. Temel kuyruk yapılandırmaları.

    priority

    Öncelik. Varsayılan değer: 1.

    FLOW_SKIP_SQL_ANALYZE

    SQL deyimi yürütme modu. Geçerli değerler:

    • true: Birden çok SQL deyimi aynı anda yürütülür.

    • false (varsayılan): Tek bir SQL deyimi aynı anda yürütülür.

    Not

    Bu parametre yalnızca veri geliştirme ortamındaki test çalıştırmaları için desteklenir.

    USE_GATEWAY

    Görevlerin Gateway kümesi üzerinden gönderilip gönderilmeyeceğini belirtir. Geçerli değerler:

    • true: Görevler Gateway kümesi üzerinden gönderilir.

    • false (varsayılan): Görevler Gateway kümesi üzerinden gönderilmez. Bunun yerine görevler varsayılan olarak başlık düğümüne gönderilir.

    Not

    Mevcut düğümün kümesi bir Gateway kümesiyle ilişkilendirilmemişse bu parametreyi manuel olarak true olarak ayarlamak, sonraki EMR görev gönderimlerinin başarısız olmasına neden olur.

    Others

    Özel Spark Configuration parametreleri. Spark'a özel özellik parametreleri ekleyin.

    Yapılandırma biçimi: "spark.eventLog.enabled": false. DataWorks, parametreleri EMR kümesine gönderilen koda otomatik olarak --conf key=value biçiminde ekler. Parametre yapılandırmaları hakkında daha fazla bilgi için bkz. Genel Spark parametrelerini yapılandırma.

    Not
    • DataWorks, her DataWorks modülü için çalışma alanı düzeyinde genel Spark parametrelerini yapılandırmanıza olanak tanır. Genel Spark parametrelerinin önceliğinin belirli bir modül içinde yapılandırılan Spark parametrelerinden daha yüksek olup olmadığını belirtebilirsiniz.

    • Ranger erişim kontrolünü etkinleştirmek için, Ranger erişim kontrolünün etkili olmasını sağlamak üzere genel Spark parametre yapılandırmalarına spark.hadoop.fs.oss.authorization.method=ranger ekleyin.

    SQL görevi çalıştırma

    1. Run Configuration bölümünde Compute Resource ve Resource Group öğelerini seçin ve yapılandırın.

      Not
      • Görev yürütmesi için gereken kaynaklara göre CUs for Scheduling değerini de yapılandırabilirsiniz. Varsayılan CU değeri 0.25 şeklindedir.

      • Veri kaynaklarına İnternet veya VPC üzerinden erişmek için veri kaynağıyla bağlantı testinden geçmiş bir zamanlama kaynak grubu kullanın. Daha fazla bilgi için bkz. Ağ bağlantısını yapılandırma.

    2. Araç çubuğu parametre iletişim kutusunda ilgili veri kaynağını seçin ve SQL görevini çalıştırmak için Run öğesini tıklayın.

    (İsteğe bağlı) Atama parametrelerini yapılandırma

    Bu düğümün sorgu sonuçlarını aşağı akış düğümlere iletmek için sağ taraftaki Scheduling Settings bölmesindeki Node Context Parameters bölümüne gidin ve Add Assignment Parameter öğesini tıklayın. Sistem, outputs adlı bir çıkış parametresi otomatik olarak ekler. Bu parametrenin değeri, bu düğümdeki son kod satırının sorgu sonucudur. Daha fazla bilgi için bkz. Düğüm bağlam parametrelerini kullanma.

  2. Düğüm görevini periyodik olarak çalıştırmak için iş gereksinimlerinize göre zamanlama bilgilerini yapılandırın. Daha fazla bilgi için bkz. Zamanlama ayarlarını yapılandırma.

    Not

    Bileşen ortamını özelleştirmeniz gerekiyorsa resmi dataworks_emr_base_task_pod görüntüsünü temel alarak bir özel görüntü oluşturabilir ve bu görüntüyü Veri Geliştirme'de kullanabilirsiniz.

    Örneğin, özel bir görüntü oluştururken Spark JAR paketlerini değiştirebilir veya belirli libraries, files ya da JAR packages bağımlılıkları ekleyebilirsiniz.

  3. Düğüm görevi yapılandırıldıktan sonra düğümü dağıtmanız gerekir. Daha fazla bilgi için bkz. Düğüm dağıtma.

  4. Görev dağıtıldıktan sonra Operation Center'da zamanlanmış görevlerin çalışma durumunu görüntüleyebilirsiniz. Daha fazla bilgi için bkz. Zamanlanmış görevleri görüntüleme.

SSS