Bu konu, MaxCompute işini örnek alarak Data Studio'da nasıl zamanlanmış bir görev oluşturulacağını gösterir. Bu kılavuz, Data Studio'nun temel özelliklerini hızlıca kullanmaya başlamanıza yardımcı olur.
Önkoşullar
Gerekli veri kaynağını bağladınız. Daha fazla bilgi için bkz. Hazırlıklar: Bir hesaplama motoru veya küme bağlama.
Development rolü izinlerine sahipsiniz. İzinlerin nasıl verileceği hakkında daha fazla bilgi için bkz. Çalışma alanına üye ekleme ve rollerini yönetme.
Bu konuda ODPS SQL düğümü örnek olarak kullanılmıştır. Bu nedenle, çalışma alanının bir MaxCompute veri kaynağına bağlı olması gerekir.
Arka Plan
DataWorks Data Studio, MaxCompute, Hologres, EMR ve CDH gibi çeşitli hesaplama motorları için görsel bir geliştirme arayüzü sunar. Akıllı kod geliştirme, veri temizleme, veri işleme ve standartlaştırılmış görev dağıtımını destekleyerek verimli ve kararlı veri geliştirmeyi garanti eder. Daha fazla bilgi için bkz. Data Studio (eski).
Genellikle ham iş verilerinin DataWorks'e yazılması ve nihai sonuç tablosuna dönüştürülmesi süreci aşağıdaki adımları içerir:
-
DataWorks'te birden çok veri tablosu oluşturun. Örneğin:
Diğer veri kaynaklarından eşitlenen verileri depolamak için bir kaynak tablo.
DataWorks tarafından temizlenmiş ve işlenmiş verileri depolamak için bir sonuç tablosu.
İş verilerini kaynak tabloya eşitlemek için bir eşitleme görevi oluşturun.
Kaynak tablodaki verileri katmanlı olarak temizlemek ve işlemek için bir hesaplama düğümü oluşturun ve her katmanın sonucunu ilgili sonuç tablosuna yazın.
Alternatif olarak, bir tablo oluşturduktan sonra yerel verileri doğrudan DataWorks'teki kaynak tabloya yükleyebilirsiniz. Ardından, verileri temizlemek ve işlemek için bir hesaplama düğümü kullanabilir ve sonuçları sonuç tablosunda saklayabilirsiniz. Bu konudaki örnek, yerel verilerin yüklenmesini ve bir hesaplama düğümüyle temizlenmesini içermektedir.
Data Studio'ya gitme
DataWorks konsolu adresine giriş yapın. Hedef bölgede, sol gezinme bölmesinde seçeneğine tıklayın. Açılır listeden bir çalışma alanı seçin ve Go to Data Development öğesine tıklayın.
Yordam
-
Veri geliştirme, iş akışları etrafında organize edilir. Kod geliştirmeye başlamadan önce bir iş akışı oluşturmanız gerekir.
-
DataWorks, görsel olarak tablolar oluşturmanıza olanak tanır; bu tablolar daha sonra bir dizin yapısında görüntülenir. Veri geliştirmeye başlamadan önce, veri temizleme sonuçlarını depolamak için hesaplama motorunda bir tablo oluşturmanız gerekir.
-
DataWorks, farklı hesaplama motorlarından gelen görevleri farklı düğüm türlerine kapsüller. İş ihtiyaçlarınıza göre uygun düğüm türünü seçebilirsiniz.
-
Düğüm düzenleme sayfasında, düğümün veritabanı motorunun sözdizimini kullanarak iş mantığınızı yazın.
-
Adım 5: Düğüm için zamanlama ayarlarını yapılandırma.
Düğümün periyodik olarak çalıştırılması için zamanlama özelliklerini tanımlayın.
-
DataWorks, kodunuzda hata ayıklamak ve mantığını doğrulamak için üç yöntem sunar: Kod parçacıkları için Hızlı çalıştırma, Çalıştır ve Gelişmiş çalıştırma.
-
Adım 7: Düğümü kaydetme ve gönderme.
Düğümde hata ayıkladıktan sonra, onu kaydetmeniz ve göndermeniz gerekir.
-
Adım 8: Duman testi çalıştırma.
Üretim görevlerinin verimli çalışmasını sağlamak ve hesaplama kaynaklarının boşa harcanmasını önlemek için, görevi dağıtmadan önce geliştirme ortamında duman testi çalıştırarak doğruluğunu onaylayın.
-
DataWorks yalnızca üretim ortamına dağıtılan zamanlanmış görevleri çalıştırır. Duman testi başarılı olduktan sonra, görevi üretim zamanlama sistemine dağıtmanız gerekir.
Adım 1: İş akışı oluşturma
DataWorks, veri geliştirmeyi iş akışları etrafında organize eder. İş akışları, geliştirme düğümleri için konteyner benzeri paneller kullanır ve ilgili araçları, optimizasyonları ve yönetim eylemlerini merkezi bir nesne etrafında gruplar. Bu yaklaşım, geliştirmeyi ve yönetimi basitleştirir. İlgili iş görevlerini gereksinimlerinizi karşılamak üzere tek bir iş akışında gruplayabilirsiniz.
-
DataWorks konsolu adresine giriş yapın. Hedef bölgede, sol gezinme bölmesinde seçeneğine tıklayın. Açılır listeden bir çalışma alanı seçin ve Go to Data Development öğesine tıklayın.
-
Bir iş akışı oluşturun.
Bir iş akışını aşağıdaki iki yoldan biriyle oluşturabilirsiniz:
Yöntem 1:
simgesinin üzerine gelin ve Create Workflow seçeneğine tıklayın.Yöntem 2: Data Studio'nun sol gezinme ağacında, Workflow öğesine sağ tıklayın ve Create Workflow seçeneğini belirleyin.
-
İş akışı için bir ad ve açıklama girin ve Create seçeneğine tıklayın.
Bu eğitimde,
Create your first scheduled taskadlı bir iş akışı oluşturulur. Gerçek dünya senaryolarında, iş akışlarınızı iş gereksinimlerinize göre planlamalısınız.Notİş akışları hakkında daha fazla bilgi için bkz. İş akışı oluşturma ve yönetme.
Adım 2: Tablo oluşturma
Data Studio düğümleri kaynak verilerinizi temizler ve işler. Bu nedenle, öncelikle veri temizleme sonuçlarını depolamak ve tablo yapısını tanımlamak için hesaplama motorunda tablolar oluşturmanız gerekir.
-
Tabloları oluşturun.
1. Adımda oluşturduğunuz iş akışında alt dizini genişletin, öğesine sağ tıklayın ve Create Table seçeneğini belirleyin.
Tablo adını, motor örneğini ve diğer bilgileri yapılandırın.
Bu eğitimde aşağıdaki iki tablo oluşturulur.
Table name
Descriptionbank_data
Ham iş verilerini depolar.result_table
Temizlenmiş veri sonuçlarını depolar.NotTablo oluşturma deyimleri için bkz. Tablo oluşturma deyimleri.
MaxCompute veya EMR tabloları oluşturma gibi çeşitli motorlar için görsel olarak tablo oluşturma hakkında daha fazla bilgi için bkz. Tablo oluşturma.
-
Tablo yapısını yapılandırın.
Tablo düzenleme sayfasına gidin, DDL moduna geçin ve tablo yapısını yapılandırmak için DDL deyimlerini kullanın. Tablo yapısı oluşturulduktan sonra, General bölümünde tablo için bir Display Name girin. Ardından, tabloyu hem geliştirme hem de üretim ortamına gönderin. Tabloyu gönderdikten sonra, ilgili ortamdaki veri kaynağı projesinde görüntüleyebilirsiniz. Her ortam için bağlı veri kaynağı bilgilerini görüntülemek üzere bkz. MaxCompute hesaplama kaynaklarını bağlama.
NotOluşturma ve güncelleme gibi tablo işlemleri, yalnızca ilgili ortama gönderildikten sonra hesaplama motorunda etkin hale gelir.
İş ihtiyaçlarınıza ve ekrandaki talimatlara göre tablo yapısını görsel olarak da yapılandırabilirsiniz. Görsel olarak tablo oluşturma hakkında daha fazla bilgi için bkz. MaxCompute tabloları oluşturma ve kullanma.
Aşağıdaki ifade,
bank_datatablo yapısının oluşturulması için referans niteliğindedir.CREATE TABLE IF NOT EXISTS bank_data ( age BIGINT COMMENT 'Age', job STRING COMMENT 'Job type', marital STRING COMMENT 'Marital status', education STRING COMMENT 'Education level', default STRING COMMENT 'Whether the user has a credit card', housing STRING COMMENT 'Housing loan', loan STRING COMMENT 'Personal loan', contact STRING COMMENT 'Contact method', month STRING COMMENT 'Month of the year', day_of_week STRING COMMENT 'Day of the week', duration STRING COMMENT 'Last contact duration, in seconds', campaign BIGINT COMMENT 'Number of contacts performed during this campaign', pdays DOUBLE COMMENT 'Days since the last contact from a previous campaign', previous DOUBLE COMMENT 'Number of contacts performed before this campaign', poutcome STRING COMMENT 'Outcome of the previous marketing campaign', emp_var_rate DOUBLE COMMENT 'Employment variation rate', cons_price_idx DOUBLE COMMENT 'Consumer price index', cons_conf_idx DOUBLE COMMENT 'Consumer confidence index', euribor3m DOUBLE COMMENT 'Euribor 3-month rate', nr_employed DOUBLE COMMENT 'Number of employees', y BIGINT COMMENT 'Whether the client has subscribed to a term deposit' );Aşağıdaki ifade,
result_tabletablo yapısının oluşturulması için referans niteliğindedir.CREATE TABLE IF NOT EXISTS result_table ( education STRING COMMENT 'Education level', num BIGINT COMMENT 'Number of people' ) PARTITIONED BY ( day STRING, hour STRING ); -
Veri yükleyin.
Ham iş verilerinizi bir DataWorks tablosunda saklayın. Bu örnekte, gerçek dünyadaki bir veri yazma senaryosunu simüle etmek için yerel dosya banking.txt DataWorks'teki
bank_datatablosuna yüklenir. Veri içe aktarma sihirbazında, önce hedef tablo bank_data seçin, tablo şemasının age, job, marital, education, default ve housing gibi alanlar içerdiğini onaylayın ve ardından bölüm parametrelerini ayarlayın. Daha sonra, yerel dosya banking.txt dosyasını yükleyin, dosya biçimini CSV, sınırlayıcıyı virgül, karakter kümesini GBK ve içe aktarma başlangıç satırını 1 olarak ayarlayın ve 'İlk satır üstbilgidir' onay kutusunu işaretleyin. Son olarak, alan eşleme yöntemi olarak Match by Name seçeneğini belirleyin, kaynak ve hedef alanlar arasındaki eşlemenin doğru olduğunu onaylayın ve işlemi tamamlamak için Import Data seçeneğine tıklayın. Veri yükleme hakkında daha fazla bilgi için bkz. Yerel verileri bank_data tablosuna yükleme.
Adım 3: Düğüm oluşturma
İş gereksinimlerinize göre geliştirme için uygun bir düğüm türü seçin.
DataWorks düğümleri, veri eşitleme düğümleri ve hesaplama düğümleri olarak kategorize edilir. Tipik bir geliştirme sürecinde, önce bir toplu iş eşitleme görevi kullanarak verileri iş veritabanlarından bir veri ambarına eşitlersiniz. Ardından, DataWorks hesaplama düğümlerini kullanarak ambardaki tablo verilerini temizler ve işlersiniz.
-
Bir düğüm oluşturun.
Bir düğümü aşağıdaki iki yoldan biriyle oluşturabilirsiniz:
-
Yöntem 1: Gezinti ağacından oluşturma.
Gezinti ağacında, Workflow altında 1. Adımda oluşturduğunuz iş akışını bulun.
İstenen motora sağ tıklayın ve Create Node altında uygun bir düğüm seçin.
-
Yöntem 2: İş akışı panelinden oluşturma.
Gezinti ağacında, Workflow altında 1. Adımda oluşturduğunuz iş akışını bulun.
Panelini açmak için iş akışına çift tıklayın.
Panelin sol gezinme bölmesinde, istenen düğüme tıklayın veya tuvale sürükleyin.
-
-
Düğümün motor örneğini, adını ve diğer ayarlarını yapılandırın.
Bu eğitimde, 2. Adımda oluşturulan sonuç tablosuyla aynı ada sahip
result_tableadlı bir ODPS SQL düğümü oluşturulur.NotVeri geliştirme için DataWorks düğümlerini kullanırken, verileri bir geliştirme düğümüyle temizler ve sonuçları bir sonuç tablosunda saklarsınız. Düğümün ürettiği tablo verilerini daha kolay bulabilmeniz için düğümü, doldurduğu sonuç tablosunun adıyla adlandırın.
Data Studio panelinin Common Nodes bölümünde, ODPS SQL düğümünü sağdaki tuvale sürükleyerek oluşturun.
Adım 4: Düğümü düzenleme
3. Adımda oluşturduğunuz düğümü iş akışı gezinti ağacında veya iş akışı panelinde bulun. Düzenleyiciyi açmak için düğüme çift tıklayın. Düğüm türüne göre, karşılık gelen veritabanının sözdizimini kullanarak iş mantığınızı yazın.
Bu eğitimde, result_table düğümü, bank_data tablosunun belirli bir bölümündeki verileri result_table tablosunun karşılık gelen bölümüne yazar. Hedef bölüm, day ve hour değişkenleri kullanılarak tanımlanır.
Kod geliştirme sırasında, bir zamanlama bağlamında parametreleri dinamik olarak değiştirmeniz gerekiyorsa, kodunuzda
${your_variable_name}biçimini kullanarak değişkenler tanımlayabilirsiniz. Ardından, 5. Adımda zamanlama ayarlarını yapılandırırken bu değişkene bir değer atayabilirsiniz.Zamanlama parametreleri hakkında daha fazla bilgi için bkz. Desteklenen zamanlama parametresi biçimleri.
Farklı düğüm türleri için geliştirme sözdizimi hakkında daha fazla bilgi için bkz. Düğüm oluşturma ve kullanma.
--@exclude_output=xc_DPE_E2.result_table
--@exclude_input=bank_data
--odps sql
--***********************************************************--
--author:xxx
--create time:2022-08-11 14:33:23
--***********************************************************--
INSERT OVERWRITE TABLE result_table partition (day='${day}', hour='${hour}')
SELECT education
, COUNT(marital) AS num
FROM bank_data
WHERE day='${day}' and hour='${hour}'
GROUP BY education;
Aşağıdaki kod referans amaçlı sağlanmıştır.
INSERT OVERWRITE TABLE result_table partition (day='${day}', hour='${hour}')
SELECT education
, COUNT(marital) AS num
FROM bank_data
GROUP BY education;
Adım 5: Zamanlama ayarlarını yapılandırma
Düğümün periyodik olarak çalıştırılması için zamanlama özelliklerini yapılandırın. Düğüm düzenleyici sayfasında, sağ gezinme bölmesindeki Scheduling seçeneğine tıklayın ve iş gereksinimlerinize göre özellikleri yapılandırın.
|
Parametre |
Açıklama |
|
DataWorks, düğümün adını, ID'sini, türünü ve sahibini otomatik olarak görüntüler. Bu özelliklerin ayrı olarak yapılandırılması gerekmez. Not
|
|
|
Düğüm zamanlaması için kullanılan parametreleri tanımlayın. DataWorks, görev zamanlaması sırasında dinamik parametre ataması için yerleşik ve özel parametreler sağlar. 4. Adımda kodda değişkenler tanımladıysanız, burada bunlara değer atayabilirsiniz. Bu eğitimde, önceki günün (iş tarihi) saatlik verilerini
Scheduling bölmesinin Parameters bölümünde bu ayarları yaptıktan sonra, |
|
|
Zaman özellikleri, düğümün nasıl ve ne zaman çalışacağını tanımlar. Periyodik örnek oluşturma, zamanlama döngüsü, yürütme zamanı, yeniden çalıştırma desteği ve otomatik görev sonlandırma için zaman aşımı süresini yapılandırmak amacıyla bu ayarları kullanın. Not
Bu eğitimde, |
|
|
Görev üretim ortamına zamanlama için dağıtıldığında kullanılacak zamanlama kaynak grubunu yapılandırın. Bu eğitimde, DataWorks etkinleştirildiğinde sağlanan varsayılan sunucusuz kaynak grubu kullanılır. Daha fazla bilgi için bkz. Sunucusuz kaynak grubu kullanma. |
|
|
Düğüm zamanlaması için yukarı ve aşağı akış bağımlılıklarını tanımlayın. Bağımlılıkları veri soy çizgisine göre ayarlayın. Bu, geçerli düğümün yalnızca gerekli verileri üreten yukarı akış görevleri başarıyla tamamlandıktan sonra çalışmasını sağlayarak yukarı akış tablo verilerini doğru şekilde sorgulamasına olanak tanır. Not
Bu eğitimde, geçerli iş akışının dışındaki bir görevin, |
|
|
Parametrelerin yukarı ve aşağı akış düğümleri arasında nasıl iletileceğini tanımlar. Bir aşağı akış düğümü, bir yukarı akış düğümünden değerleri almak için bu özelliği kullanabilir. Not
Bu özellik genellikle atama düğümleri veya atama parametreleriyle birlikte kullanılır.
|
Adım 6: Kodda hata ayıklama
Kod mantığınızda hata ayıklamak ve doğruluğunu sağlamak için aşağıdaki yöntemleri kullanabilirsiniz.
|
Yöntem |
Açıklama |
Öneri |
|
Seçilen bir kod parçacığını hızlıca çalıştırır. |
Bir kod parçasını hızlıca çalıştırmanız gerektiğinde bu yöntemi kullanın. |
|
|
Araç çubuğu: Run ( |
Test çalıştırması için değişkenlere sabit değerler atar. Not
Yeni bir düğümde Run seçeneğine ilk kez tıkladığınızda, iletişim kutusunda kod değişkenlerine manuel olarak sabit değerler atamanız gerekir. Bu atama kaydedilir ve sonraki çalıştırmalar için tekrarlanması gerekmez. |
Tüm kodu sık sık hata ayıklamanız gerekiyorsa bu yöntemi kullanın. |
|
Araç çubuğu: Advanced Run ( |
Her test çalıştırması için değişkenlere sabit değerler atamanızı gerektirir. |
Test çalıştırması için değişken atamalarını değiştirmeniz gerekiyorsa bu yöntemi kullanın. |
Bu eğitimde, 2022.09.07 14:00 için çalıştırma sonuçlarını test etmek amacıyla Advanced run kullanılır. Parameters iletişim kutusunda bir Scheduling Resource Group (örneğin, Public Scheduling Resource Group) seçin. Custom Parameters bölümünde, parametre değerlerini ayarlayın (örneğin, day=20220907 ve hour=14). Kodu yürütmek için OK seçeneğine tıklayın. Çalıştırma günlüğü, yürütmenin başarılı olduğunu gösterir.
Adım 7: Düğümü kaydetme ve gönderme
Düğümü yapılandırdıktan ve test ettikten sonra, yapılandırmayı kaydetmeniz ve düğümü geliştirme ortamına göndermeniz gerekir.
Düğümü ancak 5. Adımda Rerun attribute ve Parent Nodes özelliklerini yapılandırdıktan sonra gönderebilirsiniz.
Düğüm yapılandırmasını kaydetmek için araç çubuğundaki
simgesine tıklayın.Düğümü geliştirme ortamına göndermek için araç çubuğundaki
simgesine tıklayın.
Adım 8: Duman testi çalıştırma
Bir görevi dağıtmadan önce duman testi gerçekleştirerek üretim görevlerinin verimli çalışmasını sağlayın ve hesaplama kaynaklarının boşa harcanmasını önleyin. Duman testi geliştirme ortamında çalıştığından, öncelikle düğümü bu ortama göndermeniz gerekir. Gönderme işleminden sonra:
Araç çubuğundaki
simgesine tıklayın ve duman testi iletişim kutusunda iş tarihini yapılandırın.Duman testi tamamlandıktan sonra, test sonuçlarını görüntülemek için araç çubuğundaki
simgesine tıklayın.
Bu eğitimde, zamanlama parametresi yapılandırmasının beklentileri karşılayıp karşılamadığı test edilir. result_table düğümü, 00:00 ile 23:59 saatleri arasında her saat çalışacak şekilde zamanlanır. Bu nedenle, aşağıdaki şekildeki yapılandırma, sırasıyla 00:00 ve 01:00 zamanlarında zamanlanmış çalıştırma sürelerine sahip iki saatlik örnek oluşturacaktır.
Bir örnek, periyodik bir görevin zamanlamasına göre çalıştırıldığında oluşturulan görevin anlık görüntüsüdür.
result_tabledüğümü saatlik bir görev olarak ayarlandığından, duman testi için iş tarihini yapılandırmanın yanı sıra çalıştırılacak örneklerin zaman aralığını da seçmeniz gerekir.Duman testi hakkında daha fazla bilgi için bkz. Duman testi çalıştırma.
Üst araç çubuğundaki Smoke testing (☑) simgesine tıklayın. Görüntülenen duman testi panelinde, Business Date (örneğin, 2022-09-01), Start Time (00:00) ve End Time (01:00) değerlerini ayarlayın.
Adım 9: Görevi dağıtma
Temel mod çalışma alanında, görevler gönderildikten sonra periyodik olarak zamanlanır. Standart mod çalışma alanında, gönderilen bir görev "dağıtılacak" durumuna girer. Daha sonra, periyodik zamanlamayı etkinleştirmek için görevi üretim ortamına dağıtmanız gerekir.
DataWorks yalnızca üretim ortamına dağıtılan görevler için otomatik zamanlamayı destekler. Duman testi başarılı olduktan sonra, periyodik zamanlamayı etkinleştirmek için görevi üretim zamanlama sistemine dağıtmanız gerekir.
Çalışma alanı modları arasındaki farklar hakkında daha fazla bilgi için bkz. Çalışma alanı modları arasındaki farklar.
Standart mod bir çalışma alanında, Data Studio'da gönderdiğiniz düğümler, kaynaklar ve işlevler oluşturma, güncelleme veya silme gibi tüm değişiklikler dağıtılmayı beklemek üzere görev dağıtım sayfasına gönderilir. Bu değişiklikleri uygulamak için yolunu izleyerek bunları üretim ortamına yayınlamak için bir dağıtım paketi oluşturmanız gerekir. Değişiklikler yalnızca başarılı bir dağıtımdan sonra etkin hale gelir. Daha fazla bilgi için bkz. Görevleri dağıtma.
Aşağıdaki tabloda dağıtım süreci açıklanmaktadır.
|
Dağıtım konusu |
Açıklama |
|
Dağıtım süreci kontrolü |
Rol izinleri ve süreç kontrolleri dağıtım işlemlerini kısıtlar. Bir dağıtım gerçekleştirdikten sonra, dağıtım paketinin durumunun "başarılı" olduğundan emin olun. Not
|
|
Dağıtım etkili olma zamanı kontrolü |
Günlük örnek oluşturma penceresi ( Not
Bu kısıtlama hem Next Day hem de Immediately After Deployment örnek oluşturma modlarını etkiler. Bu modlar hakkında daha fazla bilgi için bkz. Örnek oluşturma modları. |
Sonraki adımlar
Üretim ortamına dağıtılan toplu iş zamanlama görevlerini görüntülemek ve ilgili O&M işlemlerini gerçekleştirmek için yoluna gidebilirsiniz. Daha fazla bilgi için bkz. Periyodik görevler için temel O&M.