Tüm Ürünler
Search
Belge Merkezi

DataWorks:Configure batch synchronization tasks with the Code Editor

Son Güncelleme:Oct 12, 2026

Code Editor kullanarak veri senkronizasyonu için bir JSON betiği yazabilir ve DataWorks zamanlama parametrelerini kullanarak tek bir kaynak tablodan veya parçalara ayrılmış (sharded) tablolardan hedef tabloya tam veya artımlı verileri periyodik olarak senkronize edebilirsiniz. Yapılandırmalar veri kaynağına göre değişiklik gösterir. Ayrıntılar için veri kaynakları listesi konusuna bakın.

Kullanım notları

Code Editor'ü aşağıdaki senaryolarda kullanın:

  • Veri kaynağı sihirbaz modunda yapılandırmayı desteklemiyor.

    Not

    Kullanıcı arayüzü, bir veri kaynağının sihirbaz modunu destekleyip desteklemediğini gösterir.

    Örneğin, hedef veri kaynağı olarak HBase11xsql seçerseniz ağ ve kaynak yapılandırma sayfasında sarı renkli bir uyarı iletisi görüntülenir: "Geçerli veri kaynağı türü, sihirbaz modunda görev düzenlemeyi desteklememektedir. Görev betik modunda yapılandırılacaktır." Bu durumda, araç çubuğundaki Code Editor düğmesine tıklayarak modları değiştirin ve görevi yapılandırın.

  • Bazı veri kaynaklarının yapılandırma parametreleri yalnızca Code Editor'de kullanılabilir.

  • DataWorks'te doğrudan oluşturulamayan bazı veri kaynaklarını yapılandırmak için Code Editor'ü kullanabilirsiniz.

Ön koşullar

Adım 1: Toplu senkronizasyon düğümü oluşturma

Data Studio (yeni sürüm)

  1. DataWorks konsolu üzerinde oturum açın. Sol gezinme bölmesinde Data Development and O&M > DataStudio seçeneklerini belirleyin. Açılan listeden istediğiniz çalışma alanını seçin ve <p><a href={url} target="_blank">Learn more.</a></p>Data Studio seçeneğine tıklayın.

  2. Bir iş akışı oluşturun. Daha fazla bilgi için İş Akışları konusuna bakın.

  3. Aşağıdaki yöntemlerden birini kullanarak bir Veri Entegrasyonu düğümü oluşturun:

    • Yöntem 1: İş akışı listesinin sağ üst köşesindeki image simgesine tıklayın ve ardından Create Node > Data Integration seçeneklerini belirleyin.

    • Yöntem 2: İş akışı adına çift tıklayın ve ardından Data Integration dizininden Data Integration düğümünü sağ taraftaki iş akışı düzenleme paneline sürükleyin.

  4. Düğüm için kaynak ve hedef türlerini yapılandırın, belirli tür olarak Single Table Batch Sync seçeneğini belirleyin ve oluşturmayı tamamlamak için OK seçeneğine tıklayın.

Eski Data Studio

  1. DataWorks konsolu üzerinde oturum açın. Sol gezinme bölmesinde Data Development and O&M > DataStudio seçeneklerini belirleyin. Açılan listeden istediğiniz çalışma alanını seçin ve Data Analytics seçeneğine tıklayın.

  2. Bir iş akışı oluşturun. Daha fazla bilgi için İş akışı oluşturma konusuna bakın.

  3. Aşağıdaki yöntemlerden birini kullanarak bir toplu senkronizasyon düğümü oluşturun:

    • Yöntem 1: İş akışını genişletin, Data Integration > Create Node > Batch Synchronization seçeneklerine sağ tıklayın.

    • Yöntem 2: İş akışı adına çift tıklayın ve ardından Data Integration dizininden Batch Synchronization düğümünü sağ taraftaki iş akışı düzenleme paneline sürükleyin.

  4. Ekran talimatlarını izleyerek bir toplu senkronizasyon düğümü oluşturun.

Adım 2: Veri kaynağını ve kaynak grubunu yapılandırma

Sihirbaz modundan betik moduna herhangi bir adımda geçiş yapabilirsiniz. Tam bir betik yapılandırması için aşağıdaki yaklaşımı öneririz:

  1. Öncelikle sihirbazı kullanarak veri kaynağını ve kaynak grubunu seçin ve ağ bağlantısını test edin.

  2. Ardından betik moduna geçin.

Sistem, oluşturulan JSON betiğini veri kaynakları, tablolar ve alan eşlemeleri gibi bilgilerle otomatik olarak doldurur.

Alternatif olarak, doğrudan geçiş yapabilir ve ardından betik modunda ayarları manuel olarak yapılandırabilirsiniz: JSON kodunda veri kaynağını belirtin ve kaynak grubu ile gereken kaynak boyutunu sağ taraftaki Advanced Settings panelinde ayarlayın.

Not

Adım 3: Betik moduna geçiş yapma ve şablon içe aktarma

Araç çubuğundaki Betiğe Dönüştür image simgesine tıklayın.

Betik henüz yapılandırılmadıysa araç çubuğundaki Import Template simgesine tıklayarak ekran talimatlarını izleyip hızlıca bir betik şablonu içe aktarabilirsiniz.

Adım 4: Senkronizasyon görevini yapılandırmak için betiği düzenleme

Yaygın betik modu yapılandırmaları:

Not
  • Tür ve sürüm alanları varsayılan değerlerdir ve değiştirilemez.

  • Betikteki Processor ile ilgili yapılandırmayı yoksayabilirsiniz (herhangi bir yapılandırma gerekmez).

{
    "type":"job",
    "version":"2.0",
    "steps":[
        {
            "stepType":"plugin_name",
            "parameter":{...},
            "name":"Reader",
            "category":"reader"
        },
        {
            "stepType":"plugin_name",
            "parameter":{...},
            "name":"Writer",
            "category":"writer"
        }
    ],
    {
        "name":"Processor",
        "stepType":null,
        "category":"processor",
        "copies":1,
        "parameter":{...}
    },
    "setting":{
        "executeMode":null,
        "errorLimit":{
            "record":""
        },
        "speed":{
            "concurrent":2,
            "throttle":false
        },
        "timeZone":"Asia/Shanghai"
    },
    "order":{
        "hops":[
            {
                "from":"Reader",
                "to":"Writer"
            }
        ]
    }
}
  1. Okuyucu ve yazıcı için temel bilgileri ve sütun eşlemelerini yapılandırın.

    Önemli

    Yapılandırmalar eklentilere göre farklılık gösterir. Aşağıdaki içerik yalnızca örnek olarak yaygın yapılandırmaları açıklamaktadır. Bir eklentinin belirli bir yapılandırmayı destekleyip desteklemediği ve yapılandırmanın nasıl uygulandığı eklentiye bağlıdır. Ayrıntılar için veri kaynakları listesi içindeki her veri kaynağına ait Reader Script Demo ve Writer Script Demo bölümlerine bakın.

    Bu parametreleri yapılandırarak şunları yapabilirsiniz:

    • Okuyucu

      Yapılandırma

      Açıklama

      where (senkronizasyon kapsamını yapılandırma)

      Bazı kaynak türleri veri filtrelemeyi destekler. Kaynak verilerini filtrelemek için bir koşul (WHERE yan tümcesi; however where anahtar sözcüğünü dahil etmeniz gerekmez) belirtebilirsiniz. Görev çalıştırma sırasında yalnızca koşulu karşılayan veriler senkronize edilir. Daha fazla bilgi için Filtre koşulu yapılandırma konusuna bakın.

      Artımlı senkronizasyonu uygulamak için filtre koşulunu dinamik hale getirmek amacıyla zamanlama parametreleriyle birleştirebilirsiniz. Örneğin, gmt_create >= '${bizdate}' kullanarak görev her gün yalnızca yeni eklenen verileri senkronize eder. Ayrıca zamanlama ayarlarını yapılandırırken burada tanımlanan değişkene bir değer atamanız gerekir. Daha fazla bilgi için Zamanlama parametrelerini yapılandırma konusuna bakın.

      Artımlı senkronizasyon yapılandırma yöntemi farklı veri kaynaklarına (eklentilere) göre değişiklik gösterir.

      Herhangi bir veri filtreleme koşulu yapılandırılmazsa tablonun tüm verileri varsayılan olarak senkronize edilir.

      splitPk (ilişkisel veritabanları için bölme anahtarını yapılandırma)

      Paralel okuma için kaynak verilerini bölmek üzere kullanılan sütunu belirtir. Görev çalıştırma sırasında veriler bu sütuna göre birden çok göreve bölünür ve eşzamanlı toplu okuma gerçekleştirilir.

      • Birincil anahtarlar genellikle eşit dağıtıldığından veri yoğun noktalarını önlemeye yardımcı olduğu için splitPk değeri olarak birincil anahtarı kullanmanızı öneririz.

      • Şu anda splitPk yalnızca tamsayı tabanlı bölmeyi destekler. Dizeler, kayan noktalı sayılar ve tarihler gibi diğer türler desteklenmez. Desteklenmeyen bir tür belirtirseniz splitPk özelliği yoksayılır ve veriler tek bir kanal üzerinden senkronize edilir.

      • splitPk belirtilmezse (splitPk parametresi sağlanmadığında veya boş bırakıldığında) veriler tek bir kanal üzerinden senkronize edilir.

      • Tüm eklentiler bölme anahtarı yapılandırmasını desteklemez. Yukarıdaki bilgiler yalnızca bir örnektir. Ayrıntılar için belirli eklenti belgelerine bakın. Daha fazla bilgi için Desteklenen veri kaynakları ve senkronizasyon çözümleri konusuna bakın.

      column (kaynak sütunlarını tanımlama)

      Kaynaktan senkronize edilecek sütunları column dizisinde tanımlayın. Hedefe özel sütunlar olarak sabit değerler, değişkenler ve işlevler de yazabilirsiniz; örneğin '123', '${variable_name}' ve 'now()'.

    • Yazıcı


      Yapılandırma


      Açıklama


      preSql & postSql (senkronizasyon öncesi ve sonrası SQL deyimlerini yapılandırma)

      Bazı veri kaynakları senkronizasyondan önce (yazmadan önce) ve senkronizasyondan sonra (yazdıktan sonra) hedef üzerinde SQL deyimlerinin yürütülmesini destekler.

      Örnek: MySQL Writer preSql ve postSql yapılandırmasını destekler; bu sayede MySQL'e veri yazılmadan önce veya sonra MySQL komutlarını yürütebilirsiniz. Örneğin, MySQL Writer'ın Pre-import Preparation Statement (preSql) ayarında truncate table tablename MySQL truncate table komutunu yapılandırarak senkronizasyondan önce (MySQL'e veri yazmadan önce) tablodaki eski verileri temizleyebilirsiniz.


      writeMode (çakışmalar için yazma modunu tanımlama)


      Yol veya birincil anahtar çakışmaları gibi çakışmalar oluştuğunda yazma modunu belirtir. Bu durum veri kaynağına ve writer eklentisine göre değişiklik gösterir. Ayrıntılar için belirli writer eklenti belgelerine bakın.

  2. Kanal Kontrolü.

    setting bölümünde eşzamanlılık, senkronizasyon hızı ve hatalı veri işleme dahil olmak üzere verimlilik ayarlarını yapılandırabilirsiniz.

    Parametre

    Açıklama

    executeMode (dağıtılmış işleme)

    Dağıtılmış modun etkinleştirilip etkinleştirilmeyeceğini kontrol eder.

    • distribute: Dağıtılmış işlemeyi etkinleştirir. Görev, birden çok yürütme düğümüne dağıtılan dilimlere bölünür ve eşzamanlı yürütme sağlar; bu sayede senkronizasyon hızı tek düğüm sınırlarının ötesinde küme boyutuyla yatay olarak ölçeklenebilir.

    • null: Dağıtılmış işlemeyi devre dışı bırakır. Yapılandırılan eşzamanlılık yalnızca tek bir düğümdeki işlem düzeyi eşzamanlılığı için geçerlidir ve çok düğümlü hesaplama kullanılamaz.

    Önemli
    • Veri Entegrasyonu için özel kaynak grubunuzda yalnızca bir düğüm varsa dağıtılmış mod önerilmez çünkü çok düğümlü kaynaklardan yararlanamaz.

    • Tek bir düğüm hız gereksinimlerinizi karşılıyorsa basitlik açısından tek düğümlü mod önerilir.

    • Dağıtılmış işlemeyi etkinleştirmek için eşzamanlılık 8 veya daha yüksek olmalıdır.

    • Bazı veri kaynakları görev yürütme için dağıtılmış modu destekler. Ayrıntılar için belirli eklenti belgelerine bakın.

    • Dağıtılmış işlemeyi etkinleştirmek daha fazla kaynak tüketir. Yürütme sırasında bellek yetersizliği (OOM) hatası oluşursa bu seçeneği devre dışı bırakmayı deneyin.

    concurrent (maksimum beklenen eşzamanlılık)

    Kaynaktan paralel okuma veya hedefe yazma için maksimum iş parçacığı sayısını tanımlar.

    Not

    Kaynak teknik özellikleri gibi faktörler nedeniyle gerçek eşzamanlılık yapılandırılan değerden küçük veya buna eşit olabilir. Hata ayıklama kaynak grubu gerçek eşzamanlılığa göre faturalandırılır. Daha fazla bilgi için Faturalama konusuna bakın.

    throttle (senkronizasyon hızı)

    Senkronizasyon hızını kontrol eder.

    • true: Kısıtlamayı etkinleştirir. Aşırı yüklenmeyi önlemek amacıyla çıkarma hızını sınırlayarak kaynak veritabanını korur. Minimum kısıtlama oranı 1 MB/sn'dir.

      Not

      Throttle true olarak ayarlandığında mbps (senkronizasyon hızı) parametresini de ayarlamanız gerekir.

    • false: Kısıtlamayı devre dışı bırakır. Görev, yapılandırılan eşzamanlılık sınırı içinde donanım ortamının izin verdiği maksimum aktarım performansını sunar.

    Not

    Aktarım hızı ölçümü bir Veri Entegrasyonu dahili ölçümüdür ve gerçek NIC trafiğini temsil etmez. Genellikle NIC trafiği, kanal trafiğinin 1 ila 2 katıdır. Gerçek oran veri depolama sisteminin serileştirme mekanizmasına bağlıdır.

    errorLimit (hata sayısı kontrolü)

    Hatalı veri eşiğini ve bunun görevi nasıl etkilediğini tanımlar.

    Önemli

    Aşırı hatalı veri görevin genel senkronizasyon hızını etkileyebilir.

    • Yapılandırılmazsa hatalı verilere varsayılan olarak izin verilir ve görev yürütmeyi etkilemez.

    • 0 olarak ayarlanırsa hatalı verilere izin verilmez. Senkronizasyon sırasında hatalı veri oluşursa görev başarısız olur.

    • Hatalı verilere izin verilirse ve bir eşik ayarlanırsa:

      • Hatalı veri eşik içindeyse senkronizasyon görevi hatalı verileri yoksayar (hedefe yazmaz) ve normal şekilde devam eder.

      • Hatalı veri eşiği aşarsa senkronizasyon görevi başarısız olur.

    Not

    Hatalı veri kriterleri: Hatalı veri, iş anlamı olmayan, geçersiz biçime sahip olan veya senkronizasyon sırasında sorunla karşılaşan veridir. Bir kayıt hedefe yazılırken bir özel durum oluşursa bu kayıt hatalı veri olarak kabul edilir.

    Örneğin, kaynaktaki VARCHAR verilerinin hedefteki INT sütununa yazılması geçersiz tür dönüşümü nedeniyle hatalı veriyle sonuçlanır. Senkronizasyon görevi yapılandırması sırasında hatalı verilere izin verilip verilmeyeceğini kontrol edebilir ve hatalı veri sayısı belirtilen limiti aştığında görevin başarısız olması için maksimum hata sayısı ayarlayabilirsiniz.

    timeZone (saat dilimi ayarı)

    Senkronizasyon görevi için saat dilimini belirtir. Bu ayar, kaynakta veya hedefde saat türündeki sütunlar dönüştürülürken etkili olur. Veri Entegrasyonu, belirtilen saat dilimine göre saat sütunlarını okur ve yazar.

    Yapılandırma örneği: "timeZone":"Asia/Shanghai".

    • Bu parametre yalnızca betik modundaki setting bölümünde yapılandırılabilir. Sihirbaz modundaki (kod içermeyen kullanıcı arayüzü) hedef saat dilimi ayarlarını desteklemez.

    • Saat dilimi değeri standart IANA saat dilimi biçimini kullanır; örneğin Asia/Shanghai ve America/New_York.

    • Yapılandırılmazsa Veri Entegrasyonu sistem varsayılan saat dilimini kullanır.

    Not

    Genel senkronizasyon hızı ayrıca kaynak veri kaynağı performansı, ağ ortamı ve diğer faktörlerden de etkilenir. Daha fazla bilgi için Toplu senkronizasyon görevlerini ayarlama konusuna bakın.

Adım 5: Zamanlama ayarlarını yapılandırma

Periyodik zamanlamaya sahip tek tablo toplu senkronizasyon görevi için otomatik zamanlama özelliklerini yapılandırmanız gerekir. Düğümün düzenleme sayfasına gidin, sağ taraftaki Scheduling Settings seçeneğine tıklayın ve düğüm için zamanlama ayarlarını yapılandırın.

Senkronizasyon görevi için zamanlama parametrelerini, zamanlama ilkelerini, zamanlama saatini ve bağımlılıkları yapılandırın. Yapılandırma yöntemi diğer veri geliştirme düğümleriyle aynıdır.

Zamanlama parametrelerinin kullanımı hakkında daha fazla bilgi için Veri Entegrasyonunda zamanlama parametrelerinin tipik senaryoları konusuna bakın.

Adım 6: Görevi gönderme ve dağıtma

  • Çalıştırma parametrelerini yapılandırın.

    Tek tablo toplu senkronizasyon görevi yapılandırma sayfasının sağ tarafındaki Run Configuration seçeneğine tıklayın ve test çalıştırmaları için aşağıdaki parametreleri yapılandırın.


    Yapılandırma öğesi


    Açıklama


    Resource Group


    Veri kaynaklarıyla ağ bağlantısı olan bir kaynak grubu seçin.


    Script Parameters


    Veri senkronizasyon görevindeki yer tutucu parametrelere değerler atayın. Örneğin, Veri Entegrasyonu görevi ${bizdate} parametresini kullanıyorsa yyyymmdd biçiminde bir tarih parametresi yapılandırın.

  • Görevi çalıştırın.

    Data Studio'da görevi çalıştırmak ve hata ayıklamak için araç çubuğundaki image Çalıştır düğmesine tıklayın. Ardından, senkronize edilen verilerin beklentileri karşılayıp karşılamadığını doğrulamak üzere hedef tablo verilerini sorgulamak için ilgili hedef tablo türünde bir düğüm oluşturabilirsiniz.

  • Görevi dağıtın.

    Görev test çalıştırmasını başarıyla geçtikten sonra görevin periyodik olarak çalıştırılması gerekiyorsa düğüm düzenleme sayfasının üst kısmındaki image düğmesine tıklayarak görevi üretim ortamına dağıtın. Görev dağıtımı hakkında daha fazla bilgi için Görevleri dağıtma konusuna bakın.

Sonraki adım

Görev dağıtıldıktan sonra üretim ortamındaki Operation Center'a giderek zamanlanmış görevi görüntüleyin. Veri Entegrasyonu görevlerini çalıştırma, yönetme ve izleme hakkında daha fazla bilgi için Veri Entegrasyonu görevi O&M konusuna bakın.

Referanslar