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。