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前,您需要用阿里云账号初始化一个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。