全部產品
Search
文件中心

MaxCompute:Python SDK概述

更新時間:Jun 19, 2024

PyODPS是MaxCompute的Python SDK,能夠方便地使用Python語言與MaxCompute進行互動和資料處理。通過該SDK,可以更高效地開發MaxCompute任務、進行資料分析和管理MaxCompute資源。本文為您介紹PyODPS的使用和常見方法。

PyODPS介紹

PyODPS提供了DataFrame架構和MaxCompute對象的基本操作方法,使使用者能夠更輕鬆地使用Python語言進行MaxCompute任務的開發和資料處理。PyODPS相容Python2(2.6以上版本)和Python3版本。

擷取詳細PyODPS資訊的方式如下:

您也可以通過如下方式參與PyODPS的生態開發:

初始化入口

在使用PyODPS前,您需要用阿里雲帳號初始化一個MaxCompute的入口,執行命令如下。

import os
from odps import ODPS
# 確保 ALIBABA_CLOUD_ACCESS_KEY_ID 環境變數設定為使用者 Access Key ID,
# ALIBABA_CLOUD_ACCESS_KEY_SECRET 環境變數設定為使用者 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:需將該環境變數設定為具備目標MaxCompute專案中待操作對象相關操作許可權的AccessKey ID。您可以進入AccessKey管理頁面擷取AccessKey ID。

  • ALIBABA_CLOUD_ACCESS_KEY_SECRET:需將該環境變數設定為AccessKey ID對應的AccessKey Secret。您可以進入AccessKey管理頁面擷取AccessKey Secret。

  • your-default-project:使用的MaxCompute專案名稱。您可以登入MaxCompute控制台,在左側導覽列選擇工作區 > 專案管理,查看MaxCompute專案名稱。

  • your-end-point:目標MaxCompute專案所在地區的Endpoint。詳情請參見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