PyODPS是MaxCompute的Python SDK,能夠方便地使用Python語言與MaxCompute進行互動和資料處理。通過該SDK,可以更高效地開發MaxCompute任務、進行資料分析和管理MaxCompute資源。本文為您介紹PyODPS的使用和常見方法。
PyODPS介紹
PyODPS提供了DataFrame架構和MaxCompute對象的基本操作方法,PyODPS相容Python2(2.6以上版本)和Python3版本。
擷取詳細PyODPS資訊的方式如下:
瞭解PyODPS:PyODPS文檔和PyODPS雲棲社區專輯。
安裝PyODPS:PyODPS安裝指南。
開發PyODPS:PyODPS開發指南。
初始化入口
在使用PyODPS前,您需要用阿里雲帳號初始化一個MaxCompute的入口,執行命令如下。
import os
from odps import ODPS
# 確保ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET環境變數設定為使用者Access Key ID的Access Key Secret。
o = ODPS(
os.getenv('ALIBABA_CLOUD_ACCESS_KEY_ID'),
os.getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET'),
project='your-default-project',
endpoint='your-end-point',
)參數說明:
ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET:需將該環境變數設定為具備目標MaxCompute專案中待操作對象相關操作許可權的AccessKey ID和AccessKey Secret。您可以進入AccessKey管理頁面擷取。
your-default-project:MaxCompute專案名稱。您可以登入MaxCompute控制台,在左側導覽列選擇工作區 > 專案管理進行查看。
your-end-point:目標MaxCompute專案所在地區的Endpoint。
方法說明
PyODPS提供的MaxCompute操作方法如下。
操作類型 | 方法名稱 | 方法說明 |
專案 | get_project(project_name) | 擷取MaxCompute專案名稱。 |
exist_project(project_name) | 判斷某個MaxCompute專案是否存在。 | |
表 | list_tables() | 列出MaxCompute專案下的所有表。 |
exist_table(table_name) | 判斷表是否存在。 | |
get_table(table_name,project=project_name) | 擷取指定表。允許跨專案擷取表。 | |
create_table() | 建立表。 | |
read_table() | 讀取表資料。 | |
write_table() | 寫入表資料。 | |
delete_table() | 刪除已經存在的表。 | |
表分區 | exist_partition() | 判斷分區是否存在。 |
get_partition() | 擷取分區。 | |
create_partition() | 建立分區。 | |
delete_partition() | 刪除分區。 | |
SQL | execute_sql()/run_sql() | 執行SQL語句。 |
open_reader() | 讀取執行結果。 | |
任務執行個體 | list_instances() | 擷取MaxCompute專案下的所有Instance。 |
exist_instance() | 判斷Instance是否存在。 | |
get_instance() | 擷取Instance。 | |
stop_instance() | 停止Instance。 | |
資源 | create_resource() | 建立資源。 |
open_resource() | 開啟資源。 | |
get_resource() | 擷取資源。 | |
list_resources() | 列出所有資源。 | |
exist_resource() | 判斷資源是否存在。 | |
delete_resource() | 刪除資源。 | |
函數 | create_function() | 建立函數。 |
delete_function() | 刪除函數。 | |
資料上傳下載通道 | create_upload_session() | 建立上傳資料會話。 |
create_download_session() | 建立下載資料會話。 |
使用create_table()、read_table()、write_table()和delete_table()方法需要傳入參數。有關詳細使用說明詳情,請參見Python SDK樣本:Table。