1. 概述
1.1 版本
FineDataLink 版本 | 功能變動 |
---|---|
4.0.28 | 新增「Python腳本」節點 |
4.1.0 | 「腳本參數」下拉框中顯示已配置參數 |
4.1.3 | 增加指定 Python 版本的功能 |
1.2 應用場景
使用者的許多資料處理是透過 Python 腳本實現的,希望 FineDataLink 支援呼叫 Python 腳本。
1.3 功能簡介
新增「Python腳本」節點,支援直接呼叫 Python 腳本。
2. 使用限制
1)Python 腳本若放在 Linux 或者 mac 時,腳本路徑和參數值中禁止使用單引號'。
2)Python 腳本若放在 Windows 時,腳本路徑和參數值中禁止使用雙引號"。
3. Python 腳本與 Python 算子差別
差別 | Python 腳本 | Python 算子 |
---|---|---|
應用場景 | 在定時任務中呼叫已有的 Python 腳本 | 在資料開發程式中,對於一些複雜的資料處理(比如使用視覺化算子或者 SparkSQL 較難實現的),需要在「資料轉換」節點中使用 Python 腳本處理資料 |
使用位置 | 屬於 步驟流 ,可與「資料轉換」、「資料同步」等節點一起使用 | 屬於 資料流 ,在「資料轉換」節點中使用 |
使用程式 | 透過 SSH 資料連結,直接呼叫 Python 腳本: | 配置 Python 環境後,在「Python算子」中編寫 Python 程式碼實現 |
4. 範例
4.1 場景模擬
Python 腳本中儲存着學生成績資訊:
給 Python 腳本輸入學生姓名(本文範例中參數值為 John)參數,取出該學生成績,將取出的資料匯出到 test.txt 檔案中,test.txt 為自動建立的檔案,且與 Python 腳本在同一路徑下。
範例資料:Python脚本.zip、name.xls
注:本文的遠端伺服器中,Python 版本為 2.7.5,使用者若按照本文範例操作,可能需要修改腳本。
4.2 建立 SSH 資料連結
使用「Python腳本」節點執行 Python 腳本前,需要先配置 配置SSH協定資料連結,遠端連結目標伺服器。如下圖所示:
4.3 取出學生姓名並作為參數匯出
1)取出學生姓名資料。如下圖所示:
2)將取出的學生姓名資料作為參數匯出。
Python 腳本中接收的參數名為 w,所以此處參數名也為 w ;取出第一欄所有行的資料;預設值只是為了下游節點提前預覽設定的,實際運作時不會用到這個預設值,直接從右側的「參數預覽」中複製即可。
如下圖所示:
4.4 設定 Python 腳本節點
拖入「Python腳本」節點,設定要執行的 Python 腳本檔案,新增 4.3 節設定的腳本參數。如下圖所示:
各設定項說明如下表所示:
設定項 | 說明 |
---|---|
Python 命令 | 用於指定運作腳本時使用的命令,下拉框中可選擇 Python、Python2、Python3 |
SSH 連結 | 下拉所有可選的 SSH 連結 |
腳本路徑 | 填寫 SSH 目標端要執行的 Python 腳本完整路徑:
|
腳本參數 | 1)指定傳遞給腳本的參數:
2)4.1.0 及之後版本,參數下拉框中顯示已配置參數,分為任務內參數、全局參數:
|
命令逾時配置 | 腳本開始執行到完全執行完畢的逾時時間,預設選擇無限制 執行X秒後逾時中斷,X值的範圍:0~1000000 |
字元編碼 | 指定匯出字元編碼,預設為UTF-8 下拉框內容:
|
4.5 運作結果
1)點選「儲存並運作」按鈕,任務執行成功後,如下圖所示:
2)可看到 Python 腳本所在的路徑下自動生成了 test.txt 檔案,檔案內容如下圖所示: