全部產品
Search
文件中心

:Schema

更新時間:Jun 19, 2024

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並進行操作使用。

  • 如果您剛使用MaxCompute,未建立過專案,則可以在MaxCompute控制台左側導覽列選擇租戶管理 > 租戶屬性,在租戶屬性頁面開啟租戶級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。樣本如下:

    # 確保 ALIBABA_CLOUD_ACCESS_KEY_ID 環境變數設定為使用者 Access Key ID,
    # ALIBABA_CLOUD_ACCESS_KEY_SECRET 環境變數設定為使用者 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>',
        schema='<your-schema-name>',
    )

    參數說明:

    參數名稱

    描述

    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**")