日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DataWorks支持PyODPS类型任务

發布時間:2024/8/23 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DataWorks支持PyODPS类型任务 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

摘要:?昨天,DataWorks推出了PYODPS任務類型,集成了Maxcompute的Python SDK,可在DataWorks的PYODPS節點上直接編輯Python代碼操作Maxcompute,也可以設置調度任務來處理數據,提高數據開發效率。

昨天,DataWorks推出了PYODPS任務類型,集成了Maxcompute的Python SDK,可在DataWorks的PYODPS節點上直接編輯Python代碼操作Maxcompute,也可以設置調度任務來處理數據,提高數據開發效率。


效果如下圖


適用region

只有華東2(上海)region 支持了 PYODPS 節點。

注:底層的 Python 版本為 2.7 。

新建 PYODPS 節點

新建 PYODPS 節點具體操作如下:

1) 單擊數據開發頁面工具欄中的 新建 > 新建任務。2) 填寫新建任務彈出框中的各配置項。


3) 單擊創建

編輯 PYODPS 節點

ODPS入口

DataWorks 的 PyODPS 節點中,將會包含一個全局的變量?odps?或者?o?,即 ODPS 入口。用戶不需要手動定義 ODPS 入口。


print(odps.exist_table('pyodps_iris'))

執行SQL

PyODPS支持ODPS SQL的查詢,并可以讀取執行的結果。?execute_sql?或者?run_sql?方法的返回值是 運行實例 。

注解:并非所有在 ODPS Console 中可以執行的命令都是 ODPS 可以接受的 SQL 語句。 在調用非 DDL / DML 語句時,請使用其他方法,例如 GRANT / REVOKE 等語句請使用 run_security_query 方法,PAI 命令請使用 run_xflow 或 execute_xflow 方法。


>>> o.execute_sql('select * from dual') # 同步的方式執行,會阻塞直到SQL執行完成>>>>>> instance = o.run_sql('select * from dual') # 異步的方式執行>>> print(instance.get_logview_address()) # 獲取logview地址>>> instance.wait_for_success() # 阻塞直到完成

設置運行參數

有時,我們在運行時,需要設置運行時參數,我們可以通過設置?hints?參數,參數類型是dict。


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


我們可以對于全局配置設置sql.settings后,每次運行時則都會添加相關的運行時參數。


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


讀取SQL執行結果

運行 SQL 的 instance 能夠直接執行?open_reader?的操作,一種情況是SQL返回了結構化的數據。


>>> with o.execute_sql('select * from dual').open_reader() as reader:>>> for record in reader:>>> # 處理每一個record


另一種情況是 SQL 可能執行的比如?desc,這時通過?reader.raw?屬性取到原始的SQL執行結果。


>>> with o.execute_sql('desc dual').open_reader() as reader:>>> print(reader.raw)

使用調度參數

PYODPS節點使用調度參數需要注意一下,系統定義的調度參數,可以直接通過此方法獲取。


自定義參數的使用,需要使用單獨的方法獲取。

在全局包括一個?args?對象,可以在這個中獲取,它是一個dict類型。


測試運行結果如下:


請注意:在數據開發下,使用了自定義調度參數,頁面上直接觸發運行PYODPS節點時,需要寫死時間,PYODPS節點無法像SQL一樣直接替換。

調度請參考:https://help.aliyun.com/document_detail/30298.html


文章作者:隱林

原文鏈接

總結

以上是生活随笔為你收集整理的DataWorks支持PyODPS类型任务的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。