PyODPS是MaxCompute的Python SDK,能够方便地使用Python语言与MaxCompute进行交互和数据处理。通过该SDK,可以更高效地开发MaxCompute任务、进行数据分析和管理MaxCompute资源。本文为您介绍PyODPS的使用和常见方法。
PyODPS介绍
PyODPS提供了DataFrame框架和MaxCompute对象的基本操作方法,使用户能够更轻松地使用Python语言进行MaxCompute任务的开发和数据处理。PyODPS兼容Python2(2.6以上版本)和Python3版本。
获取详细PyODPS信息的方式如下:
了解PyODPS:PyODPS文档。
下载odps-python-sdk:Github。
安装PyODPS:PyODPS安装指南。
开发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。