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

通過DataWorks使用PyODPS

PyODPS為MaxCompute的Python版SDK,支持在DataWorks中開發運行PyODPS任務。本文為您介紹在DataWorks上使用PyODPS的使用限制、主要流程和部分簡單應用示例。

使用限制

  • 使用方式限制

    如果您發現有Got killed報錯,即表明內存使用超限,進程被中止。請避免在PyODPS節點中直接下載數據并在DataWorks中處理數據,建議將數據處理任務提交到MaxCompute進行分布式執行處理,兩種方式的對比詳情請參見注意事項:請勿下載全量數據到本地并運行PyODPS。

  • 包支持限制

    • DataWorks的PyODPS節點缺少matplotlib等包,如下功能可能受限:

      • DataFrame的plot函數。

      • DataFrame自定義函數需要提交到MaxCompute執行。由于Python沙箱限制,第三方庫只支持所有的純粹Python庫以及NumPy,因此不能直接使用Pandas。

      • DataWorks中執行的非自定義函數代碼可以使用平臺預裝的NumPy和Pandas。不支持其他帶有二進制代碼的第三方包。

    • DataWorks的PyODPS節點不支持Python的atexit包,請使用try-finally結構實現相關功能。

  • 讀取數據記錄數限制

    DataWorks的PyODPS節點中,options.tunnel.use_instance_tunnel默認設置為False,即默認情況下,最多讀取一萬條數據記錄。如果需要讀取更多數據記錄,需全局開啟instance tunnel,即需要手動將options.tunnel.use_instance_tunnel設置為True。

主要流程

  1. 創建PyODPS節點。

    您可以進入DataWorks的數據開發頁面創建PyODPS節點。PyODPS節點分為PyODPS 2和PyODPS 3兩種:

    • PyODPS 2底層Python語言版本為Python 2。

    • PyODPS 3底層Python語言版本為Python 3。

    您可根據實際使用的Python語言版本創建PyODPS節點,創建PyODPS節點的詳細操作步驟請參見開發PyODPS 2任務開發PyODPS 3任務。新建節點

  2. 開發PyODPS任務代碼。

    創建完成后,您可參考下文內容進行簡單示例的操作學習,了解PyODPS的主要能力維度。

    更多PyODPS的使用指導請參見基本操作概述DataFrame概述。您也可以參考示例文檔:使用PyODPS節點進行結巴中文分詞,進行一個端到端的簡單操作。

  3. 進行調度配置,完成后保存、提交、發布節點,后續即可周期性運行任務。

ODPS入口

DataWorks的PyODPS節點中,將會包含一個全局變量odps或者o,即為ODPS入口。您不需要手動定義ODPS入口。 命令示例如下。

#查看表pyodps_iris是否存在
print(o.exist_table('pyodps_iris'))

返回True,表示表存在。

執行SQL

通用能力

  • 在PyODPS節點中運行SQL命令:例如使用execute_sql()/run_sql()來執行SQL命令,當前主要支持運行DDL、DML類型的SQL命令。

    說明

    可以執行的SQL語句并非都可以通過入口對象的execute_sql()run_sql()方法執行。在調用非DDL或非DML語句時,請使用其他方法。例如,調用GRANT或REVOKE語句時,請使用run_security_query方法;調用API命令時,請使用run_xflowexecute_xflow方法。

  • 在PyODPS節點中讀取SQL運行結果:例如使用open_reader()來讀取SQL命令運行結果。

更多PyODPS節點的SQL相關操作詳情請參見SQL

注意事項:數據記錄數量限制

DataWorks上默認沒有開啟instance tunnel,即instance.open_reader默認使用Result接口(存在limit限制,最多讀取一萬條數據記錄)。如果您需要迭代獲取全部數據,則需要開啟instance tunnel并關閉limit限制。

  • 全局關閉limit限制

    您可以通過下列語句在全局范圍內打開Instance Tunnel并關閉limit限制。

    options.tunnel.use_instance_tunnel = True
    options.tunnel.limit_instance_tunnel = False  # 關閉limit限制,讀取全部數據。
    
    with instance.open_reader() as reader:
    # 通過Instance Tunnel可讀取全部數據。
    # 您可以通過reader.count獲取記錄數。
  • 僅本次運行關閉limit限制

    您也可以通過在open_reader上添加tunnel=True,實現僅對本次open_reader開啟instance tunnel。同時,您還可以添加 limit=False,實現僅對本次關閉limit限制。

    重要

    若您未開啟Instance Tunnel,可能導致獲取數據格式錯誤,解決方法請參見Python SDK常見問題。

    with instance.open_reader(tunnel=True, limit=False) as reader:
    # 本次open_reader使用Instance Tunnel接口,且能讀取全部數據。

DataFrame

  • 執行

    在DataWorks的環境里,DataFrame的執行需要顯式調用立即執行的方法(如execute、persist等)。示例代碼如下。

    # 調用立即執行的方法,處理每條Record,打印出表pyodps_iris中iris.sepalwidth小于3的所有數據。
    from odps.df import DataFrame
    iris = DataFrame(o.get_table('pyodps_iris'))
    for record in iris[iris.sepalwidth < 3].execute():  
        print(record)
  • 打印詳細信息

    在DataWorks上默認打開options.verbose選項,即默認情況下,DataWorks的PyODPS節點運行過程會打印Logview等詳細過程。您可以手動設置此選項,指定運行過程是否會打印Logview等詳細過程。

更多DataFrame的操作示例請參見DataFrame概述。

獲取調度參數

使用DataWorks的PyODPS節點開發任務代碼時,您也可以使用調度參數,例如,需要通過調度參數獲取任務運行的業務日期等場景。PyODPS節點與DataWorks中的SQL節點在調度參數的定義參數操作方面一致,但是在代碼中的引用方式不同。

  • SQL節點會在代碼中直接使用 ${param_name}這樣的字符串。

  • 為了避免影響代碼,PyODPS節點在執行代碼前,在全局變量中增加了一個名為args的dict,代碼中使用args[param_name]的方式獲取調度參數取值,而非在代碼中替換 ${param_name}。

例如,在節點基本屬性 > 參數中設置了調度參數ds=${yyyymmdd},則可以通過以下方式在代碼中獲取該參數。

  • 獲取參數ds的取值。

    print('ds=' + args['ds'])
    #返回ds的時間,如ds=20161116
  • 獲取名為ds=${yyyymmdd}的分區的表數據。

    o.get_table('table_name').get_partition('ds=' + args['ds'])
    #獲取ds分區下表table_name的數據

更多調度參數詳情可參見配置并使用調度參數

設置運行參數hints

運行任務時如果需要設置運行時參數,可以通過設置hints參數來實現,參數類型是dict。

o.execute_sql('select * from pyodps_iris', hints={'odps.sql.mapper.split.size': 16})

您也可以對全局設置sql.setting,設置后后續每次運行時都會添加相關的運行時參數。

from odps import options
options.sql.settings = {'odps.sql.mapper.split.size': 16}
o.execute_sql('select * from pyodps_iris')  #會根據全局配置添加hints

使用三方包

DataWorks節點預裝了以下三方包,版本列表如下:

包名

Python 2節點版本

Python 3節點版本

requests

2.11.1

2.26.0

numpy

1.16.6

1.18.1

pandas

0.24.2

1.0.5

scipy

0.19.0

1.3.0

scikit_learn

0.18.1

0.22.1

pyarrow

0.16.0

2.0.0

lz4

2.1.4

3.1.10

zstandard

0.14.1

0.17.0

如果您需要使用上面列表中不存在的包,DataWorks節點提供了load_resource_package方法,支持從MaxCompute資源下載三方包。使用pyodps-pack打包后,可以直接使用load_resource_package方法加載三方包,之后就可以導入包中的內容。關于pyodps-pack的使用方法請參見PyODPS制作第三方包PyODPS使用第三方包。

說明

如果為Python 2節點打包,請在打包時為pyodps-pack增加--dwpy27參數。

示例:

  1. 使用以下命令打包ipaddress。

    pyodps-pack -o ipaddress-bundle.tar.gz ipaddress
  2. 上傳并提交ipaddress-bundle.tar.gz為資源后,可以在PyODPS 3節點中按照下面的方法使用ipaddress包。

    load_resource_package("ipaddress-bundle.tar.gz")
    import ipaddress

DataWorks限制下載的包總大小為100 MB。如果您需要跳過預裝包的打包,可以在打包時使用pyodps-pack提供的--exclude參數。例如:下面打包方法排除了DataWorks環境中存在的numpy包和pandas包。

pyodps-pack -o bundle.tar.gz --exclude numpy --exclude pandas <your_package>

使用其他賬號

某些場景下您可能希望使用其他賬號(而非平臺提供的賬號)訪問MaxCompute。此時,可以使用ODPS入口對象的as_account方法創建一個使用新賬號的入口對象,該對象與系統默認提供的o實例彼此獨立。

重要

as_account方法從PyODPS 0.11.3版本開始支持。如果您的DataWorks未部署該版本,則無法使用as_account方法。

主要流程

  1. 為其他用戶授權項目相關權限,詳情請參見附錄:為其他用戶授權

  2. 在PyODPS節點中使用as_account方法切換賬號,創建新的入口對象。

    import os
    # 確保 ALIBABA_CLOUD_ACCESS_KEY_ID 環境變量設置為 Access Key ID,
    # ALIBABA_CLOUD_ACCESS_KEY_SECRET 環境變量設置為 Access Key Secret,
    # 不建議直接使用 Access Key ID / Access Key Secret 字符串
    new_odps = o.as_account(
        os.getenv('ALIBABA_CLOUD_ACCESS_KEY_ID'),
        os.getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET')
    )
  3. 檢查賬號切換結果。

    查詢當前用戶信息:在要執行的代碼中增加以下語句,如果運行結果中打印出的用戶信息為您所傳入的其他用戶的UID,則表示您是使用其他賬號訪問的MaxCompute。

    print(new_odps.get_project().current_user)
    說明

    new_odps:表示上述的新賬號的入口對象。

使用示例

  1. 創建表并導入數據。

    1. 下載鳶尾花數據集iris.data,重命名為iris.csv

    2. 創建表pyodps_iris并上傳數據集iris.csv。操作方法請參見建表并上傳數據。

      建表語句如下。

      CREATE TABLE if not exists pyodps_iris
      (
      sepallength  DOUBLE comment '片長度(cm)',
      sepalwidth   DOUBLE comment '片寬度(cm)',
      petallength  DOUBLE comment '瓣長度(cm)',
      petalwidth   DOUBLE comment '瓣寬度(cm)',
      name         STRING comment '種類'
      );
  2. 創建ODPS SQL節點完成授權。詳情請參見附錄:為其他用戶授權。

  3. 創建PyODPS節點完成切換用戶操作,代碼示例如下。詳情請參見開發PyODPS 3任務。

    from odps import ODPS
    import os
    import sys
    
    # 確保 ALIBABA_CLOUD_ACCESS_KEY_ID 環境變量設置為用戶 Access Key ID,
    # ALIBABA_CLOUD_ACCESS_KEY_SECRET 環境變量設置為用戶 Access Key Secret,
    # 不建議直接使用 Access Key ID / Access Key Secret 字符串
    os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'] = '<accesskey id>'
    os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET'] = '<accesskey secret>'
    od = o.as_account(os.getenv('ALIBABA_CLOUD_ACCESS_KEY_ID'), 
             os.getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET')
            )
    iris = DataFrame(od.get_table('pyodps_iris'))
    #使用條件方式輸出。
    with od.execute_sql('select * from pyodps_iris WHERE sepallength > 5 ').open_reader() as reader4:
        print(reader4.raw)
        for record in reader4:
            print(record["sepallength"],record["sepalwidth"],record["petallength"],record["petalwidth"],record["name"])
    #輸出當前用戶的UID
    print(od.get_project().current_user)
  4. 運行并查看結果。

    Executing user script with PyODPS 0.11.4.post0
    
    "sepallength","sepalwidth","petallength","petalwidth","name"
    5.4,3.9,1.7,0.4,"Iris-setosa"
    5.4,3.7,1.5,0.2,"Iris-setosa"
    5.8,4.0,1.2,0.2,"Iris-setosa"
    5.7,4.4,1.5,0.4,"Iris-setosa"
    5.4,3.9,1.3,0.4,"Iris-setosa"
    5.1,3.5,1.4,0.3,"Iris-setosa"
    5.7,3.8,1.7,0.3,"Iris-setosa"
    5.1,3.8,1.5,0.3,"Iris-setosa"
    5.4,3.4,1.7,0.2,"Iris-setosa"
    5.1,3.7,1.5,0.4,"Iris-setosa"
    5.1,3.3,1.7,0.5,"Iris-setosa"
    5.2,3.5,1.5,0.2,"Iris-setosa"
    5.2,3.4,1.4,0.2,"Iris-setosa"
    5.4,3.4,1.5,0.4,"Iris-setosa"
    5.2,4.1,1.5,0.1,"Iris-setosa"
    5.5,4.2,1.4,0.2,"Iris-setosa"
    5.5,3.5,1.3,0.2,"Iris-setosa"
    5.1,3.4,1.5,0.2,"Iris-setosa"
    5.1,3.8,1.9,0.4,"Iris-setosa"
    5.1,3.8,1.6,0.2,"Iris-setosa"
    5.3,3.7,1.5,0.2,"Iris-setosa"
    7.0,3.2,4.7,1.4,"Iris-versicolor"
    6.4,3.2,4.5,1.5,"Iris-versicolor"
    6.9,3.1,4.9,1.5,"Iris-versicolor"
    5.5,2.3,4.0,1.3,"Iris-versicolor"
    6.5,2.8,4.6,1.5,"Iris-versicolor"
    5.7,2.8,4.5,1.3,"Iris-versicolor"
    6.3,3.3,4.7,1.6,"Iris-versicolor"
    6.6,2.9,4.6,1.3,"Iris-versicolor"
    5.2,2.7,3.9,1.4,"Iris-versicolor"
    5.9,3.0,4.2,1.5,"Iris-versicolor"
    6.0,2.2,4.0,1.0,"Iris-versicolor"
    6.1,2.9,4.7,1.4,"Iris-versicolor"
    5.6,2.9,3.6,1.3,"Iris-versicolor"
    6.7,3.1,4.4,1.4,"Iris-versicolor"
    5.6,3.0,4.5,1.5,"Iris-versicolor"
    5.8,2.7,4.1,1.0,"Iris-versicolor"
    6.2,2.2,4.5,1.5,"Iris-versicolor"
    5.6,2.5,3.9,1.1,"Iris-versicolor"
    5.9,3.2,4.8,1.8,"Iris-versicolor"
    6.1,2.8,4.0,1.3,"Iris-versicolor"
    6.3,2.5,4.9,1.5,"Iris-versicolor"
    6.1,2.8,4.7,1.2,"Iris-versicolor"
    6.4,2.9,4.3,1.3,"Iris-versicolor"
    6.6,3.0,4.4,1.4,"Iris-versicolor"
    6.8,2.8,4.8,1.4,"Iris-versicolor"
    6.7,3.0,5.0,1.7,"Iris-versicolor"
    6.0,2.9,4.5,1.5,"Iris-versicolor"
    5.7,2.6,3.5,1.0,"Iris-versicolor"
    5.5,2.4,3.8,1.1,"Iris-versicolor"
    5.5,2.4,3.7,1.0,"Iris-versicolor"
    5.8,2.7,3.9,1.2,"Iris-versicolor"
    6.0,2.7,5.1,1.6,"Iris-versicolor"
    5.4,3.0,4.5,1.5,"Iris-versicolor"
    6.0,3.4,4.5,1.6,"Iris-versicolor"
    6.7,3.1,4.7,1.5,"Iris-versicolor"
    6.3,2.3,4.4,1.3,"Iris-versicolor"
    5.6,3.0,4.1,1.3,"Iris-versicolor"
    5.5,2.5,4.0,1.3,"Iris-versicolor"
    5.5,2.6,4.4,1.2,"Iris-versicolor"
    6.1,3.0,4.6,1.4,"Iris-versicolor"
    5.8,2.6,4.0,1.2,"Iris-versicolor"
    5.6,2.7,4.2,1.3,"Iris-versicolor"
    5.7,3.0,4.2,1.2,"Iris-versicolor"
    5.7,2.9,4.2,1.3,"Iris-versicolor"
    6.2,2.9,4.3,1.3,"Iris-versicolor"
    5.1,2.5,3.0,1.1,"Iris-versicolor"
    5.7,2.8,4.1,1.3,"Iris-versicolor"
    6.3,3.3,6.0,2.5,"Iris-virginica"
    5.8,2.7,5.1,1.9,"Iris-virginica"
    7.1,3.0,5.9,2.1,"Iris-virginica"
    6.3,2.9,5.6,1.8,"Iris-virginica"
    6.5,3.0,5.8,2.2,"Iris-virginica"
    7.6,3.0,6.6,2.1,"Iris-virginica"
    7.3,2.9,6.3,1.8,"Iris-virginica"
    6.7,2.5,5.8,1.8,"Iris-virginica"
    7.2,3.6,6.1,2.5,"Iris-virginica"
    6.5,3.2,5.1,2.0,"Iris-virginica"
    6.4,2.7,5.3,1.9,"Iris-virginica"
    6.8,3.0,5.5,2.1,"Iris-virginica"
    5.7,2.5,5.0,2.0,"Iris-virginica"
    5.8,2.8,5.1,2.4,"Iris-virginica"
    6.4,3.2,5.3,2.3,"Iris-virginica"
    6.5,3.0,5.5,1.8,"Iris-virginica"
    7.7,3.8,6.7,2.2,"Iris-virginica"
    7.7,2.6,6.9,2.3,"Iris-virginica"
    6.0,2.2,5.0,1.5,"Iris-virginica"
    6.9,3.2,5.7,2.3,"Iris-virginica"
    5.6,2.8,4.9,2.0,"Iris-virginica"
    7.7,2.8,6.7,2.0,"Iris-virginica"
    6.3,2.7,4.9,1.8,"Iris-virginica"
    6.7,3.3,5.7,2.1,"Iris-virginica"
    7.2,3.2,6.0,1.8,"Iris-virginica"
    6.2,2.8,4.8,1.8,"Iris-virginica"
    6.1,3.0,4.9,1.8,"Iris-virginica"
    6.4,2.8,5.6,2.1,"Iris-virginica"
    7.2,3.0,5.8,1.6,"Iris-virginica"
    7.4,2.8,6.1,1.9,"Iris-virginica"
    7.9,3.8,6.4,2.0,"Iris-virginica"
    6.4,2.8,5.6,2.2,"Iris-virginica"
    6.3,2.8,5.1,1.5,"Iris-virginica"
    6.1,2.6,5.6,1.4,"Iris-virginica"
    7.7,3.0,6.1,2.3,"Iris-virginica"
    6.3,3.4,5.6,2.4,"Iris-virginica"
    6.4,3.1,5.5,1.8,"Iris-virginica"
    6.0,3.0,4.8,1.8,"Iris-virginica"
    6.9,3.1,5.4,2.1,"Iris-virginica"
    6.7,3.1,5.6,2.4,"Iris-virginica"
    6.9,3.1,5.1,2.3,"Iris-virginica"
    5.8,2.7,5.1,1.9,"Iris-virginica"
    6.8,3.2,5.9,2.3,"Iris-virginica"
    6.7,3.3,5.7,2.5,"Iris-virginica"
    6.7,3.0,5.2,2.3,"Iris-virginica"
    6.3,2.5,5.0,1.9,"Iris-virginica"
    6.5,3.0,5.2,2.0,"Iris-virginica"
    6.2,3.4,5.4,2.3,"Iris-virginica"
    5.9,3.0,5.1,1.8,"Iris-virginica"
    5.4 3.9 1.7 0.4 Iris-setosa
    5.4 3.7 1.5 0.2 Iris-setosa
    5.8 4.0 1.2 0.2 Iris-setosa
    5.7 4.4 1.5 0.4 Iris-setosa
    5.4 3.9 1.3 0.4 Iris-setosa
    5.1 3.5 1.4 0.3 Iris-setosa
    5.7 3.8 1.7 0.3 Iris-setosa
    5.1 3.8 1.5 0.3 Iris-setosa
    5.4 3.4 1.7 0.2 Iris-setosa
    5.1 3.7 1.5 0.4 Iris-setosa
    5.1 3.3 1.7 0.5 Iris-setosa
    5.2 3.5 1.5 0.2 Iris-setosa
    5.2 3.4 1.4 0.2 Iris-setosa
    5.4 3.4 1.5 0.4 Iris-setosa
    5.2 4.1 1.5 0.1 Iris-setosa
    5.5 4.2 1.4 0.2 Iris-setosa
    5.5 3.5 1.3 0.2 Iris-setosa
    5.1 3.4 1.5 0.2 Iris-setosa
    5.1 3.8 1.9 0.4 Iris-setosa
    5.1 3.8 1.6 0.2 Iris-setosa
    5.3 3.7 1.5 0.2 Iris-setosa
    7.0 3.2 4.7 1.4 Iris-versicolor
    6.4 3.2 4.5 1.5 Iris-versicolor
    6.9 3.1 4.9 1.5 Iris-versicolor
    5.5 2.3 4.0 1.3 Iris-versicolor
    6.5 2.8 4.6 1.5 Iris-versicolor
    5.7 2.8 4.5 1.3 Iris-versicolor
    6.3 3.3 4.7 1.6 Iris-versicolor
    6.6 2.9 4.6 1.3 Iris-versicolor
    5.2 2.7 3.9 1.4 Iris-versicolor
    5.9 3.0 4.2 1.5 Iris-versicolor
    6.0 2.2 4.0 1.0 Iris-versicolor
    6.1 2.9 4.7 1.4 Iris-versicolor
    5.6 2.9 3.6 1.3 Iris-versicolor
    6.7 3.1 4.4 1.4 Iris-versicolor
    5.6 3.0 4.5 1.5 Iris-versicolor
    5.8 2.7 4.1 1.0 Iris-versicolor
    6.2 2.2 4.5 1.5 Iris-versicolor
    5.6 2.5 3.9 1.1 Iris-versicolor
    5.9 3.2 4.8 1.8 Iris-versicolor
    6.1 2.8 4.0 1.3 Iris-versicolor
    6.3 2.5 4.9 1.5 Iris-versicolor
    6.1 2.8 4.7 1.2 Iris-versicolor
    6.4 2.9 4.3 1.3 Iris-versicolor
    6.6 3.0 4.4 1.4 Iris-versicolor
    6.8 2.8 4.8 1.4 Iris-versicolor
    6.7 3.0 5.0 1.7 Iris-versicolor
    6.0 2.9 4.5 1.5 Iris-versicolor
    5.7 2.6 3.5 1.0 Iris-versicolor
    5.5 2.4 3.8 1.1 Iris-versicolor
    5.5 2.4 3.7 1.0 Iris-versicolor
    5.8 2.7 3.9 1.2 Iris-versicolor
    6.0 2.7 5.1 1.6 Iris-versicolor
    5.4 3.0 4.5 1.5 Iris-versicolor
    6.0 3.4 4.5 1.6 Iris-versicolor
    6.7 3.1 4.7 1.5 Iris-versicolor
    6.3 2.3 4.4 1.3 Iris-versicolor
    5.6 3.0 4.1 1.3 Iris-versicolor
    5.5 2.5 4.0 1.3 Iris-versicolor
    5.5 2.6 4.4 1.2 Iris-versicolor
    6.1 3.0 4.6 1.4 Iris-versicolor
    5.8 2.6 4.0 1.2 Iris-versicolor
    5.6 2.7 4.2 1.3 Iris-versicolor
    5.7 3.0 4.2 1.2 Iris-versicolor
    5.7 2.9 4.2 1.3 Iris-versicolor
    6.2 2.9 4.3 1.3 Iris-versicolor
    5.1 2.5 3.0 1.1 Iris-versicolor
    5.7 2.8 4.1 1.3 Iris-versicolor
    6.3 3.3 6.0 2.5 Iris-virginica
    5.8 2.7 5.1 1.9 Iris-virginica
    7.1 3.0 5.9 2.1 Iris-virginica
    6.3 2.9 5.6 1.8 Iris-virginica
    6.5 3.0 5.8 2.2 Iris-virginica
    7.6 3.0 6.6 2.1 Iris-virginica
    7.3 2.9 6.3 1.8 Iris-virginica
    6.7 2.5 5.8 1.8 Iris-virginica
    7.2 3.6 6.1 2.5 Iris-virginica
    6.5 3.2 5.1 2.0 Iris-virginica
    6.4 2.7 5.3 1.9 Iris-virginica
    6.8 3.0 5.5 2.1 Iris-virginica
    5.7 2.5 5.0 2.0 Iris-virginica
    5.8 2.8 5.1 2.4 Iris-virginica
    6.4 3.2 5.3 2.3 Iris-virginica
    6.5 3.0 5.5 1.8 Iris-virginica
    7.7 3.8 6.7 2.2 Iris-virginica
    7.7 2.6 6.9 2.3 Iris-virginica
    6.0 2.2 5.0 1.5 Iris-virginica
    6.9 3.2 5.7 2.3 Iris-virginica
    5.6 2.8 4.9 2.0 Iris-virginica
    7.7 2.8 6.7 2.0 Iris-virginica
    6.3 2.7 4.9 1.8 Iris-virginica
    6.7 3.3 5.7 2.1 Iris-virginica
    7.2 3.2 6.0 1.8 Iris-virginica
    6.2 2.8 4.8 1.8 Iris-virginica
    6.1 3.0 4.9 1.8 Iris-virginica
    6.4 2.8 5.6 2.1 Iris-virginica
    7.2 3.0 5.8 1.6 Iris-virginica
    7.4 2.8 6.1 1.9 Iris-virginica
    7.9 3.8 6.4 2.0 Iris-virginica
    6.4 2.8 5.6 2.2 Iris-virginica
    6.3 2.8 5.1 1.5 Iris-virginica
    6.1 2.6 5.6 1.4 Iris-virginica
    7.7 3.0 6.1 2.3 Iris-virginica
    6.3 3.4 5.6 2.4 Iris-virginica
    6.4 3.1 5.5 1.8 Iris-virginica
    6.0 3.0 4.8 1.8 Iris-virginica
    6.9 3.1 5.4 2.1 Iris-virginica
    6.7 3.1 5.6 2.4 Iris-virginica
    6.9 3.1 5.1 2.3 Iris-virginica
    5.8 2.7 5.1 1.9 Iris-virginica
    6.8 3.2 5.9 2.3 Iris-virginica
    6.7 3.3 5.7 2.5 Iris-virginica
    6.7 3.0 5.2 2.3 Iris-virginica
    6.3 2.5 5.0 1.9 Iris-virginica
    6.5 3.0 5.2 2.0 Iris-virginica
    6.2 3.4 5.4 2.3 Iris-virginica
    5.9 3.0 5.1 1.8 Iris-virginica
    <User 139xxxxxxxxxxxxx>

問題診斷

如果您的代碼在執行過程中無響應且沒有任何輸出,您可以在代碼頭部增加以下注釋,DataWorks每隔30秒將輸出所有線程的堆棧:

# -*- dump_traceback: true -*-
說明

該方法適用于0.11.4.1版本以上的PyODPS 3節點。

查看PyODPS的版本

您可以直接使用Python代碼查詢當前的PyODPS版本,也可以在任意一個PyODPS任務的運行日志中查看。

  • 在PyODPS節點中使用代碼查詢PyODPS版本。

    # 輸入如下代碼
    import odps; print(odps.__version__)
    
    # 返回結果示例
    0.11.2.3
  • 在PyODPS任務運行日志中查看PyODPS版本,示例如下。image.png

附錄:為其他用戶授權

在使用DataWorks時,如果您想要其他指定用戶(非子用戶)訪問本賬號下的項目、表等,需要在DataWorks中新建ODPS SQL節點并運行以下授權命令,操作詳情請參見創建ODPS SQL節點,其他權限詳情請參見用戶與權限。

--添加其他阿里云賬號用戶(項目級別)
add user ALIYUN$<account_name>;

--授予項目的CreateInstance權限
grant CreateInstance on project <project_name> to USER ALIYUN$<account_name>;

--授予表的desc、select權限
grant Describe, Select on table <table_name> to USER ALIYUN$<account_name>;

--查看授權結果
show grants for ALIYUN$<account_name>;

授權結果示例:image.png

附錄:示例數據

您可參考PyODPS條件查詢文檔中的步驟1:創建表并導入數據在DataWorks中建好表pyodps_iris并寫入數據,文檔中的操作示例即以此表作為示例數據,為您演示基本操作。

相關文檔

您可以在運行歷史中查看近最近三天您在DataWorks數據開發界面運行過的所有任務記錄、停止運行中的任務以及將運行記錄中的SQL語句另存為臨時文件詳情,請參見運行歷史。