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-keyAccessKey ID对应的AccessKey Secret。您可以进入AccessKey管理页面获取AccessKey Secret。
    your-default-project项目名称。
    your-end-pointMaxCompute服务的连接地址。您需要根据创建MaxCompute项目时选择的地域以及网络连接方式配置Endpoint。各地域及网络对应的Endpoint值,请参见Endpoint
    重要 如果Endpoint配置有误,会出现无法访问错误,请务必仔细确认。
    your-schema-nameSchema名称。
  • 为不同对象的操作方法指定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**")