DataWorks içindeki Dağıtım Merkezi, Veri Geliştirme'deki görev yayımlama özelliğinin geliştirilmiş bir sürümüdür. Düğümler, işlevler, kaynaklar ve bileşenler gibi nesneleri birden fazla ortamda yayımlamak için kullanılır. Bu özelliği kullanarak nesneleri kaynak çalışma alanından hedef çalışma alanına tek tıklamayla eşitleyebilirsiniz. Bu konuda Dağıtım Merkezi'nin yaygın senaryoları, mantığı ve yayımlama süreci açıklanmaktadır.
İşlev tanıtımı
Dağıtım Merkezi'nde yayımlama işlemi; düğümler, işlevler, kaynaklar ve bileşenler gibi nesneleri minimum yürütme birimi olarak ele alır. İlişkili iş akışları ve düğüm bağımlılıkları aynı anda hedef çalışma alanına dağıtılır. Daha fazla bilgi için bkz. Yayımlama mantığı.
Farklı yayımlama ortamlarına bağlı olarak DataWorks'teki Dağıtım Merkezi aynı çalışma alanında yayımlamayı, çalışma alanları arası yayımlamayı ve bulutlar arası yayımlamayı destekler.
-
Aynı çalışma alanında yayımlama
Bu özellik yalnızca yeni Data Studio kullanan standart moddaki çalışma alanları için kullanılabilir. Aynı çalışma alanı içindeki geliştirme ortamından üretim ortamına düğümler, işlevler, kaynaklar ve bileşenler gibi nesneleri toplu olarak yayımlamanıza olanak tanır.
-
Çalışma alanları arası yayımlama
Çalışma alanları arası dağıtım öncelikli olarak temel moddaki bir çalışma alanındaki düğümler, işlevler, kaynaklar ve bileşenler gibi nesnelerin aynı bölge ve aynı Alibaba Cloud hesabı altındaki başka bir çalışma alanına dağıtılması için kullanılır. Ayrıca bu özelliği temel moddaki çalışma alanları için geliştirme ve üretim ortamlarını izole etmek amacıyla da kullanabilirsiniz. Daha fazla bilgi için bkz. Ek: Temel modda geliştirmeyi üretimden ayırma.
-
Bu özellik; nesnelerin (düğünler, işlevler, kaynaklar ve bileşenler gibi) hesaplar, bölgeler veya bulut platformları arasında dağıtılmasını destekler. Yalnızca eski DataStudio'yu kullanan çalışma alanları için kullanılabilir. Özünde bu özellik, farklı bir bölge, hesap veya bulut platformunda bulunan hedef çalışma alanına kaynak çalışma alanından düğümleri geçirin ve dağıtır.
Yayımlama değişikliği mantığı
Bir düğümün bağımlılıkları varsa, alt düğüm yayımlanmadan önce atasal düğümlerin hedef çalışma alanına yayımlanması gerekir. Yayımlanan bir düğümde yapılan değişiklikler şu şekildedir:
-
Bir düğümü yayımladığınızda sistem, ilgili tüm düğümlerin giriş ve çıkışlarında kaynak çalışma alanı adı ön ekini hedef çalışma alanı adıyla değiştirir. Düğümün çalışma alanları arası bağımlılıkları varsa yayımlama ortamı için Dependency Mappings parametresini de yapılandırabilirsiniz. Düğümün atasal bağımlılıkları, alt bağımlılıkları ile giriş ve çıkış adları yapılandırmanıza göre yayımlamadan sonra değişir. Daha fazla bilgi için bkz.:
MaxCompute motoru kullanan bir görevi yayımladığınızda sistem görev kodunu değiştirir. Kaynak çalışma alanı adına yapılan tüm atıfları hedef çalışma alanı adıyla değiştirir. Daha fazla bilgi için bkz. MaxCompute motoru kullanan görevler için kod değişiklikleri.
Bağımlılık eşlemelerini yapılandırmak için bkz. Yayımlama ortamı yapılandırma. Zamanlama bağımlılıklarını yapılandırmak için bkz. Zamanlama bağımlılıklarını yapılandırma.
Bu konuda örnek olarak
Çalışma Alanı Adı.Düğüm Adıbiçimindeki çıkış adları kullanılmıştır. Gerçek çıkış adları değişiklik gösterebilir.
Çalışma alanları arası bağımlılık yok
project1 içindeki düğümlerin çalışma alanları arası bağımlılığı yoktur. project1 içindeki tüm düğümler project2 projesine yayımlanır.
Yayımlamadan sonra tüm düğüm giriş ve çıkış adlarında bulunan project1 ön eki project2 olarak değiştirilir. Örneğin:
task_A görevinin giriş adı
project1_rootdeğerindenproject2_rootdeğerine değişir.task_A görevinin çıkış adı
project1.task_Adeğerindenproject2.task_Adeğerine değişir.
Çalışma alanları arası bağımlılıklar mevcut ancak eşleme ayarlanmamış
project1.task_A düğümünün project2.task_A üzerinde çalışma alanları arası bağımlılığı vardır. project1 içindeki tüm düğümler project3 projesine yayımlanır.
Yayımlamadan sonra düğümde meydana gelen değişiklikler şöyledir:
Düğüm girişleri ve çıkışları: Tüm düğüm giriş ve çıkış adlarında bulunan
project1ön ekiproject3olarak değiştirilir.Düğümün çalışma alanları arası bağımlılıkları:
project1.task_Adüğümü başlangıçtaproject2.task_Aüzerinde çalışma alanları arası bağımlılığa sahipti. Yayımlamadan sonraproject3.task_Adüğümü halaproject2.task_Aüzerinde çalışma alanları arası bağımlılığa sahiptir.
Çalışma alanları arası bağımlılıklar mevcut ve eşleme ayarlanmış
project1.task_A düğümünün project2.task_A üzerinde çalışma alanları arası bağımlılığı vardır. project1 içindeki tüm düğümler project4 projesine yayımlanır ve project2 projesinden project3 projesine bir bağımlılık eşlemesi ayarlanır.
Yayımlamadan sonra düğümde meydana gelen değişiklikler şöyledir:
Düğüm girişleri ve çıkışları: Tüm düğüm giriş ve çıkış adlarında bulunan
project1ön ekiproject4olarak değiştirilir.Düğümün çalışma alanları arası bağımlılıkları:
project1.task_Adüğümü başlangıçtaproject2.task_Aüzerinde çalışma alanları arası bağımlılığa sahipti. Yayımlamadan sonraproject4.task_Adüğümünün çalışma alanları arası bağımlılığıproject3.task_Aolarak değiştirilir.
Kaynak çalışma alanındaki bir düğüm çalışma alanları arası bağımlılık için sistem çıkış adı kullanıyorsa yayımlama işlemi başarısız olabilir. Bu durum düğümün yapılandırmasındaki listesinde başka bir çalışma alanından gelen sistem çıkış adı bulunuyorsa gerçekleşir. Bu sorunu çözmek için bağımlılığı sistem dışı bir çıkış adı kullanacak şekilde değiştirin.
-
Sistem tarafından oluşturulan çıkış adlarına referans vermeyin:
Use Data Studio (New Version) seçeneğinin etkin olmadığı çalışma alanlarında sistem çıkış adı
Çalışma Alanı Adı.Dosya Kimliği_outbiçimindedir; örneğinshanghai_simple02.504822000_out. -
Aşağıdaki biçimlerdeki çıkış adlarına referans verin:
Çalışma Alanı Adı.Çıkış Tablosu Adı(Önerilen)Çalışma Alanı Adı.Düğüm Adı
MaxCompute motoru kullanan görevler için kod değişiklikleri
ODPS SQL veya ODPS Spark görevi gibi MaxCompute motoru kullanan bir görevi hedef çalışma alanına yayımladığınızda sistem yürütme sırasında görev kodundaki kaynak çalışma alanı adını hedef çalışma alanı adıyla değiştirir.
Örneğin task_A bir ODPS SQL veya MaxCompute SQL düğümüdür. project1 projesinde table_A tablosunu sorgulamak için kullanılan kod SELECT * FROM project1.tableA şeklindedir. project1 projesindeki tüm düğümler daha sonra project2 projesine yayımlanır.
Düğüm project2 projesine yayımlandıktan sonra table_A tablosunu sorgulamak için kullanılan kod SELECT * FROM project2.tableA olarak değiştirilir.