Schema是MaxCompute介于项目和表、资源、函数之间的概念,对表、资源、函数进行进一步归类。本文为您介绍Schema的基本操作。
前提条件:准备运行环境
PyODPS支持在DataWorks的PyODPS节点或本地PC环境中运行,运行前您需先选择运行工具并准备好运行环境。
- 使用DataWorks:创建好PyODPS 2节点或PyODPS 3节点,详情请参见通过DataWorks使用PyODPS。
- 使用本地PC环境:安装好PyODPS并初始化ODPS入口对象。
基本操作
当前MaxCompute Schema功能还在公测中,如果您需要使用的话,请提交新功能测试申请同时提供UID和Project名称,详情请参见新功能测试申请。
说明 提交新功能测试申请后,MaxCompute将对Project进行升级,目前此升级流程日常只安排在每周一和每周四进行,提交申请后请耐心等待。升级后将在Project内新建名称为DEFAULT的Schema,以及会将UID对应租户的Schema语法开关打开,同时您可以自定义创建Schema并进行操作使用。
- 创建Schema。
schema = o.create_schema("**schema_name**") print(schema)
- 删除Schema。
schema = o.delete_schema("**schema_name**")
- 列举所有Schema。
for schema in o.list_schema(): print(schema)
- 在开启Schema后,MaxCompute入口对象默认操作的MaxCompute对象都位于名为
DEFAULT
的Schema下。为操作其他Schema下的对象,需要在创建入口对象时指定Schema。示例如下:
参数说明:o = ODPS('**your-access-id**', '**your-secret-access-key**', '**your-default-project**', endpoint='**your-end-point**', schema='**your-schema-name**')
参数名称 描述 your-access-id 阿里云账号或RAM用户的AccessKey ID。您可以进入AccessKey管理页面获取AccessKey ID。 your-secret-access-key AccessKey ID对应的AccessKey Secret。您可以进入AccessKey管理页面获取AccessKey Secret。 your-default-project 项目名称。 your-end-point MaxCompute服务的连接地址。您需要根据创建MaxCompute项目时选择的地域以及网络连接方式配置Endpoint。各地域及网络对应的Endpoint值,请参见Endpoint。 重要 如果Endpoint配置有误,会出现无法访问错误,请务必仔细确认。your-schema-name Schema名称。 - 为不同对象的操作方法指定
schema
参数。示例如下:#列举
test_schema
下所有的表 for table in o.list_tables(schema='**schema_name**'): print(table) - 在执行SQL时,指定默认Schema。示例如下:
o.execute_sql("SELECT * FROM dual", default_schema="**schema_name**")