日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

文檔

賦值節點

更新時間:

當您需要將上游節點任務的查詢或輸出結果提供給下游節點使用時,可通過賦值節點實現。賦值節點支持ODPS SQL、SHELL和Python三種賦值語言,將節點最后一條查詢或輸出結果自動賦值給節點自帶的輸出參數(outputs),便于賦值節點的下游節點引用。您可結合節點上下文配置,參考本文使用賦值節點。

注意事項

  • 賦值節點功能說明

    • 賦值節點參數傳遞只支持傳遞給一層子節點,不支持跨節點傳遞。

    • 賦值節點只能將最后一條查詢或輸出結果通過自帶輸出參數傳遞給下游。

    • 賦值節點的Python賦值語言使用的Python版本為Python 2.0。

    • 賦值節點代碼中不支持添加注釋,添加注釋可能導致運行結果有誤。

  • 賦值節點版本及賦值參數說明

    • 部分節點可通過節點上下文中的賦值參數,達到與賦值節點相同的目的(例如,EMR Hive、EMR Spark SQL、ODPS Script、Hologres SQL、AnalyticDB for PostgreSQL和MySQL節點),賦值參數的使用與賦值節點一致,添加賦值參數的操作,詳情請參見配置節點上下文

    • 僅標準版及以上版本的DataWorks,才可使用賦值節點,以及在上述節點中使用賦值參數功能。購買DataWorks,請參見購買指引

  • 為避免下游節點無法獲取賦值節點的結果集,賦值節點及其下游節點配置完成后,請統一運行節點所在的業務流程。

    • 調試運行任務,請參見調試運行任務

    • 下游節點引用賦值節點結果集后,您可提交下游節點及賦值節點至開發環境運維中心,測試引用結果是否正確。詳情請參見測試賦值節點結果集

      說明

      依賴賦值節點的下游節點均可獲取賦值節點的查詢結果(即結果集),無節點類型限制。本文主要以ODPS SQL 節點、以及Shell節點為例,為您介紹下游節點如何獲取賦值節點的輸出結果。

  • 本實驗中的,您可通過ETL工作流模板快速體驗本案例賦值節點參數的傳遞能力。

原理介紹

在DataWorks中,節點上下文參數可實現節點參數的上下游傳遞,賦值節點在此基礎上,可將賦值節點最后一條查詢結果傳遞給自帶的輸出參數(outputs),若下游節點依賴了賦值節點,則下游節點可通過添加輸入參數的方式,在節點代碼中獲取賦值節點輸出參數(outputs)的結果集(即上游賦值節點的查詢結果)。image.png

  • 賦值節點自帶的輸出參數(outputs)不可修改,outputs取值由賦值節點最后一條查詢或輸出結果決定。

  • 賦值節點下游獲取賦值節點結果集(outputs)時,需要先直接依賴賦值節點(即賦值節點為下游節點的一層父節點),并在節點輸入參數處添加賦值節點結果集。您可自定義賦值節點結果集在下游節點的參數名稱,例如上圖中命名為sql_inputs。

  • 不同賦值語言的賦值節點,其結果集格式存在差異。賦值節點下游獲取賦值節點結果集outputs時,需要根據outputs具體情況,以${參數名}的格式,使用一維數組二維數組的方式在代碼中獲取賦值節點傳遞的結果集、或結果集中的指定數據。

賦值節點使用流程

  1. 配置賦值節點:定義outputs結果集。此階段您需要選擇賦值語言,以及確定最后一條查詢或輸出結果。

  2. 配置上下游依賴:獲取賦值節點結果集的下游節點需提前依賴該賦值節點。

  3. 下游引用賦值節點結果集:下游節點可通過節點上下文 > 添加節點輸入參數方式獲取賦值節點結果集,并通過${參數名}的方式在代碼中獲取賦值節點結果集。若要獲取結果集中的指定數據,您需根據賦值節點的賦值語言,通過一維數組或二維數組的方式獲取。

  4. 調試運行任務:您可運行業務流程,查看引用結果是否符合預期。

  5. 測試獲取的賦值節點結果集:下游節點引用賦值節點結果集后,您可提交下游節點及賦值節點至開發環境運維中心測試引用結果是否正確。

賦值節點創建入口

  1. 進入數據開發頁面。

    登錄DataWorks控制臺,切換至目標地域后,單擊左側導航欄的數據建模與開發 > 數據開發,在下拉框中選擇對應工作空間后單擊進入數據開發

  2. 進入節點創建入口。

    在數據開發頁面基于具體業務流程創建節點,并根據界面指引配置節點的名稱、路徑等基本信息。創建入口如下圖。

    本示例中新建3個不同語言的賦值節點(Python、ODPS SQL和SHELL),節點名稱分別為fuzhi_python、fuzhi_sql、fuzhi_shell。

    image.png

    使用賦值節點時,不同賦值語言,其賦值參數(outputs)輸出格式存在差異,詳情請參見賦值節點輸出格式

    此外,您可根據實際需要配置各節點調度配置中的基礎屬性、時間屬性、資源屬性,詳情可參見配置基礎屬性時間屬性配置說明配置資源屬性

賦值節點輸出格式

賦值節點支持ODPS SQL、SHELL和Python三種賦值語言,使用不同賦值語言時,賦值節點的參數(outputs)輸出格式不同,下游節點需要根據outputs的具體情況,以${參數名}的格式,使用一維數組二維數組的方式在代碼中獲取賦值節點傳遞的結果集、或結果集中的指定數據。

賦值語言

outputs參數取值

outputs參數格式

outputs參數大小限制

ODPS SQL

最后一行SELECT語句的輸出作為賦值參數,添加為賦值節點的本節點輸出參數,供其他節點引用。

將輸出結果作為一個二維數組傳遞至下游。

傳遞值最大為2MB。如果賦值語句的輸出結果超過該限制,賦值節點會運行失敗。

SHELL

最后一行ECHO語句的數據,添加為賦值節點的本節點輸出參數,供其他節點引用。

將輸出結果基于逗號(,)分割為一維數組。

Python

最后一行PRINT語句的輸出,添加為賦值節點的本節點輸出參數,供其他節點引用。

將輸出結果基于逗號(,)分割為一維數組。

下游獲取賦值節點結果集:應用示例一

本示例中,直接通過拉線,將start節點作為所有賦值節點的上游節點,down_compare節點作為所有賦值節點的下游節點,其中down_compare節點為Shell節點,以${參數名}的格式,使用一維數組二維數組的方式,通過Shell節點分別輸出上游賦值語言分別為ODPS SQL(fuzhi_sql)、Python(fuzhi_python)、SHELL(fuzhi_shell)的結果集與結果集中的指定數據。參數透傳

  • 賦值節點(fuzhi_python、fuzhi_sql、fuzhi_shell):自帶輸出參數outputs。

  • 下游節點(down_compare):下游節點設置賦值節點依賴關系后,將待引用的賦值參數添加為節點上下文 > 本節點輸入參數,參數名可自定義。

具體過程請參照下文。

ODPS SQL賦值語言

以下以配置賦值語言為ODPS_SQL的賦值節點,并在down_compare節點中引用賦值參數為例,為您示意如何操作。

  1. 配置上游賦值節點。

    1. 在相應的業務流程下,雙擊打開賦值語言為ODPS SQL的賦值節點fuzhi_sql

    2. 在代碼編輯頁面,選擇賦值語言為ODPS_SQL,寫入賦值代碼。

      示例如下。

      select * from xc_dpe_e2.xc_rpt_user_info_d  where dt='20191008' limit 10;  
    3. 單擊頁面右側的調度配置,查看節點上下文中的本節點輸出參數

      賦值節點將代碼的查詢結果作為節點輸出,賦值給賦值節點自帶的輸出參數outputs

      本示例賦值節點的查詢結果如下。查詢結果則此查詢結果作為一個二維數組,賦值給本節點輸出參數中的outputs參數。

      上游節點

  2. 配置下游節點。

    1. 雙擊打開下游Shell節點down_compare

    2. 在代碼開發頁面編寫代碼。

      示例如下。

      echo '${sql_inputs}';
      echo '取上游sql節點輸出第1行數據'${sql_inputs[0]};
      echo '取上游sql節點輸出第2行數據'${sql_inputs[1]};
      echo '取上游sql節點輸出第1行第2個字段'${sql_inputs[0][1]};
      echo '取上游sql節點輸出第2行第3個字段'${sql_inputs[1][2]};
    3. 單擊頁面右側的調度配置,配置節點上下文中的本節點輸入參數

      將fuzhi_sql節點的outputs參數添加為本節點輸入參數,并命名為sql_inputs調度配置

  3. 調試運行任務

    示例返回的引用結果如下。

    輸出結果

Python賦值語言

以下以配置賦值語言為Python的賦值節點,并在down_compare節點中引用賦值參數為例,為您示意如何操作。

  1. 配置上游賦值節點。

    1. 在相應的業務流程下,雙擊打開賦值語言為Python的上游節點fuzhi_python

    2. 在代碼編輯頁面,選擇賦值語言為Python,寫入賦值代碼。

      例如:

      print "a,b,c";
    3. 單擊頁面右側的調度配置,查看節點上下文中的本節點輸出參數

      賦值節點將代碼的查詢結果作為節點輸出,賦值給賦值節點自帶的輸出參數outputs。本示例的查詢結果為a,b,cPython

      賦值語言為Python時,查詢結果將基于逗號(,)分割為一維數組,賦值給本節點輸出參數中的outputs參數。

  2. 配置下游節點。

    1. 雙擊打開下游Shell節點down_compare

    2. 在代碼開發頁面編寫代碼。

      例如:

      echo '這是上游python節點的輸出'${python_inputs};
      echo '取上游python節點輸出的第1個數據'${python_inputs[0]};
      echo '取上游python節點輸出的第2個數據'${python_inputs[1]};
    3. 單擊頁面右側的調度配置,配置節點上下文中的本節點輸入參數

      將fuzhi_python節點的outputs參數添加為本節點輸入參數,并命名為python_inputsPython

  3. 調試運行任務

    示例返回的引用結果如下。

    查看結果

SHELL賦值語言

以下以配置賦值語言為SHELL的賦值節點,并在down_compare節點中引用賦值參數為例,為您示意如何操作。

  1. 配置上游賦值節點。

    1. 在相應的業務流程下,雙擊打開賦值語言為SHELL的上游節點fuzhi_shell

    2. 在代碼編輯頁面,選擇賦值語言為SHELL,寫入賦值代碼。

      例如:

      echo "hello,world";
    3. 單擊頁面右側的調度配置,查看節點上下文中的本節點輸出參數

      賦值節點將代碼的查詢結果作為節點輸出,賦值給賦值節點自帶的輸出參數outputs。本示例的查詢結果為hello,worldSHELL

      賦值語言為SHELL時,查詢結果將基于逗號(,)分割為一維數組,賦值給本節點輸出參數中的outputs參數。

  2. 配置下游節點。

    1. 雙擊打開下游Shell節點down_compare

    2. 在代碼開發頁面編寫代碼。

      例如:

      echo '這是上游shell節點的輸出'${shell_inputs};
      echo '取上游shell節點輸出的第1個數據'${shell_inputs[0]};
      echo '取上游shell節點輸出的第2個數據'${shell_inputs[1]};
    3. 單擊頁面右側的調度配置,配置節點上下文中的本節點輸入參數

      將fuzhi_shell節點的outputs參數添加為本節點輸入參數,并命名為shell_inputsSHELL

  3. 調試運行任務

    示例返回的引用結果如下。

    結果

下游獲取賦值節點結果集:應用示例二

不同語言的賦值參數(output)使用示例如下。

賦值語言

outputs取值示例

賦值節點調度配置

下游節點調度配置

下游節點取值方式

下游節點返回結果

ODPS SQL

示例查看fuzhi_tb表。

  • 查詢代碼:SELECT * FROM fuzhi_tb;

  • 顯示結果。運行結果

  1. 賦值節點的調度配置 > 節點上下文默認生成一個本節點輸出參數ouputsoutput

  2. 在節點編輯頁面,單擊提交圖標提交節點。

配置節點上下文,詳情請參見配置節點上下文

以上游賦值節點使用的賦值語言為ODPS SQL示例。

  1. 配置下游節點依賴上游賦值節點。調度依賴示例配置節點調度依賴,詳情請參見配置同周期調度依賴

  2. 節點上下文添加本節點輸入參數,參數命名為inputs_odps_sql節點上下文示例配置節點上下文,詳情請參見配置節點上下文

不同類型的下游節點取值如下:

  • ODPS SQL:select '${inputs_odps_sql[0][0]}';

  • SHELL:echo '${inputs_shell[0]}';

  • Pyodps3:print ('${inputs_python[0]}');

Hello

SHELL

示例語句為:echo 'Data','我是賦值節點2賦值語言shell';

Data

Python

示例語句為:print "Works!,我是賦值節點3賦值語言是python";

Works!

調試運行任務

下游獲取賦值節點結果集后,您可雙擊業務流程名稱,在業務流程編輯頁面單擊工具欄的image圖標,運行業務流程,查看引用結果是否正確。

說明

測試獲取的賦值節點結果集

下游節點引用賦值節點結果集后,您可將下游節點及賦值節點提交至開發環境,并進入開發環境運維中心執行補數據操作,測試下游節點獲取的賦值節點結果集數據是否正確。