Tüm Ürünler
Search
Belge Merkezi

DataWorks:Shell düğümü

Son Güncelleme:Oct 05, 2026

DataWorks shell düğümü veri mühendisleri içindir. Etkileşimli olmayan standart kabuk betiklerini çalıştırır ve Object Storage Service (OSS) dosya işleme ile araç çağırma gibi otomasyon görevleri için idealdir. Düğüm, ossutil aracını yerleşik olarak destekler; yapılandırma dosyaları veya komut satırı parametreleri aracılığıyla OSS'e güvenli erişim sağlar. Ayrıca üretim düzeyindeki zamanlama ve bakım gereksinimlerini karşılamak üzere zamanlama parametresi enjeksiyonu, kaynak başvuruları ve özel görüntüler kullanılarak çalışma zamanı ortamının genişletilmesini destekler.

İzinler

Düğüm geliştirmede kullanılan RAM hesabını hedef çalışma alanına ekleyin ve bu hesaba geliştirici veya çalışma alanı yöneticisi rolünü atayın. Ayrıntılar için bkz. Çalışma alanına üye ekleme.

Veri işleme düğümü türleri

DataWorks çeşitli veri işleme düğümü türleri sunar. Büyük ölçekli veri temizleme görevlerini gerçekleştirmek için iş senaryonuzda uygun olan bir düğümü seçebilirsiniz. Seçenekleriniz yalnızca kabuk betikleri ile sınırlı değildir.

  • Toplu eşitleme düğümü: Büyük ölçekli veri geçişi ve dönüşümü için uygundur; farklı veri kaynakları arasında toplu veri eşitlemeyi destekler.

  • MaxCompute SQL düğümü: Dev veri kümeleri üzerinde SQL tabanlı ETL işlemleri için uygundur ve dağıtık hesaplamayı destekler.

  • Shell düğümü (bu konu): Harici araçları çağırmak veya özel betik mantığını yürütmek için uygundur.

  • Bir for-each düğümü ile birlikte Atama düğümü: Döngüler içinde toplu işlem yapma senaryoları için uygundur. Bir veri kümesi üzerinden yineleme yaparak her öğe üzerinde işlemler gerçekleştirebilir.

Kullanım notları

  1. Söz dizimi sınırlamaları

    • Standart kabuk söz dizimi desteklenir. Etkileşimli söz dizimi desteklenmez.

  2. Çalışma zamanı ortamı ve ağ erişimi

    • Bir shell düğümü, sunucusuz kaynak grubunda (önerilen) veya zamanlama için ayrılmış kaynak grubunda (eski sürümler) çalışabilir. Sunucusuz kaynak grubu satın alma ve kullanma hakkında bilgi için bkz. Sunucusuz kaynak gruplarını kullanma.

    • Shell düğümü sunucusuz bir kaynak grubunda çalışırken, hedefte bir izin listesi yapılandırılmışsa sunucusuz kaynak grubunun IP adresini veya CIDR bloğunu izin listesine eklemeniz gerekir.

    • Sunucusuz kaynak grubu kullanırken tek bir görev en fazla 64CU yapılandırmasını destekler. Görev başlatmayı etkileyebilecek kaynak yetersizliklerini önlemek için 16CU değerini aşmamanızı öneririz.

  3. Geliştirme ortamını genişletme

    • Göreviniz belirli bir geliştirme ortamı gerektiriyorsa DataWorks'teki özel görüntü özelliğini kullanarak ihtiyacınıza uygun bir ortam oluşturun. Daha fazla bilgi için bkz. Özel görüntü.

  4. Kaynaklar ve çoklu betik çağrıları

    • Bir shell düğümünde çok sayıda alt süreç başlatmaktan kaçının. Shell düğümlerinde şu anda kaynak sınırı bulunmadığından, çok sayıda alt süreç aynı zamanlama kaynak grubunda çalışan diğer görevleri etkileyebilir.

    • Görev kodu boyutu 128 KB'yi aşamaz.

Hızlı başlangıç

Aşağıdaki örnek, "Hello DataWorks!" çıktısı veren bir shell düğümünün oluşturulması, hata ayıklaması, yapılandırılması ve dağıtılmasının tüm sürecini adım adım gösterir.

Düğüm geliştirme

  1. DataWorks konsolu üzerinde oturum açın. Hedef bölgeye geçtikten sonra sol gezinme bölmesinden Data Development and O&M > Data Development seçeneğine tıklayın. Açılan listeden hedef çalışma alanını seçin ve ardından Go to DataStudio seçeneğine tıklayın.

  2. Create simgesinin üzerine gelin ve Create Node > General > Shell seçeneklerini tıklayın. Create Node iletişim kutusunda düğüm adını ve yolunu girin.

  3. Betik düzenleyiciye standart kabuk kodunu girin (etkileşimli söz dizimi desteklenmez):

    echo "Hello DataWorks!"
  4. Kodu tamamladıktan sonra image simgesine tıklayın, hedef kaynak grubunu ve görüntüyü seçin ve shell düğümü görevini çalıştırın.

  5. Betik hata ayıklamadan başarıyla geçtiğinde, sağ taraftaki Scheduling Settings seçeneğine tıklayarak zamanlama saati ve kaynak özellikleri gibi üretim düzeyi zamanlama ilkelerini yapılandırın. Bu sayede düğüm planlandığı şekilde periyodik olarak çalışır. Düğüm zamanlama özelliklerini yapılandırma hakkında daha fazla bilgi için bkz. Zamanlama ayarlarını yapılandırma.

Düğümleri dağıtma ve yönetme

  1. Zamanlama özelliklerini yapılandırdıktan sonra düğümü geliştirme ortamına gönderebilir ve ardından periyodik zamanlama için dağıtabilirsiniz.

  2. Düğüm dağıtıldıktan sonra görev, yapılandırdığınız zamanlamaya göre periyodik olarak çalışır. Sol üst köşedeki image simgesine tıklayın ve ardından görünen gezinme sayfasında All Products > Data Development and O&M > Operation Center seçeneğini belirleyerek Operation Center'a gidin. Ardından sol menüden Task O&M > Auto Triggered Task O&M > Periodic tasks yolunu izleyerek dağıtılan zamanlanmış görevleri görüntüleyin. Daha fazla bilgi için bkz. Zamanlanmış görevleri yönetme.

Gelişmiş kullanım

Kaynaklara başvurma

  1. DataWorks, shell düğümlerinde kullanılmak üzere kaynak yönetim aracılığıyla kaynakların DataWorks'e yüklenmesine olanak tanır. Daha fazla bilgi için bkz. Kaynakları yönetme.

    Not

    Bir kaynağa bir düğüm tarafından başvurulabilmesi için önce kaynağın gönderilmesi gerekir. Kaynak bir üretim görevi tarafından gerekiyorsa kaynağı üretim ortamına da dağıtmanız gerekir. Daha fazla bilgi için bkz. Düğümleri dağıtma.

  2. Data Studio'nun sol dizin ağacında yüklenen kaynağı bulun.

  3. Kaynağa sağ tıklayın ve Insert Resource Path seçeneğini belirleyin. Böylece kaynak geçerli düğüme başvurulur. Kaynağı çalıştırmak için düğüm düzenleme sayfasında kod yazabilirsiniz.

    Not

    Başvuru başarılı olduğunda sistem, betiğin en üstüne ##@resource_reference{resource_name} biçiminde bir bildirim yorumu otomatik olarak ekler.

    Bu yorum, DataWorks'ün kaynak bağımlılıklarını tanıması ve ilgili kaynağı çalışma zamanında yürütme ortamına otomatik olarak bağlaması için gerekli bir tanımlayıcıdır. Bu yorumu manuel olarak değiştirmeyin veya silmeyin.

Zamanlama parametrelerini kullanma

Zamanlama parametreleri, shell düğümlerine konumsal parametreler olarak enjekte edilir. Özel değişken adları desteklenmez. DataWorks, bir düğümün Scheduling Settings bölümünde yapılandırdığınız zamanlama parametresi değerlerini kabuk betiğine sırasıyla $1, $2, $3 gibi konumsal parametreler olarak iletir. 9'dan fazla parametre kullanıldığında doğru ayrıştırma sağlamak için ${10} ve ${11} gibi süslü parantez sözdizimini kullanın. Birden fazla parametre değeri boşluk karakteriyle ayrılmalı ve sıra, betikteki konumsal başvurularla kesinlikle eşleşmelidir.

Bu örnekte:

  • Yerleşik parametre $1, iş tarihine atanır: $bizdate.

  • Özel parametre $2, iş tarihine atanır: ${yyyymmdd}.

  • Özel parametre $3, iş tarihine atanır: $[yyyymmdd].

Not
  • Bir parametre değeri boşluk içeriyorsa değeri tırnak işaretleri içine alın. Tırnak işaretleri arasındaki tüm içerik tek bir parametre olarak kabul edilir.

  • Zamanlama parametrelerini yapılandırma ve kullanma hakkında daha fazla bilgi için bkz. Zamanlama parametrelerini yapılandırma.

ossutil kullanarak OSS'e erişme

DataWorks shell düğümü, Alibaba Cloud OSS komut satırı aracı ossutil öğesini yerel olarak destekler. Bu araç paket yönetimi, dosya yükleme ve indirme, toplu işlemler ve diğer görevlere olanak tanır. ossutil kullanarak OSS'e erişmek için erişim kimlik bilgilerini bir yapılandırma dosyası veya komut satırı parametreleri aracılığıyla yapılandırabilirsiniz.

Ek: Betik çıkış kodları

Bir betiğin başarıyla çalışıp çalışmadığını daha kesin bir şekilde belirlemek için betik çıkış kodlarını kullanabilirsiniz.

  • Çıkış kodu 0: Başarıyı gösterir.

  • Çıkış kodu -1: Sürecin sonlandırıldığını gösterir.

  • Çıkış kodu 2: Platformun görevi otomatik olarak bir kez yeniden çalıştırması gerektiğini gösterir.

  • Diğer çıkış kodları: Başarısızlığı gösterir.

Aşağıda, shell düğümünün başarıyla çalıştığı durumdaki (çıkış kodu 0) örnek bir çalışma zamanı günlüğü verilmiştir.

INFO Exit code of the Shell command 0 INFO --- Invocation of Shell command completed --- INFO Shell run successfully!

Not

Altta yatan kabuk mekanizması nedeniyle, bir shell düğümündeki tüm betiğin çıkış kodu, son yürütülen komutun çıkış koduna eşittir.

Başvuru

Bir shell düğümünde Python betiklerini çalıştırmak için Python 2 veya Python 3 komutlarının nasıl kullanılacağını öğrenmek için bkz. Shell düğümünde Python betiklerini çalıştırma.