Dataphin僅支持開發基于Python的腳本,不支持開發依賴第三方組件的腳本。開發基于第三方組件的腳本,需要通過pip install下載第三方組件。本文為您介紹基于Dataphin如何通過構建Shell任務調用Python讀取第三方文件。

前提條件

  • 添加訪問地址mirrors.aliyun.com和端口*至項目空間的沙箱白名單,詳情請參見設置白名單
  • 已準備Python支持讀取的文件,例如TXT、CSV、XLS、XLSX或PDF等格式文件。

步驟一:上傳文件

  1. 登錄Dataphin控制臺
  2. 在Dataphin控制臺頁面,選擇工作區地域后,單擊進入Dataphin>>
  3. 進入資源管理頁面。
    1. 在Dataphin首頁,單擊研發
    2. 在數據開發頁面,單擊數據處理
    3. 在左側導航欄,單擊資源管理資源管理圖標。
  4. 資源管理頁面,單擊資源管理后的圖標。
  5. 新建資源對話框中,配置參數。
    rea
    參數 描述
    類型 選擇others
    名稱 上傳文件的名稱需要以文件類型結尾。例如test.xlsx
    描述 填寫資源的描述。
    上傳文件 選擇本地的文件,例如test.xlsx
    計算類型 選擇無歸屬引擎
    注意 文件資源存儲至Dataphin系統,因此僅支持選擇無歸屬引擎
    選擇目錄 默認為資源管理
  6. 單擊提交,完成資源的提交。
  7. 提交備注對話框,填寫備注信息。
  8. 單擊確定并提交

步驟二:創建Shell任務

  1. 數據處理頁簽,單擊左側導航欄agaga計算任務圖標。
  2. 計算任務頁面,單擊計算任務后的圖標,選擇通用腳本 > SHELL
  3. 編寫DataX任務代碼。
    1. 新建文件對話框,配置參數。
      test
      參數 描述
      名稱 填寫計算任務的名稱,例如Python讀取文件。
      調度類型 選擇任務的調度類型為周期性節點
      描述 填寫對任務的簡單描述。
      選擇目錄 系統自動選擇為代碼管理
    2. 單擊確定

步驟三:編寫并運行Shell任務代碼

  1. 在代碼編寫頁面,編寫代碼。
    #在Dataphin的Linux服務器上新建目錄。
    mkdir -p /tmp/chars/ && \
           
    #指定目錄/tmp/chars/為python源。
    pip install -i https://mirrors.aliyun.com/pypi/simple/ \
    --target=/tmp/chars/ \
    openpyxl
    
    #指定的python源寫入至openfile.py。
    cat >openfile.py <<EOF
    
    @resource_reference{"test.xlsx"}
    # -*- coding:utf-*-
    import os
    import sys
    sys.path.append('/tmp/chars/')
    import openpyxl
    print '========= python execute ok =========='
    print("start===============")
    args = sys.argv
    # 打開excel文件,獲取sheet名
    wb = openpyxl.load_workbook(args[1])
    #  wb.get_sheet_names 這個方法已過時 會有一個警告
    print(wb.worksheets[0])
    
    EOF
    #python中調用文件。
    python openfile.py test.xlsx
    其中,test.xlsx參數需要替換為您已上傳的文件。
  2. 單擊頁面右上角的執行,即可運行任務代碼。
    運行結果的狀態為SUCCESS,表示讀取文件成功。test