Tüm Ürünler
Search
Belge Merkezi

DataWorks:Veri aktarım düğümü yapılandırma

Son Güncelleme:Oct 05, 2026

DataWorks DataStudio, bir iş akışına veri aktarım düğümleri eklemenize olanak tanır ve basit aktarım, birleştirilmiş aktarım, betik tabanlı aktarım, koşullu aktarım ve MaxCompute veri aktarımı olmak üzere beş aktarım yöntemini destekler. Bu eğitimde her bir yöntem gösterilmektedir.

Arka plan

Bir DataWorks iş sürecine veri aktarım düğümü ekleyebilirsiniz. İş süreci verileri işledikten sonra düğüm, sonuçları almak için basit bir sorgu çalıştırır. Görev zamanlamasına göre düğüm daha sonra verileri DingTalk, Lark, WeCom, Microsoft Teams veya e-posta gibi hedeflere iletir.

Yaklaşım

  1. Sonraki aktarım iş akışları için test verilerini hazırlamak amacıyla bir düğüm ekleyin.

  2. Test verilerini işlemek ve sorgulamak için veri sorgulama, atama ve diğer veri işleme düğümleri ekleyin.

    Not

    Test verilerini hazırlama ve sorguları işleme düğümlerini iş ihtiyaçlarınıza göre uyarlayabilirsiniz. Bu eğitimde veri aktarımının nasıl yapılacağını göstermek için bir MySQL düğümü kullanılmaktadır.

  3. Veri sorgulama düğümünden çıkan parametreleri almak için bir veri aktarım düğümü ekleyin. Düğüm daha sonra bağlam parametreleri olarak geçirilen verileri DingTalk, Lark, WeCom, Microsoft Teams veya e-postaya aktarır.

Aktarım yöntemleri

Bu eğitimde bir iş akışında veri aktarım düğümlerini kullanmaya yönelik beş yöntem ele alınmaktadır: Basit Aktarım, Birleştirilmiş Aktarım, Betik Tabanlı Aktarım, Koşullu Aktarım ve MaxCompute Veri Aktarımı.

  • Basit Aktarım: Yukarı akıştaki bir iş akışı bir SQL sorgusu çalıştırır ve sonuçları Input and Output Parameters kullanarak bir veri aktarım düğümüne iletir.

  • Birleştirilmiş Aktarım: Birden çok yukarı akış iş akışı SQL sorguları çalıştırır ve sonuçlarını Input and Output Parameters kullanarak tek bir veri aktarım düğümüne iletir.

  • Betik Tabanlı Aktarım: Bir yukarı akış Assignment Node verileri bir betik kullanarak işler ve ardından sonuçları Input and Output Parameters kullanarak bir aktarım düğümüne iletir. Daha fazla bilgi için bkz. Atama düğümü.

  • Koşullu Aktarım: Bir yukarı akış iş akışı, verileri yapılandırılmış koşullara göre değerlendirmek için bir Branch Node kullanır ve uygun verileri Input and Output Parameters kullanarak bir veri aktarım düğümüne iletir. Daha fazla bilgi için bkz. Dal düğümü.

  • MaxCompute Veri Aktarımı: Bir MaxCompute veri kaynağından veri aktarır. MaxCompute'u sorgulamak ve ardından sonuçları aktarmak için bir atama düğümü kullanabilirsiniz.

Önkoşullar

Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:

  • Bir DataWorks çalışma alanı. Ayrıntılar için bkz. Çalışma alanı oluşturma.

  • Bir ApsaraDB RDS for MySQL örneği ve çalışma alanınızda bir MySQL veri kaynağı. Ayrıntılar için bkz. Veri kaynağı yönetimi.

  • Çalışma alanınızda bir MaxCompute veri kaynağı. Ayrıntılar için bkz. MaxCompute hesaplama kaynağını ilişkilendirme.

    Not

    Bu eğitimde örnek olarak bir MySQL veri kaynağı ve bir MaxCompute veri kaynağı kullanılmaktadır. İş ihtiyaçlarınıza göre diğer türdeki veri kaynaklarını ekleyebilirsiniz.

  • Sunucusuz kaynak grubu. Yalnızca sunucusuz kaynak grupları veri aktarım düğümlerini çalıştırabilir. Satın alma ve kullanma hakkında bilgi edinmek için bkz. Sunucusuz kaynak gruplarını kullanma.

Sınırlamalar

  • Veri aktarım özelliği aşağıdaki sınırlamalara sahiptir:

    • DingTalk için veri boyutu 20 KB'yi aşamaz.

    • Lark için veri boyutu 20 KB'yi aşamaz ve görseller 10 MB'ten küçük olmalıdır.

    • WeCom için her sohbet botu dakikada en fazla 20 mesaj gönderebilir.

    • Microsoft Teams için veri boyutu 28 KB'yi aşamaz.

    • E-posta için her veri aktarım görevi yalnızca tek bir e-posta gövdesini destekler. Ek sınırlamalar için e-posta hizmetinizin SMTP sınırlamalarına bakın.

  • Veri aktarım özelliği yalnızca aşağıdaki bölgelerdeki DataWorks çalışma alanlarında kullanılabilir: China (Hangzhou), China (Shanghai), China (Beijing), China (Shenzhen), China (Chengdu), China (Hong Kong), Singapore, Malaysia (Kuala Lumpur), US (Silicon Valley), US (Virginia) ve Germany (Frankfurt).

Hazırlık

İş akışı oluşturma

  1. DataWorks konsolu üzerinde oturum açın. Hedef bölgede sol gezinme bölmesinde Data Development and O&M > Data Development 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.

  2. Data Studio panelinde Workflow üzerine sağ tıklayın ve Create Workflow seçeneğini belirleyin. İş akışı için bir ad girin. Bu örnekte iş akışının adı Data Push Demo olarak belirlenmiştir.

Düğüm oluşturma

Data Push Demo iş akışını oluşturduktan sonra iş akışı tuvalini açmak için iş akışı adına çift tıklayın. Aşağıdaki tabloda ihtiyacınız olan aktarım yöntemine bağlı olarak ilgili düğümleri oluşturmak için image simgesine tıklayın. Oluşturduğunuz düğümlere tabloda belirtildiği şekilde tam olarak aynı isimleri verin.

Aktarım yöntemi

Düğüm adı

Düğüm türü

Açıklama

Koşullu Aktarım

Query Last Month's Total Sales

MySQL düğümü

Test verilerinden geçen ayki toplam satışları sorgular ve sonucu bağlam parametresi olarak dal düğümüne iletir.

Check Sales Target Compliance

Branch Node

MySQL düğümünden çıkan parametreyi alır, bir koşula göre değerlendirir ve sonuca bağlı olarak verileri farklı MySQL düğümlerine bağlam parametreleri olarak yönlendirir.

Last Month Sales Target Met

MySQL düğümü

Dal düğümünden 'hedef karşılandı' çıktısını alır, ilgili verileri sorgular ve sonucu bağlam parametresi olarak Veri Aktarım düğümüne iletir.

Last Month Sales Target Not Met

Dal düğümünden 'hedef karşılanmadı' çıktısını alır, ilgili verileri sorgular ve sonucu bağlam parametresi olarak Veri Aktarım düğümüne iletir.

Push Top 3 Categories (Target Met)

Data Push düğümü

'Hedef karşılandı' çıktısını alır ve giriş bağlam parametresindeki verileri hedefe aktarır.

Push Bottom 3 Categories (Target Not Met)

'Hedef karşılanmadı' çıktısını alır ve giriş bağlam parametresindeki verileri hedefe aktarır.

Betik Tabanlı Aktarım

Query Last Week's Sales Data

MySQL düğümü

En iyi üç kategori için geçen haftaki toplam satışları sorgular ve sonucu bağlam parametresi olarak atama düğümüne iletir.

Organize Top 3 Sales List

Assignment Node

Python kullanarak MySQL düğümünden çıkan parametreyi alır, bunu bir listeye dönüştürür ve listeyi bağlam parametresi olarak Veri Aktarım düğümüne iletir.

Push Last Week's Top 3 Categories

Data Push düğümü

Atama düğümünden gelen listeyi alır ve hedefe aktarır.

Birleştirilmiş Aktarım

Query Yesterday's Total Sales

MySQL düğümü

  • Test verilerinden dünkü toplam satışları ve satış artışını sorgular ve sonuçları bağlam parametreleri olarak Veri Aktarım düğümüne iletir.

  • Dünkü toplam satışları sorgulayan düğüm, basit veri aktarımındaki dünkü toplam satışlar için de kullanılabilir.

Query Yesterday's Sales Growth

Push Yesterday's Total Sales and Growth

Data Push düğümü

İki MySQL düğümünden aynı anda çıkan parametreleri alır ve giriş bağlam parametrelerindeki verileri hedefe aktarır.

Basit Aktarım

Query Yesterday's Total Sales

MySQL düğümü

Test verilerinden dünkü toplam satışları sorgular ve sonucu bağlam parametresi olarak Veri Aktarım düğümüne iletir.

Push Yesterday's Total Sales

Data Push düğümü

MySQL düğümünden çıkan parametreyi alır ve giriş bağlam parametresindeki verileri hedefe aktarır.

MaxCompute Veri Aktarımı

Sync MySQL Data to ODPS

Batch Synchronization düğümü

Veri Entegrasyonu kullanarak verileri MySQL'den bir ODPS veri kaynağına eşzamanlar.

Query ODPS Data

Assignment Node

ODPS veri kaynağından veri sorgular ve sonucu bağlam parametresi olarak Veri Aktarım düğümüne iletir.

Push ODPS Data

Data Push düğümü

Atama düğümünden gelen sorgu sonucunu alır ve hedefe aktarır.

Veri hazırlama

Bu eğitimde basit bir siparişler tablosu ile veri aktarım düğümünün nasıl kullanılacağı gösterilmektedir. Tabloyu oluşturmak ve test verileriyle doldurmak için şu adımları izleyin. Test verilerine ihtiyacınız yoksa bu bölümü atlayın.

Test tablosu oluşturun

  1. DataWorks konsolu üzerinde oturum açın. Hedef bölgede sol gezinme bölmesinden 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 yolunu izleyin.

  2. Sol gezinme bölmesinde Ad Hoc Sorgu sayfasını açmak için image simgesine tıklayın. image simgesinin üzerine gelin ve yeni bir ad hoc sorgu sekmesi açmak için Create > MySQL seçeneğini belirleyin.

    • Node Type: MySQL.

    • Path: Ad Hoc Sorgu.

    • Name: Test veri tablosu oluştur.

  3. orders tablosunu oluşturmak için aşağıdaki SQL ifadesini çalıştırın:

CREATE TABLE orders (
     order_id INT NOT NULL AUTO_INCREMENT,
     category VARCHAR(100) NOT NULL, -- Product category
     sales DOUBLE NOT NULL, -- Order sales amount
     datetime DATETIME NOT NULL, -- Order time
     PRIMARY KEY (order_id),
     INDEX (category)
);

Saklı yordam oluşturun

Aşağıdaki saklı yordam, son iki aya ait rastgele sipariş verileri üretir.

Not

Saklı yordamı bir MySQL istemcisinde oluşturun.

DELIMITER $$

CREATE PROCEDURE InsertOrders(IN num_orders INT)
BEGIN
  DECLARE v_category VARCHAR(100);
  DECLARE v_sales DOUBLE;
  DECLARE v_datetime DATETIME;
  DECLARE v_category_list VARCHAR(255);
  DECLARE v_index INT;
  DECLARE i INT DEFAULT 0;
  
  -- Define a comma-separated string of categories
  SET v_category_list = 'Electronics,Books,Home & Kitchen,Fashion,Toys,Baby,Computers,Electronics,Games,Garden,Clothing,Grocery,Health,Jewelry,Kids';
  -- Get the total number of categories
  SET v_index = ROUND((RAND() * (CHAR_LENGTH(v_category_list) - CHAR_LENGTH(REPLACE(v_category_list, ',', '')) + 1)));
  
  WHILE i < num_orders DO
    -- Generate a random index to select a category
    SET v_index = FLOOR(1 + (RAND() * (CHAR_LENGTH(v_category_list) - CHAR_LENGTH(REPLACE(v_category_list, ',', '')) + 1)));
    -- Extract a random category from the list
    SET v_category = SUBSTRING_INDEX(SUBSTRING_INDEX(v_category_list, ',', v_index), ',', -1);
    
    -- Generate a random sales amount between 1,000 and 30,000
    SET v_sales = 1000 + FLOOR(RAND() * 29000);
    
    -- Generate a random datetime within the last two months
    SET v_datetime = NOW() - INTERVAL FLOOR(RAND() * 61) DAY;
    
    -- Insert the new random order into the orders table
    INSERT INTO orders (category, sales, datetime) VALUES (v_category, v_sales, v_datetime);
    
    SET i = i + 1;
  END WHILE;
END$$

DELIMITER ;

Test verisi yazın

Saklı yordamı oluşturduktan sonra, orders tablosunu rastgele verilerle doldurmak üzere CALL ifadesini çalıştırın.

-- Call the stored procedure to insert a specific number of random orders
CALL InsertOrders(1000); -- This inserts 1,000 random orders

Veri aktarım akışını yapılandırın

DataWorks, iş mantığınıza uygun birkaç dağıtım yöntemi sunar: koşullu dağıtım, betik tabanlı dağıtım, birleştirilmiş dağıtım, basit dağıtım ve MaxCompute veri dağıtımı. Bu eğitimde, çeşitli veri kaynakları için yöntemleri göstermek amacıyla MySQL kullanılır ve MaxCompute'dan veri dağıtmaya yönelik özel bir örnek sağlanır.

Koşullu veri aktarımı

1. Adım: Aktarım iş akışını oluşturun

İş akışı tuvalini açmak için Data_Push_Demo iş akışına çift tıklayın. Aşağıdaki şekilde gösterildiği gibi düğümleri sırayla bağlayarak koşullu bir veri aktarım iş akışı oluşturun. İş akışı, verileri Query_Last_Month_Sales_Total düğümünden Check_Sales_Target düğümüne yönlendirir. Check_Sales_Target düğümü daha sonra akışı, "uyumlu" dalı (Last_Month_Sales_Target_Met ve Push_Top_3_Categories_Target_Met düğümlerini içerir) ve "uyumsuz" dalı (Last_Month_Sales_Target_Not_Met ve Push_Bottom_3_Categories_Target_Not_Met düğümlerini içerir) olmak üzere iki dala ayırır.

image

2. Adım: SQL sorgu düğümünü yapılandırın

Test verilerini sorgulamak için SQL sorgu düğümünü yapılandırın. Sorgu sonucu, Input and Output Parameters kullanılarak aşağı akış dal düğümüne bir çıkış parametresi (outputs) olarak iletilir.

  1. Query_Last_Month_Sales_Total düğümüne çift tıklayın ve aşağıdaki SQL kodunu girin.

    -- Calculate the total sales for the previous month
    SELECT SUM(sales) AS sales_amount
    FROM orders
    WHERE datetime BETWEEN DATE_FORMAT(CURRENT_DATE - INTERVAL 1 MONTH, '%Y-%m-01 00:00:00') AND DATE_FORMAT(LAST_DAY(CURRENT_DATE - INTERVAL 1 MONTH), '%Y-%m-%d 23:59:59');
  2. SQL kodunu girdikten sonra sağ taraftaki Scheduling Settings seçeneğine tıklayın. Özellikler bölmesinde aşağıdaki parametreleri yapılandırın.

    • Scheduling Time: 08:00.

    • Resource Group for Scheduling: Sunucusuz kaynak grubunuzu seçin.

    • Upstream Nodes: Add Root Node seçeneğini belirleyin.

    • Output Parameters: Input and Output Parameters altında, sorgu sonucunu aşağı akış düğümüne iletmek için bir çıkış parametresi eklemek üzere Output Parameters yanındaki Add assignment parameter seçeneğine tıklayın.

3. Adım: Dal düğümünü yapılandırın

Bir dal düğümünde, Input and Output Parameters içindeki Input Parameters kullanarak üst akış SQL sorgu düğümünden gelen outputs çıkış parametresini alırsınız. Düğüm daha sonra koşullu bir değerlendirme yapar ve koşulu karşılayan verileri Output Parameters kullanarak dışarı aktarır.

  1. Check_Sales_Target düğümüne çift tıklayın. "Uyumlu" ve "uyumsuz" olmak üzere iki dal oluşturmak için Add Branch seçeneğine tıklayın. Dalların yapılandırmasını aşağıdaki gibi yapın.


    Parametre


    Uyumlu dal


    Uyumsuz dal


    Condition


    ${inputs[0][0]}>=500000


    ${inputs[0][0]}<500000


    Associated Node Output


    Uyumlu


    Uyumsuz


    Description


    Geçen ayki toplam satışlar uyumludur.


    Geçen ayki toplam satışlar uyumsuzdur.

    Not

    [0][0] ifadesi, koşul için belirli veri noktasını konumlandırmak amacıyla iki boyutlu bir dizi referansıdır.

    • Üst akış düğümü bir SQL sorgu düğümü olduğunda, parametredeki koşullu veriyi konumlandırmak için iki boyutlu bir dizi kullanın.

    • Üst akış düğümü bir Python düğümü olduğunda, tek boyutlu bir dizi kullanın.

  2. Condition Check düğümünü açmak için çift tıklayın. Sağ tarafta Scheduling Settings seçeneğine tıklayın ve açılan iletişim kutusunda aşağıdaki ayarları yapılandırın.

    Parametre türü

    Açıklama

    Schedule

    Scheduling Frequency

    Gün

    Scheduling Time

    08:00

    Rerun

    Başarılı ve başarısız çalıştırmalardan sonra yeniden çalıştırmalara izin verilir.

    Resource Group

    Resource Group for Scheduling

    Sunucusuz kaynak grubunuzu seçin.

    Not

    Bir veri aktarım düğümünü ilk kez kullandığınızda, zamanlama kaynak grubunu yükseltmek için bir destek bileti göndermeniz gerekir.

    Output Name of Current Node

    Dalları yapılandırdıktan sonra, çıkış adları otomatik olarak ayrıştırılır ve buraya eklenir. Output Name, dal için tanımlanan Associated Node Output ile eşleşmelidir.

    Input and Output Parameters

    Input Parameters

    Parameter name: inputs

    Value Source: Üst akış düğümü Query last month's total sales öğesinden, outputs çıkış parametresini seçin.

    Output Parameters

    Sistem varsayılan olarak outputs öğesini ekler.

  3. Yapılandırmayı tamamladıktan sonra, Check_Sales_Target düğümünü kaydetmek için image simgesine tıklayın.

4. Adım: Dal SQL düğümlerini yapılandırın

Bu eğitimde, dal SQL sorgu düğümü Last_Month_Sales_Target_Met_Data ve Last_Month_Sales_Target_Not_Met_Data olmak üzere iki düğüme ayrılmıştır. Branch Node bağlam parametrelerini Last_Month_Sales_Target_Met_Data ve Last_Month_Sales_Target_Not_Met_Data düğümlerine aktarmanız gerekir. Ardından, Input and Output Parameters bölümündeki Output Parameters kullanarak SQL sorgu sonucunu dal düğümünden ilgili hedefe ulaşıldı ve hedefe ulaşılmadı Data Push düğümlerine aktarın.

  1. Düzenleyicilerini açmak için Last_Month_Sales_Target_Met ve Last_Month_Sales_Target_Not_Met düğümlerine çift tıklayın ve her biri için aşağıdaki SQL kodunu girin.

    Geçen ayki satış hedefine ulaşıldı

    SET @all_cat_sales_volume_month := 0.0;
    SELECT SUM(sales) INTO @all_cat_sales_volume_month FROM orders WHERE datetime BETWEEN DATE_FORMAT(CURRENT_DATE - INTERVAL 1 MONTH, '%Y-%m-01 00:00:00') AND DATE_FORMAT(LAST_DAY(CURRENT_DATE - INTERVAL 1 MONTH), '%Y-%m-%d 23:59:59');
    
    -- Create a temporary table
    CREATE TEMPORARY TABLE IF NOT EXISTS temp_array (
      category VARCHAR(255),
      sales DOUBLE,
      all_cat_sales_volume_month DOUBLE
    );
    -- Query and write to the temporary table
    INSERT INTO temp_array (category, sales, all_cat_sales_volume_month) SELECT category, SUM(sales) AS amount, @all_cat_sales_volume_month FROM orders WHERE datetime BETWEEN DATE_FORMAT(CURRENT_DATE - INTERVAL 1 MONTH, '%Y-%m-01 00:00:00') AND DATE_FORMAT(LAST_DAY(CURRENT_DATE - INTERVAL 1 MONTH), '%Y-%m-%d 23:59:59') GROUP BY category ORDER BY amount DESC limit 3;
    -- Query the data for the top three compliant categories
    SELECT category, sales, all_cat_sales_volume_month FROM temp_array;

    Last month sales target not met

    SET @all_cat_sales_volume_month := 0.0;
    SELECT SUM(sales) INTO @all_cat_sales_volume_month FROM orders WHERE datetime BETWEEN DATE_FORMAT(CURRENT_DATE - INTERVAL 1 MONTH, '%Y-%m-01 00:00:00') AND DATE_FORMAT(LAST_DAY(CURRENT_DATE - INTERVAL 1 MONTH), '%Y-%m-%d 23:59:59');
    
    -- Create a temporary table
    CREATE TEMPORARY TABLE IF NOT EXISTS temp_array (
      category VARCHAR(255),
      sales DOUBLE,
      all_cat_sales_volume_month DOUBLE
    );
    
    -- Query and write to the temporary table
    INSERT INTO temp_array (category, sales, all_cat_sales_volume_month) SELECT category, SUM(sales) AS amount, @all_cat_sales_volume_month FROM orders WHERE datetime BETWEEN DATE_FORMAT(CURRENT_DATE - INTERVAL 1 MONTH, '%Y-%m-01 00:00:00') AND DATE_FORMAT(LAST_DAY(CURRENT_DATE - INTERVAL 1 MONTH), '%Y-%m-%d 23:59:59') GROUP BY category ORDER BY amount ASC limit 3;
    
    -- Query the data for the bottom three non-compliant categories
    SELECT category, sales, all_cat_sales_volume_month FROM temp_array;
  2. SQL kodunu girdikten sonra sağ taraftaki Scheduling Settings seçeneğine tıklayın. Özellikler bölmesinde aşağıdaki parametreleri yapılandırın.

    • Scheduling Time: 08:00.

    • Resource Group for Scheduling: Sunucusuz kaynak grubunuzu seçin.

    • Parent Nodes: İş akışı Step 1: Build the push workflow adımında oluşturulduğundan yukarı akış bağımlılığının doğru olduğunu doğrulayın.

      • Last_Month_Sales_Target_Met düğümü için yukarı akış düğümünün çıkış adı Compliant olmalıdır.

      • Last_Month_Sales_Target_Not_Met düğümü için yukarı akış düğümünün çıkış adı Non-compliant olmalıdır.

    • Output Parameters: Input and Output Parameters bölümünde Output Parameters yanındaki Add assignment parameter seçeneğine tıklayarak bir çıkış parametresi ekleyin.

  3. image simgesine tıklayarak Last_Month_Sales_Target_Met ve Last_Month_Sales_Target_Not_Met düğümlerini kaydedin.

Step 5: Configure the branch data push nodes

İki veri gönderme düğümü oluşturmanız gerekir. Her düğüm için Input and Output Parameters bölümündeki Input Parameters değerlerini sırasıyla Last_Month_Sales_Target_Met_Data ve Last_Month_Sales_Target_Not_Met_Data dallanma SQL sorgu düğümlerinden gelen outputs parametresini alacak şekilde yapılandırın. Ardından bu parametreleri Gövde (Body) kısmında kullanarak ilgili hedeflere gönderin.

  1. Push_Top_3_Categories_Target_Met ve Push_Bottom_3_Categories_Target_Not_Met düğümlerine çift tıklayın. Düğüm düzenleyicisinde Scheduling Settings seçeneğine tıklayın ve Scheduling Settings bölmesinde aşağıdaki ayarları yapın.

    Parametre türü

    Değer

    Açıklama

    Scheduling Parameter

    Parameter name

    curdate

    image

    Parameter Value

    $[yyyymmddhh:mi:ss]

    Schedule

    Scheduling Frequency

    Day

    image

    Scheduling Time

    08:00

    Not

    Bu öğreticide verilerin hedefe saat 08:00'de gönderilmesini sağlamak için örnek olarak 08:00 kullanılmıştır. İhtiyacınıza göre farklı bir saat yapılandırabilirsiniz.

    Rerun

    Başarılı ve başarısız çalıştırmalardan sonra yeniden çalıştırmaya izin verilir.

    Resource Group

    Resource Group for Scheduling

    Sunucusuz kaynak grubunuzu seçin.

    Not

    Bir veri gönderme düğümünü ilk kez kullandığınızda zamanlama kaynak grubunu yükseltmek için bir destek talebi göndermeniz gerekir.

    image

    Input and Output Parameters

    Input Parameters

    Bir giriş parametresi eklemek için Add seçeneğine tıklayın:

    • Parametre Adı: inputs.

    • Değer Kaynağı:

      • Push Top 3 Sales Goal Categories düğümünde Last Month's Sales Goal Data düğümünün çıkış parametresi olan outputs değerini seçin.

      • Push Bottom Three Underperforming Categories düğümünde Last Month's Underperforming Sales Data düğümünden gelen outputs çıkış parametresini seçin.

    • Push_Top_3_Categories_Target_Met düğümüimage

    • Push_Bottom_3_Categories_Target_Not_Met düğümüimage

  2. Scheduling Settings yapılandırıldıktan sonra veri gönderme içeriğini aşağıdaki gibi ayarlayın.

    • Destination: Destination açılır listesinden hedefinizi seçin. Hedefiniz listede yoksa listenin altındaki Create Destination seçeneğine tıklayarak yeni bir hedef oluşturun.

    • Parametre

      Açıklama

      Type

      DingTalk, Lark, WeCom, Microsoft Teams ve E-posta desteklenir.

      Object

      İş ihtiyaçlarınıza göre özel bir ad girin.

      Webhook

      DingTalk, Lark, WeCom veya Microsoft Teams sohbet botları için Webhook URL'sini veya E-posta için SMTP ayrıntılarını ilgili platformdan edinin.

      Not
    • Title: Push_Top_3_Categories_Target_Met ve Push_Bottom_3_Categories_Target_Not_Met.

    • Body: İhtiyaca göre yapılandırın. Ayrıntılar için bkz. Gönderim içeriğini yapılandırma.

      Not

      Gövde kısmında yukarı akış SQL sorgu düğümünden gelen giriş parametrelerine döndürülen alan adlarını yer tutucu olarak kullanarak başvurabilirsiniz.

      • Push_Top_3_Categories_Target_Met örneği image

      • Push_Bottom_3_Categories_Target_Not_Met örneği image

  3. Yapılandırmayı tamamladıktan sonra image simgesine tıklayarak Push_Top_3_Categories_Target_Met ve Push_Bottom_3_Categories_Target_Not_Met düğümlerini kaydedin.

Step 6: Test the conditional push workflow

Koşullu gönderim iş akışını yapılandırdıktan sonra göndermeden ve dağıtmadan önce test edin.

  1. Data_Push_Demo iş akışı sayfasını açmak için çift tıklayın.

  2. Query Last Month's Total Sales düğümünü seçin, sağ tıklayın ve Geçerli düğümü ve aşağı akış düğümlerini çalıştır seçeneğini belirleyin. Çalıştırmanın tamamlanmasını bekleyin.

    Not

    Bir görev başarısız olursa başarısız olan düğüme sağ tıklayın ve günlüğü görüntülemek için View Log seçeneğini belirleyin.

Betik ile veri gönderimi

Step 1: Build the workflow

İş akışı tuvalini açmak için DataPushDemo iş akışına çift tıklayın. Bir betik veri gönderimi iş akışı oluşturmak için SalesAmountPreWeek, Top3CategoryList ve Top3CategoriesPreWeek düğümlerini sırayla bağlayın.

image

Step 2: Configure the SQL query node

Test verilerini sorgulamak için bir SQL sorgu düğümü yapılandırabilir ve Input and Output Parameters kullanarak SQL sorgu düğümü için outputs çıkış parametresini oluşturabilirsiniz. Bu sayede SQL sorgu sonucunu bir atama düğümüne aktarabilirsiniz.

  1. Düzenleyicisini açmak için SalesAmountPreWeek düğümüne çift tıklayın ve aşağıdaki SQL kodunu girin.

    -- Query the top three categories by sales from the previous week
    SELECT category, SUM(sales) AS amount
    FROM orders
    WHERE datetime BETWEEN DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 WEEK), '%Y-%m-%d 00:00:00') AND DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 DAY), '%Y-%m-%d 23:59:59')
    GROUP BY category ORDER BY amount DESC limit 3;
  2. SQL kodunu girdikten sonra sağ taraftaki Scheduling Settings seçeneğine tıklayın. Özellikler bölmesinde aşağıdaki parametreleri yapılandırın.

    • Scheduling Time: 08:00.

    • Resource Group for Scheduling: Sunucusuz kaynak grubunuzu seçin.

    • Upstream Nodes: Add Root Node seçeneğini belirleyin.

    • Output Parameters: Input and Output Parameters bölümünde sorgu sonucunu alt düğüme aktarmak üzere bir çıkış parametresi eklemek için Output Parameters yanındaki Add assignment parameter seçeneğine tıklayın.image

  3. Query last week's sales data düğümündeki image Kaydet simgesine tıklayın.

3. Adım: Atama düğümünü yapılandırın

Atama düğümü, yukarı akıştaki SQL sorgusu düğümünden gelen outputs parametresini almak için Input and Output Parameters altındaki Input Parameters öğesini kullanır. Düğüm bu verileri işler, Output Parameters için yeni bir değer oluşturur ve bunu veri itme düğümüne iletir.

  1. Top3CategoryList atama düğümüne çift tıklayın. Düğüm düzenleyicisine aşağıdaki Python kodunu girin.

    def main():
    
        from datetime import date
        today = date.today()
        formatted_date = today.strftime('%Y-%m-%d')
        
        msg = 'Stat date: ' + formatted_date + ' \\n\\n ' \
        '- 1: ${inputs[0][0]}, sales: ${inputs[0][1]} \\n\\n ' \
        '- 2: ${inputs[1][0]}, sales: ${inputs[1][1]} \\n\\n ' \
        '- 3: ${inputs[2][0]}, sales: ${inputs[2][1]} \\n\\n '
        
        print(msg)
    
    if __name__ == "__main__":
        import sys
        main()
  2. Kodu girdikten sonra sağ taraftaki Scheduling Settings seçeneğine tıklayın. Açılan bölmede aşağıdaki parametreleri yapılandırın.

    • Scheduling Time:08:00.

    • Resource Group for Scheduling: Zamanlama kaynak grubunuzu seçin.

    • Input and Output Parameters.

      • Input Parameters:

        • Parameter name:inputs.

        • Value Source: Yukarı akıştaki SalesAmountPreWeek düğümünden outputs parametresini seçin.

      • Output Parameters: Sistem tarafından otomatik olarak oluşturulur.

  3. Top 3 Sales in Organization List atama düğümünü kaydetmek için image simgesine tıklayın.

4. Adım: Veri itme düğümünü yapılandırın

Yukarı akıştaki atama düğümünden gelen outputs parametresini almak için Input and Output Parameters altındaki Input Parameters öğesini yapılandırın. Ardından, bu parametreyi mesaj gövdesinde kullanarak hedefe itin.

  1. Push Top 3 Categories of Last Week adlı veri itme düğümüne çift tıklayın, Scheduling Settings seçeneğine tıklayın ve Scheduling Settings panelinde ayarları aşağıdaki gibi yapılandırın.

    Parametre türü

    Parametre içeriği

    Açıklama

    Scheduling Parameter

    Parameter name

    curdate.

    image

    Parameter Value

    $[yyyymmddhh:mi:ss].

    Schedule

    Scheduling Frequency

    Daily.

    image

    Scheduling Time

    08:00.

    Not

    Bu öğreticide, verilerin hedefe saat 08:00'de itildiğinden emin olmak için örnek olarak 08:00 kullanılmıştır. İhtiyaçlarınıza göre farklı bir saat yapılandırabilirsiniz.

    Rerun

    Düğüm başarılı veya başarısız olduktan sonra yeniden çalıştırılabilir.

    Resource Group

    Resource Group for Scheduling

    Zamanlama kaynak grubunuzu seçin.

    Not

    Bir veri itme düğümünü ilk kez kullandığınızda, zamanlama kaynak grubunu yükseltmek için bir destek bileti göndermeniz gerekir.

    image

    Input and Output Parameters

    Input Parameters

    Bir giriş parametresi eklemek için Add seçeneğine tıklayın:

    Parametre Adı:inputs.

    Değer kaynağı: Yukarı akış düğümü Top 3 sales categories last week üzerinden çıkış parametresi outputs öğesini seçin.

    image

  2. Scheduling Settings öğesini yapılandırdıktan sonra, veri itme içeriğini aşağıdaki gibi yapılandırın.

    • Destination: Destination açılır listesinden bir hedef seçin. Hedefiniz listede yoksa, eklemek için listenin alt kısmındaki Create Destination seçeneğine tıklayın.

    • Parametre

      Açıklama

      Type

      DingTalk, Lark, WeCom, Teams ve E-posta'yı destekler.

      Object

      İş ihtiyaçlarınıza göre özel bir ad belirtin.

      Webhook

      DingTalk, Lark, WeCom veya Teams botları için Webhook URL'sini ve e-posta için SMTP sunucu ayrıntılarını ilgili platformlardan edinin.

      Not
    • Title:Top 3 categories by sales for the previous week.

    • Body: Mesaj gövdesini ihtiyaca göre yapılandırın. Ayrıntılar için bkz. İtme içeriğini yapılandırma.

      Not

      Gövde içinde, yukarı akıştaki SQL sorgusu düğümünden döndürülen alan adlarını yer tutucu olarak kullanarak giriş parametrelerine başvurabilirsiniz.

      image

  3. Yapılandırmayı tamamladıktan sonra, Push Top Three Categories of Last Week itme düğümünü kaydetmek için image simgesine tıklayın.

5. Adım: Komut dosyası veri itme iş akışını test edin

Komut dosyası veri itme iş akışını yapılandırdıktan sonra, gönderip dağıtmadan önce test edin.

  1. İş akışı tuvalini açmak için DataPushDemo iş akışına çift tıklayın.

  2. SalesAmountPreWeek düğümüne sağ tıklayın ve Run Current Node and Its Descendant Nodes seçeneğini belirleyin. İşlemin tamamlanmasını bekleyin.

    Not

    Bir görev başarısız olursa, başarısız olan düğüme sağ tıklayın ve günlüğü görüntülemek için View Log seçeneğini belirleyin.

    image

Basit veri itme

1. Adım: İtme iş akışını oluşturun

Data_Push_Demo_Workflow öğesine çift tıklayın. İş akışı tuvalinde birden çok mevcut düğüm görebilirsiniz. MySQL sorgu düğümü Query_Yesterday_Sales_Total öğesini yukarı akış düğümü olarak sürükleyin ve aşağı akıştaki veri itme düğümü Push_Yesterday_Sales_Total ile bağlayın. Bu işlem, aşağıdaki şekilde gösterildiği gibi basit bir veri itme iş akışı oluşturur.

image

2. Adım: SQL sorgusu düğümünü yapılandırın

SQL sorgusu sonucunu veri itme düğümüne ileten bir outputs parametresi oluşturmak için Input and Output Parameters öğesini kullanın.

  1. Query_Yesterday_Sales_Total düğümüne çift tıklayın ve aşağıdaki SQL kodunu girin.

    -- Create a temporary table named temp_array
    CREATE TEMPORARY TABLE IF NOT EXISTS temp_array (
      total_amount DOUBLE
    );
    
    -- Write the total sales from yesterday into the temp_array table
    INSERT INTO temp_array (total_amount) 
    SELECT SUM(sales)
    FROM orders
    WHERE datetime BETWEEN DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 DAY), '%Y-%m-%d 00:00:00') AND DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 DAY), '%Y-%m-%d 23:59:59');
    
    -- Query the temp_array table
    select total_amount FROM temp_array;
  2. SQL kodunu girdikten sonra sağ taraftaki Scheduling Settings seçeneğine tıklayın. Özellikler bölmesinde aşağıdaki parametreleri yapılandırın.

    • Scheduling Time: 08:00.

    • Resource Group for Scheduling: Mevcut bir Serverless kaynak grubu seçin.

    • Upstream Nodes: Add Root Node seçeneğini belirleyin.

    • Output Parameters: Input and Output Parameters bölümünde, bir çıkış parametresi eklemek için Output Parameters yanındaki Add assignment parameter seçeneğine tıklayın. Böylece aşağı akış düğümleri bu değere erişebilir.image

  3. Query_Yesterday_Sales_Total düğümünü kaydetmek için image Kaydet simgesine tıklayın.

3. Adım: Veri aktarımı düğümünü yapılandırın

Üst akıştaki SQL sorgu düğümünden gelen outputs parametresini almak için Input and Output Parameters bölümündeki Input Parameters öğesini yapılandırın. Bu parametreyi daha sonra mesaj gövdesinde kullanabilir ve hedefe aktarabilirsiniz.

  1. Push_Yesterday_Sales_Total veri aktarımı düğümüne çift tıklayın. Düğüm düzenleyicisinde sağ taraftaki Scheduling Settings seçeneğine tıklayın. Scheduling Settings bölmesinde aşağıdaki parametreleri yapılandırın.

    Parametre türü

    Ayrıntılar

    Görsel

    Scheduling Parameter

    Parameter name

    curdate

    image

    Parameter Value

    $[yyyymmddhh:mi:ss]

    Schedule

    Scheduling Frequency

    Günlük

    image

    Scheduling Time

    08:00

    Not

    Bu eğitimde, verilerin hedefe saat 08:00'da aktarıldığından emin olmak için örnek olarak 08:00 kullanılmıştır. İhtiyacınıza göre farklı bir saat yapılandırabilirsiniz.

    Rerun

    Düğüm, başarılı veya başarısız bir çalıştırmadan sonra yeniden çalıştırılabilir.

    Resource Group

    Resource Group for Scheduling

    Mevcut bir zamanlama kaynak grubu seçin.

    Not

    Bir veri aktarımı düğümünü ilk kez kullandığınızda, zamanlama kaynak grubunu yükseltmek için bir destek talebi göndermeniz gerekir.

    image

    Input and Output Parameters

    Input Parameters

    Bir giriş parametresi eklemek için Add seçeneğine tıklayın:

    Parameter name: inputs.

    Value Source: Üst akıştaki Query_Yesterday_Sales_Total düğümünden outputs parametresini seçin.

    image

  2. Scheduling Settings yapılandırıldıktan sonra, veri aktarımı içeriğini aşağıdaki gibi yapılandırın.

    • Destination: Destination açılır listesinden bir hedef seçin. Hedefiniz listede yoksa Create Destination seçeneğine tıklayın.

      Parametre

      Açıklama

      Type

      Desteklenen türler arasında DingTalk, Feishu, WeCom, Teams ve E-posta bulunur.

      Object

      İş ihtiyaçlarınıza göre özel bir ad girin.

      Webhook

      DingTalk, Feishu veya WeCom botları ya da Microsoft Teams iş akışı için Webhook URL'sini ilgili platformlardan edinin. E-posta için SMTP ayrıntılarını edinin.

      Not
    • Title: Push_Yesterday_Sales_Total.

    • Body: Mesaj gövdesini ihtiyacınıza göre yapılandırın. Daha fazla bilgi için bkz. Aktarım içeriğini yapılandırma.

      Not

      Gövde içinde, üst akıştaki SQL sorgu düğümünün döndürülen alan adlarını yer tutucu olarak kullanarak giriş parametrelerine başvurabilirsiniz.

      image

  3. Push_Yesterday_Sales_Total veri aktarımı düğümünü kaydetmek için image Kaydet seçeneğine tıklayın.

4. Adım: Basit aktarım iş akışını test edin

Basit veri aktarımı iş akışını yapılandırdıktan sonra, dağıtım için göndermeden önce test edin.

  1. İş akışı tuvalini açmak için Data_Push_Demo_Workflow öğesine çift tıklayın.

  2. Query_Yesterday_Sales_Total düğümünü seçin, sağ tıklayın ve Run current node and its downstream nodes seçeneğini belirleyin. Çalıştırmanın tamamlanmasını bekleyin.

    Not

    Bir görev başarısız olursa, başarısız olan düğüme sağ tıklayın ve günlüğü görüntülemek için View Log seçeneğini belirleyin.

    image

Birleşik veri aktarımı

1. Adım: İş akışını oluşturun

Data Push Demo Flow iş akışı tuvalini açmak için çift tıklayın. Tuvalde, üst akış düğümleri olan Query Yesterday's Total Sales ve Query Yesterday's Sales Growth düğümlerini, alt akış düğümü Push Yesterday's Total Sales and Growth düğümüne sürükleyip bağlayarak aşağıdaki şekilde gösterildiği gibi birleşik bir veri aktarımı iş akışı oluşturun.

Not

Query yesterday's total sales düğümü, basit veri aktarımı iş akışında kullanılanla aynı olabilir.

image

2. Adım: SQL sorgu düğümünü yapılandırın

Test verilerini sorgulamak ve SQL sorgu sonucunu bir veri aktarımı düğümüne ileten outputs çıkış parametresini oluşturmak için bir SQL sorgu düğümü yapılandırabilir ve Input and Output Parameters kullanabilirsiniz.

  1. Query Yesterday's Sales Growth düğümüne tıklayın ve aşağıdaki SQL sorgu kodunu yazın.

    -- Create the temporary table temp_array1 to store data from the day before yesterday
    CREATE TEMPORARY TABLE IF NOT EXISTS temp_array1 (
      category VARCHAR(255),
      sales DOUBLE
    );
    -- Write data from the day before yesterday to temp_array1
    INSERT INTO temp_array1 (category, sales) SELECT category, SUM(sales)
    FROM orders
    WHERE datetime BETWEEN DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 2 DAY), '%Y-%m-%d 00:00:00') AND DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 2 DAY), '%Y-%m-%d 23:59:59')
    GROUP BY category;
    
    -- Create the temporary table temp_array2 to store yesterday's data
    CREATE TEMPORARY TABLE IF NOT EXISTS temp_array2 (
      category VARCHAR(255),
      sales DOUBLE
    );
    -- Write yesterday's data to temp_array2
    INSERT INTO temp_array2 (category, sales) SELECT category, SUM(sales)
    FROM orders
    WHERE datetime BETWEEN DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 DAY), '%Y-%m-%d 00:00:00') AND DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 DAY), '%Y-%m-%d 23:59:59')
    GROUP BY category;
    
    -- Create the result temporary table to store yesterday's sales growth
    CREATE TEMPORARY TABLE IF NOT EXISTS result (
      category VARCHAR(255),
      diff DOUBLE
    );
    -- Write the growth data to the result table
    INSERT INTO result (category, diff) SELECT temp_array2.category AS category, temp_array2.sales - temp_array1.sales AS diff FROM temp_array1 LEFT JOIN temp_array2 ON temp_array1.category = temp_array2.category;
    
    -- Query the growth data from the result temporary table
    SELECT category, diff FROM result;
  2. SQL kodunu girdikten sonra sağ taraftaki Scheduling Settings seçeneğine tıklayın. Özellikler bölmesinde aşağıdaki parametreleri yapılandırın.

    • Scheduling Time: 08:00.

    • Resource Group for Scheduling: Mevcut bir sunucusuz kaynak grubu seçin.

    • Upstream Nodes: Add Root Node seçeneğini belirleyin.

    • Output Parameters: Input and Output Parameters bölümünde, alt akış düğümlerinin giriş parametreleri için değer olarak çıkış parametreleri eklemek üzere Output Parameters yanındaki Add assignment parameter seçeneğine tıklayın.image

  3. Query Yesterday's Sales Growth düğümünü kaydetmek için image Kaydet seçeneğine tıklayın.

Adım 3: Veri gönderme düğümünü yapılandırın

Yukarı akıştaki Query Yesterday's Total Sales ve Query Yesterday's Sales Growth düğümlerinden gelen outputs çıkış parametresini almak için, Input Parameters alanındaki Input and Output Parameters öğesini kullanın. Bu sayede söz konusu parametreleri Gövde (Body) kısmında kullanarak hedefe gönderebilirsiniz.

  1. Push Yesterday's Total Sales and Growth adlı veri gönderme düğümüne çift tıklayın. Düğüm sayfası açıldığında Scheduling Settings seçeneğine tıklayın ve Scheduling Settings panelinde aşağıdaki ayarları belirtin.

    Parametre türü

    Açıklama

    Örnek

    Scheduling Parameter

    Parameter name

    curdate

    image

    Parameter Value

    $[yyyymmddhh:mi:ss]

    Schedule

    Scheduling Frequency

    Day

    image

    Scheduling Time

    08:00

    Not

    Bu eğitimde, verilerin saat 08:00'de hedefe gönderilmesini sağlamak amacıyla örnek olarak 08:00 kullanılmıştır. İhtiyacınıza göre farklı bir saat yapılandırabilirsiniz.

    Rerun

    Düğüm, önceki çalıştırmanın başarılı olup olmadığından bağımsız olarak yeniden çalıştırılabilir.

    Resource Group

    Resource Group for Scheduling

    Mevcut bir kaynak grubu seçin.

    Not

    Bir veri gönderme düğümünü ilk kez kullandığınızda, zamanlama kaynak grubunu yükseltmek için bir destek talebi oluşturmanız gerekir.

    image

    Input and Output Parameters

    Input Parameters

    Bu düğüm için giriş parametreleri eklemek üzere Add seçeneğine tıklayın:

    Parametre 1:

    • Parameter name: inputs1.

    • Value Source: Yukarı akış düğümü Query Yesterday's Total Sales öğesinin outputs çıkış parametresini seçin.

    Parametre 2:

    • Parameter name: inputs2.

    • Value Source: Yukarı akış düğümü Query Yesterday's Sales Growth öğesinden outputs çıkış parametresini seçin.

    image

  2. Scheduling Settings ayarlarını yaptıktan sonra veri gönderme içeriğini aşağıdaki gibi yapılandırın.

    • Destination: Destination açılır listesinden bir hedef seçin. İstediğiniz hedef listede yoksa, açılır listenin sağ alt köşesindeki Create Destination seçeneğine tıklayarak yeni bir hedef oluşturun.

    • Parametre

      Açıklama

      Type

      Desteklenen türler arasında DingTalk, Lark, WeCom, Microsoft Teams ve E-posta bulunur.

      Object

      İş gereksinimlerinize göre özel bir ad belirtin.

      Webhook

      DingTalk, Lark, WeCom veya Microsoft Teams sohbet botları için Webhook URL'sini ya da E-posta için SMTP ayrıntılarını ilgili platformdan alın.

      Not
    • Title: Push Yesterday's Total Sales and Growth

    • Body: Gövdeyi (Body) ihtiyaca göre yapılandırın. Daha fazla bilgi için bkz. Gönderme içeriğini yapılandırma.

      Not

      Gövde kısmında, yukarı akıştaki SQL sorgu düğümünden gelen giriş parametrelerine, döndürülen alan adlarını yer tutucu olarak kullanarak başvurabilirsiniz.

  3. Yapılandırma tamamlandığında, Push Yesterday's Total Sales and Growth gönderme düğümünü kaydetmek için image Kaydet seçeneğine tıklayın.

Adım 4: Birleştirilmiş gönderme iş akışını test edin

Birleştirilmiş gönderme iş akışını test etmeden önce basit gönderme iş akışı yapılandırmasını tamamlamanız gerekir. Bu yapılandırma, sonraki dağıtım aşaması için bir ön koşuldur.

  1. İş süreci diyagramı sayfasını açmak için Data Push Demo Flow öğesine çift tıklayın.

  2. Push Yesterday's Total Sales and Growth düğümünü seçin, sağ tıklayın ve Run Till Current Node seçeneğine tıklayın; ardından çalıştırmanın tamamlanmasını bekleyin.

    Not

    Bir görev başarısız olursa, başarısız olan düğüme sağ tıklayın ve günlüğü görüntülemek için View Log seçeneğine tıklayın.

    image

MaxCompute'ten veri gönderme

Adım 1: Veri gönderme akışını oluşturun

Data Push Demo Flow öğesine çift tıklayın. İş akışı tuvalinde oluşturulan düğümleri görebilirsiniz. Bir Batch Synchronization düğümünü sürükleyerek Assignment Node öğesinin yukarı akış düğümü olarak konumlandırın. Sync MySQL data to ODPS, Query ODPS data ve Push ODPS data düğümlerini sırayla bağlayın.

2. Adım: Toplu senkronizasyon düğümünü yapılandırın

Synchronize MySQL data to ODPS düğümünü, Verileri hazırlama aşamasında MySQL'e yazılan test verilerini sonraki adımlarda kullanmak üzere ODPS veri kaynağına aktaracak şekilde yapılandırın.

  1. Toplu senkronizasyon düğümünü yapılandırmak için Synchronize data from MySQL to ODPS düğümüne çift tıklayın.

    Parametre

    Yapılandırma

    Örnek

    Source

    Data Source

    MySQL

    image

    Data Source Name

    Oluşturduğunuz MySQL veri kaynağını seçin.

    My Resource Group

    Sunucusuz bir kaynak grubu seçin.

    Destination

    Destination

    MaxCompute (ODPS)

    Data Source Name

    Çalışma alanına bağlı MaxCompute veri kaynağını seçin.

    Yapılandırmayı tamamladığınızda sistem, veri kaynağı ile kaynak grubu arasındaki bağlantıyı otomatik olarak test eder. Test başarılı olduktan sonra İleri'yi tıklayarak kaynak ve hedef ayrıntılarını yapılandırın.

  2. Kaynağı ve hedefi yapılandırın.

    Parametre

    Yapılandırma

    Örnek

    Data Source

    Data Sources

    Varsayılan ayarları koruyun:

    • MySQL.

    • Oluşturduğunuz MySQL veri kaynağını seçin.

    image

    Table

    orders tablosunu seçin.

    Data Filter

    İhtiyaca göre yapılandırabilirsiniz. Bu eğitim için boş bırakın.

    Shard Key

    Bölme anahtarı olarak kaynak tablodan bir sütun kullanabilirsiniz. Birincil anahtarı veya dizinlenmiş bir sütunu kullanmanızı öneririz.

    Data Preview

    MySQL veri kaynağından alınan verileri ön izleyerek beklentilerinizi karşılayıp karşılamadığını doğrulayın.

    Destination

    Data Sources

    Varsayılan ayarları koruyun:

    • MaxCompute (ODPS).

    • Çalışma alanına bağlı MaxCompute veri kaynağını seçin.

    image

    Tunnel Resource Group

    Bu parametre Tunnel Kotasını belirtir. Varsayılan değer "Public transmission resources" olup MaxCompute için ücretsiz kotadır.

    Table

    Hedef tabloyu oluşturmak için Generate Destination Table Schema öğesine tıklayın.

    Partition Information

    Günlük artımlı verileri yüklemek için tarihe dayalı bir bölüm yapılandırın. Örneğin, pt bölümünü ${bizdate} olarak ayarlayın.

    Write Method

    Yazmadan önce mevcut verileri temizle ( existing data before writing (Insert Overwrite))

  3. Kaynağı ve hedefi yapılandırdıktan sonra alanları Map Fields with the Same Name seçeneğiyle eşleyebilirsiniz.image

  4. Kanal kontrolünü yapılandırın.

    • Expected Maximum Concurrency: Çalışma zamanındaki gerçek eşzamanlılık, kaynak sınırlamaları veya görevin doğası nedeniyle bu değerden düşük veya buna eşit olabilir. Ücretlendirme gerçek eşzamanlılığa göre yapılır. Bu eğitim için 2 eşzamanlılık yeterlidir.

    • Bandwidth Throttling: Kaynak veya hedef üzerindeki okuma/yazma yükünü korumak için hız sınırlaması kullanabilirsiniz. Hız sınırlaması yapılandırmazsanız sistem donanımın desteklediği maksimum aktarım performansını sağlar. Bu eğitimde hız sınırlaması yapılandırılmamıştır.

    • Policy for Dirty Data Records: Kirli verilere izin verilmez.

    • Distributed Execution: Bu özellik varsayılan olarak devre dışıdır. Etkinleştirmek için en az 8 eşzamanlılık gerekir.

    image

  5. Zamanlama özelliklerini yapılandırın.

    Entegrasyon görevini yapılandırdıktan sonra sayfanın sağ tarafındaki Properties seçeneğine tıklayın. Properties panelinde aşağıdaki parametreleri yapılandırın.

    • Scheduling Parameter:

      • Parameter name: bizdate

      • Parameter Value: $[yyyymmdd-1]

    • Scheduling Time: 08:00

    • Rerun: Açılır listeden Allow Regardless of Running Status seçeneğini belirleyin.

    • Resource Group for Scheduling: Oluşturduğunuz zamanlama kaynak grubunu seçin.

    • Dependencies: Toplu senkronizasyon görevi için üst akış bağımlılığı olarak kullanmak üzere çalışma alanı kök düğümünü seçin.

  6. Synchronize MySQL data to ODPS toplu senkronizasyon düğümünü kaydetmek için image Save simgesine tıklayın.

3. Adım: Atama düğümünü yapılandırın

ODPS veri kaynakları, bir ODPS SQL düğümü kullanarak veri sorgulamayı ve verileri Input and Output Parameters aracılığıyla bir veri gönderme düğümüne çıkarmayı desteklemez. ODPS verilerini sorgulamak için bir atama düğümü kullanmanız ve ardından verileri veri gönderme düğümüne çıkarmak için Input and Output Parameters özelliğini etkinleştirmeniz gerekir.

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

    1. Düzenleyicinin üst kısmındaki Language açılır listesinden ODPS SQL seçeneğini belirleyin.

    2. ODPS SQL kodunu girin.

      -- Create a subquery with a ranking to calculate the descending order of sales within each partition (pt).
      -- The DENSE_RANK() function assigns a unique rank to each row within a partition.
      -- Rows with equal sales values receive the same rank, and no rank numbers are skipped.
      --
      -- Subquery details:
      -- 1. Select the required columns from the 'orders' table: order_id, category, sales, datetime, and pt (business date).
      -- 2. Use DENSE_RANK() OVER (PARTITION BY pt ORDER BY sales DESC):
         -- PARTITION BY pt specifies that ranking is performed separately for each unique value in the pt column.
         -- ORDER BY sales DESC sorts rows within each partition by sales in descending order.
         -- The 'rank' column stores the sales rank of each row within its partition.
      --
      -- Main query details:
      -- The main query selects records from the ranked subquery where the rank is 3 or less.
      -- This ensures that for each business date, only the top three orders by sales are retrieved.
      
      SELECT
        order_id,          -- Select the order ID
        category,          -- Select the product category
        sales,             -- Select the sales amount
        datetime,          -- Select the order time
        pt                 -- Select the business date
      FROM (
          SELECT
            order_id,
            category,
            sales,
            datetime,
            pt,
            DENSE_RANK() OVER (PARTITION BY pt ORDER BY sales DESC) AS rank  -- Calculate sales rank within each pt partition
          FROM orders
          WHERE pt = '${bizdate}'  -- Filter records for the specified business date
      ) AS ranked_orders
      WHERE rank <= 3  -- Keep only the top three records by sales for each pt partition
  2. SQL kodunu girdikten sonra sağ taraftaki Scheduling Settings seçeneğine tıklayın. Properties bölmesinde aşağıdaki parametreleri yapılandırın.

    • Scheduling Time: 08:00.

    • Resource Group for Scheduling: Daha önce oluşturduğunuz sunucusuz bir kaynak grubunu seçin.

    • Parent Nodes: Üst düğümün bir MySQL to ODPS toplu senkronizasyon düğümü olup olmadığını kontrol edin.

    • Input and Output Parameters: Alt düğümlerin giriş parametresi değeri olarak kullanmak üzere bir çıkış parametresi eklemek için çıkış parametrelerinin yanındaki Add seçeneğine tıklayın.

      image

  3. ODPS data query düğümünü kaydetmek için image Save simgesine tıklayın.

Adım 4: Veri aktarım düğümünü yapılandırın

Üst akış atama düğümünden outputs parametresini almak ve bu parametreleri gövde kısmında kullanarak hedefe aktarmak için, Input Parameters bölümündeki Input and Output Parameters ayarlarını yapılandırın.

  1. ODPS Data Push adlı veri aktarım düğümüne çift tıklayın, Scheduling sekmesine tıklayın ve Scheduling panelinde aşağıdaki ayarları yapılandırın.

    Parametre türü

    Yapılandırma

    Örnek

    Scheduling Parameter

    Parameter name

    curdate

    image

    Parameter Value

    $[yyyymmddhh:mi:ss]

    Schedule

    Scheduling Frequency

    DD

    image

    Scheduling Time

    08:00

    Not

    Bu eğitimde, verilerin hedefe saat 08:00'da aktarıldığından emin olmak için örnek olarak 08:00 kullanılmıştır. İhtiyacınıza göre farklı bir saat yapılandırabilirsiniz.

    Rerun

    Allow Regardless of Running Status.

    Resource Group

    Resource Group for Scheduling

    Veri aktarımı özelliğinin yayınlanma tarihinden sonra oluşturulmuş bir kaynak grubu seçin. Kaynak grubunuz bu tarihten önce oluşturulduysa, yükseltme için bir destek talebi oluşturun.

    Not

    Veri aktarım düğümü özelliği 28 Haziran 2024 tarihinde yayınlanmıştır. Daha fazla DataWorks sürüm notu için bkz. Release History.

    image

    Input and Output Parameters

    Input Parameters

    Bu düğüm için giriş parametreleri eklemek üzere Add öğesine tıklayın:

    • Parameter name: inputs

    • Value Source: Üst akıştaki ODPS Data Query düğümünün outputs çıkış parametresini seçin.

    image

  2. Scheduling Settings ayarlarını yapılandırdıktan sonra, veri aktarım içeriğini aşağıdaki gibi yapılandırın.

    • Destination: Destination açılır listesinden gerekli hedefi seçin. Hedef mevcut değilse, açılır listenin sağ alt kısmındaki Create Destination seçeneğine tıklayarak yeni bir hedef oluşturabilirsiniz.

    • Parametre

      Açıklama

      Type

      Desteklenen hedefler arasında DingTalk, Lark, WeChat Work, Microsoft Teams ve E-posta bulunur.

      Object

      İş gereksinimlerinize göre özel bir ad belirtin.

      Webhook

      DingTalk, Lark, WeChat Work veya Microsoft Teams botları için webhook URL'sini ya da e-posta için SMTP ayrıntılarını ilgili platformlardan almanız gerekir.

      Not
    • Title: ODPS Data Push

    • Body: Gerektiği şekilde yapılandırın. Ayrıntılar için bkz. Aktarım içeriğini yapılandırma.

      Not

      Mesaj gövdesinde, üst akış atama düğümünün sorgu sonucundaki alan adlarını doğrudan yer tutucu olarak kullanabilirsiniz.

  3. Yapılandırmayı tamamladıktan sonra, veri aktarım düğümünü kaydetmek için image Save simgesine tıklayın.

Adım 5: MaxCompute veri aktarım akışını test edin

Veri aktarım akışındaki tüm düğümleri yapılandırdıktan sonra, akışı gönderip dağıtmadan önce test etmeniz gerekir.

  1. Data_Push_Demo iş akışı sayfasını açmak için çift tıklayın.

  2. Sync Data from MySQL to ODPS düğümünü seçin, sağ tıklayın ve Geçerli düğümü ve alt akış düğümlerini çalıştır seçeneğini belirleyin; çalıştırmanın tamamlanmasını bekleyin.

    Not

    Bir görev başarısız olursa, başarısız olan düğüme sağ tıklayın ve günlüğü görüntülemek için View Log seçeneğini belirleyin.

    image

Gönderme ve yayınlama

Veri aktarım akışını yapılandırdıktan sonra, tüm veri aktarım akışlarının doğru çalıştığını doğrulamak için Data Push Demo Example iş süreci diyagramına çift tıklayın. Testler başarılı olduktan sonra akışları gönderin ve yayınlayın.

  1. Veri aktarım akışının düzenleme sayfasında, iş sürecini çalıştırmak için image simgesine tıklayın.

  2. Veri aktarım akışındaki tüm düğümlerde image simgesi göründükten sonra, akışı göndermek için image simgesine tıklayın.

  3. Submission iletişim kutusunda, gönderilecek düğümleri seçin ve Ignore I/O Inconsistency Alerts onay kutusunu işaretleyin.

  4. Submission seçeneğine tıklayın.

  5. Akışı gönderdikten sonra, düğümlerini yayınlama sayfasında yayınlayabilirsiniz. Daha fazla bilgi için bkz. Görevi Yayınlama.

Sonraki adımlar

Bir veri aktarımı, yapılandırılan zamanlama döngüsünde çalışır. İşlem Merkezi'nden, yayınlanmış bir veri aktarımının görev düğümlerini yönetebilirsiniz. Ayrıntılar için bkz. Zamanlanan görevlerde temel işlemler.