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 檔案,檔案內容如下圖所示:

