Tüm Ürünler
Search
Belge Merkezi

DataWorks:for-each düğümünü yapılandırın

Son Güncelleme:Oct 05, 2026

DataWorks, bir atama düğümünden gelen sonuç kümesi üzerinde yineleme yapmak için for-each düğümü sağlar. for-each düğümü içindeki iş akışını da özelleştirebilirsiniz. Bu konuda, bir for-each düğümünün bir atama düğümünün çıktısı üzerinde iki kez yineleme yaptığı ve her yinelemede mevcut döngü sayısını yazdırdığı bir örnek kullanılmaktadır. Bu örnek, düğümün mantığını ve yapılandırmasını göstermektedir.

Ön koşullar

Düğümü yapılandırmadan önce hata oluşmasını önlemek amacıyla mantığını anladığınızdan emin olun. Daha fazla bilgi için bkz. for-each düğümlerinin çalışma şekli.

Yordam

for-each düğümü genellikle bir atama düğümü ile birlikte kullanılır. Genel yordam aşağıdaki gibidir.

遍历节点

  1. Düğüm bağımlılıklarını ayarlayın

    Bir for-each düğümü bir atama düğümüne bağlı olmalıdır. Yapılandırma ayrıntıları için bkz. İş akışı oluşturma ve yapılandırma.

  2. Sonuç kümesini iletin

    Atama düğümünün yerleşik Parameters çıkış parametresi outputs, for-each düğümünün Parameters giriş parametresi olarak kullanılmalıdır. Yapılandırma ayrıntıları için bkz. Atama Düğümünü Yapılandırma.

  3. Parametreleri iç düğümlerde alın

    İş gereksinimlerinize göre for-each düğümünün iç iş akışını özelleştirin. İç düğümlerde, parametre değerlerini almak ve döngü görevini çalıştırmak için yerleşik değişkenleri kullanın. Yerleşik değişkenler hakkında daha fazla bilgi için bkz. Yerleşik değişkenler. Yapılandırma ayrıntıları için bkz. for-each düğümünü yapılandırma.

İş akışı oluşturma ve yapılandırma

Üst akış düğümü olarak bir atama düğümünün, alt akış düğümü olarak ise bir for-each düğümünün bulunduğu bir iş akışı oluşturun.

  1. DataWorks konsolu adresinde oturum açın. Hedef bölgede sol gezinme bölmesinde Data Development and O&M > Data Development seçeneğine tıklayın. Açılan listeden bir çalışma alanı seçin ve Go to Data Development seçeneğine tıklayın.

  2. Zamanlanmış iş akışı oluşturma.

  3. Bir for-each düğümü oluşturun.

    1. 新建 simgesinin üzerine gelin ve Create Node > General > for-each seçeneklerine tıklayın.

      Alternatif olarak, hedef iş akışını bulun, General öğesine sağ tıklayın ve Create Node > for-each seçeneklerini seçin.

    2. Create Node iletişim kutusunda düğüm adını ve yolunu belirtin.

    3. OK seçeneğine tıklayın.

  4. Bir atama düğümü oluşturun.

    1. İş akışını çift tıklayarak yapılandırma sayfasını açın. New Node seçeneğine tıklayın ve General > Assignment Node öğesini sağ taraftaki tuvale sürükleyin.

      Atama düğümleri hakkında daha fazla bilgi için bkz. Atama düğümü.

    2. Create Node iletişim kutusunda düğüm adını ve yolunu belirtin. Varsayılan olarak düğüm geçerli iş akışı dizininde oluşturulur.

    3. OK seçeneğine tıklayın.

  5. Bağımlılığı ayarlamak için atama düğümünden for-each düğümüne bir çizgi sürükleyin.

Atama düğümünü yapılandırma

  1. Yapılandırma sayfasını açmak için atama düğümünü çift tıklayın.

  2. Language açılan listesinden Shell seçeneğini belirleyin.

  3. Düğüm yapılandırma sayfasında aşağıdaki ifadeyi girin:

    echo 'this is name,ok';
  4. Sağ bölmede Scheduling seçeneğine tıklayın. Input and Output Parameters > Output Parameters

  5. Araç çubuğundaki 保存 Kaydet simgesine tıklayın.

  6. Araç çubuğundaki 提交 Gönder simgesine tıklayın.

    Submission iletişim kutusunda bir Change Description girin ve kod incelemesi isteyip istemediğinizi seçin.

    Önemli
    • Düğümü gönderebilmeniz için öncelikle düğümün Rerun attribute ve Parent Nodes özelliklerini ayarlamanız gerekir.

    • Kod incelemesi, kod kalitesini kontrol etmeye ve hatalı kodun incelenmeden üretim ortamına dağıtılmasından kaynaklanan hataları önlemeye yardımcı olur. Kod incelemeyi etkinleştirirseniz düğüm yalnızca inceleyenler onayladıktan sonra dağıtılabilir. Daha fazla bilgi için bkz. Kod incelemesi.

    Çalışma alanınız standart moddaysa, düğümü gönderdikten sonra görevi üretim ortamına dağıtmak için düğüm yapılandırma sayfasının sağ üst köşesindeki Deploy seçeneğine tıklamanız gerekir. Daha fazla bilgi için bkz. Görevleri dağıtma.

for-each düğümünü yapılandırma

  1. Yapılandırma sayfasını açmak için for-each düğümünü çift tıklayın. Varsayılan olarak bir başlangıç düğümü, bir Shell düğümü ve bir bitiş düğümü içerir.

    Shell düğümünü başka bir düğüm türüyle değiştirebilirsiniz:

    • Bir Shell düğümü kullanmak istiyorsanız doğrudan yapılandırabilirsiniz.

    • Başka bir düğüm türü kullanmak için önce varsayılan Shell düğümünü silin ve ardından ihtiyacınız olan düğümü oluşturun.

    Bu örnekte bir Shell düğümü kullanılmaktadır.

  2. Shell düğümünü düzenleyin.

    1. Yapılandırma sayfasını açmak için Shell düğümünü çift tıklayın.

    2. Aşağıdaki kodu girin:

      echo ${dag.loopTimes} # Print the current loop count.
      Not
      • Başlangıç ve bitiş düğümlerinin mantığı sabittir ve düzenlenemez.

      • Shell düğümündeki kodu değiştirdikten sonra değişikliklerinizi kaydetmeniz gerekir. DataWorks, düğümü gönderirken değişiklikleri kaydetmeniz için sizi uyarmaz. Kaydetmezseniz değişiklikleriniz etkili olmaz.

      for-each düğümü aşağıdaki dört yerleşik değişkeni destekler:

      • ${dag.foreach.current}: Yineleme yapılan geçerli veri satırı.

      • ${dag.loopDataArray}: Giriş veri kümesi.

      • ${dag.offset}: Ofset.

      • ${dag.loopTimes}: Geçerli döngü sayısı. Değer ${dag.offset}+1 şeklindedir.

      Daha fazla bilgi için bkz. Yerleşik değişkenler ve Yerleşik değişken değerlerinin örnekleri.

  3. for-each düğümünü yapılandırın.

    1. for-each düğümünün yapılandırma sayfasında sağ bölmede Scheduling seçeneğine tıklayın.

    2. Input and Output Parameters > Input Parameters

    3. Modify açılan listesinden üst akış atama düğümünün outputs parametresini seçin ve Value Source seçeneğine tıklayın.

      Not

      Properties sekmesinde üst akış atama düğümüne bağımlılık ekledikten sonra değer kaynağını manuel olarak belirtmeniz gerekir. Aksi takdirde düğümü gönderdiğinizde hata oluşur.

  4. for-each düğümünü kaydetmek için araç çubuğundaki 保存 Kaydet simgesine tıklayın.

  5. Araç çubuğundaki 提交 Gönder simgesine tıklayın.

    Önemli

    Düğümü gönderebilmeniz için öncelikle düğümün Save ve Rerun attribute özelliklerini ayarlamanız gerekir.

    Parent Nodes iletişim kutusunda göndermek istediğiniz düğümleri seçin ve Submission seçeneğine tıklayın.

    Düğümü başarıyla gönderdikten sonra çalışma alanınız standart moddaysa sağ üst köşede Determine seçeneğine tıklayın. Daha fazla bilgi için bkz. Görevleri dağıtma.

Düğümü test etme ve sonuçları görüntüleme

  1. Sayfanın sağ üst köşesinde Deploy seçeneğine tıklayarak O&M Personnel bölümüne gidin.

  2. Soldaki gezinme bölmesinde Operation Center > Auto Triggered Task O&M seçeneğine tıklayın.

  3. Düğümü bulun. Sağdaki DAG'de atama düğümüne sağ tıklayın ve Periodic tasks > Retroactive Instance seçeneklerini seçin.

  4. Current and Descendant Nodes Retroactively sayfasını yenileyin. Veri geri doldurma örneği başarıyla çalıştıktan sonra örneğin yanındaki Data Backfill Instance seçeneğine tıklayın.

  5. Atama düğümüne sağ tıklayın ve sonucu kontrol etmek için View DAG seçeneğini belirleyin.

    Çalışma zamanı günlüğü, atama düğümünün başarıyla çalıştığını gösterir. Shell çıktısı this is name,ok şeklindedir ve sonuç ["this is name", "ok"] (iki veri kaydı) olarak ayrıştırılır. for-each düğümü bu iki kayıt üzerinde yineleme yapar.

  6. View Runtime Log sayfasında for-each düğümüne sağ tıklayın ve Data Backfill Instance seçeneğini belirleyin.

  7. İç düğümler sayfasında soldaki View Inner Nodes seçeneğine tıklayın. Ardından Shell düğümüne sağ tıklayın ve Loop 1 seçeneğini belirleyin.

    Çalışma zamanı günlüğü sayfasında ilk yineleme için Shell düğümünün günlüğünü kontrol edin. Shell çıktısı 1 şeklindedir; bu, mevcut döngü sayısıdır (${dag.loopTimes} değeri).

  8. Benzer şekilde ikinci yineleme için Shell düğümünün günlüğünü kontrol edin.

    Shell çıktısı 2 şeklindedir; bu, ikinci yinelemenin döngü sayısıdır (${dag.loopTimes} değeri 2 şeklindedir). Bu durum, for-each düğümünün atama sonuç kümesindeki iki veri kaydı üzerinde başarıyla yineleme yaptığını doğrular.