全部產品
Search
文件中心

MaxCompute:專案空間操作

更新時間:Dec 13, 2024

建立MaxCompute專案空間後,您需要進入專案空間才可以執行後續開發、分析、營運等一系列操作。本文為您介紹如何進入或查看專案空間,以及設定或查看專案空間Project級的屬性。

專案空間操作的常用命令如下。

類型

功能

角色

操作入口

進入專案空間

進入具備存取權限的專案空間。

具備專案空間存取權限的使用者

本文中的命令您需要在MaxCompute用戶端執行。

查看專案空間屬性

查看專案空間配置的屬性資訊。

專案空間Owner

設定專案空間屬性

設定專案空間的屬性資訊。

專案空間Owner

查看專案空間帳號體系

顯示當前專案空間支援的帳號體系資訊。

專案空間Owner

增加RAM帳號體系

為當前專案空間增加RAM帳號體系。

專案空間Owner

刪除RAM帳號體系

刪除當前專案空間的RAM帳號體系。

專案空間Owner

注意事項

  • 專案空間非工作空間。專案空間名稱擷取方式:登入MaxCompute控制台,選擇地區後,在專案管理頁面擷取MaxCompute專案名

  • MaxCompute沒有提供建立和刪除專案空間的命令。建立專案空間操作詳情請參見建立MaxCompute專案

進入專案空間

進入指定的、具有存取權限的專案空間。進入專案空間後,可以直接在該專案空間下操作對象。

  • 命令格式

    --進入專案空間。
    USE <project_name>;
  • 參數說明

    project_name:待訪問專案空間的名稱。如果專案空間不存在或您未被添加至該專案空間時,返回報錯。

  • 使用樣本

    • 樣本1:進入指定專案空間並訪問專案空間下的對象。

      --當前專案空間為my_project,待訪問專案空間為my_project_test。my_project_test是使用者有許可權訪問的一個專案空間。
      odps@ my_project>USE my_project_test;
      --進入專案空間後,即可執行其他動作。例如查詢my_project_test專案空間下的表test_src。
      odps@ my_project_test>SELECT * FROM test_src;

      MaxCompute自動在專案空間my_project_test中搜尋表。如果表存在,返回表中的資料;如果表不存在,返回報錯。

    • 樣本2:跨專案訪問另一專案空間下的對象,需要具備目標專案空間對象的相應操作許可權,並指定專案空間名稱。

      • 若您的MaxCompute未開啟Schema功能,樣本如下:

        --在my_project_test專案空間下訪問另一專案空間my_project2的表test_src。
        odps@ my_project_test>SELECT * FROM my_project2.test_src;
      • 若您的MaxCompute已開啟Schema功能,樣本如下:

        --在my_project_test專案空間下訪問另一專案空間my_project2下test_src,my_project2的Schema預設為Default
        odps@ my_project_test>SELECT * FROM my_project2.default.test_src;
        說明
        • 目標專案空間對象的授權操作,請參見設定項目

        • 關於Schema功能的詳情,請參見Schema操作

查看專案空間屬性

顯示當前專案空間Project級的屬性配置資訊。MaxCompute也支援查看Session級的屬性,詳情請參見show flags

  • 命令格式

    SETPROJECT;
  • 屬性說明

    專案空間的常用屬性如下。

    屬性名稱(KEY)

    描述

    取值範圍(VALUE)

    odps.sql.allow.fullscan

    設定專案空間是否允許全表掃描。全表掃描會佔用大量資源,為提升處理效率,不建議開啟該功能。

    • true:允許全表掃描。

    • false:禁止全表掃描。

    odps.table.lifecycle

    設定專案空間下的表是否需要配置生命週期。

    • optional:建立表時,Lifecycle子句為可選設定,如果不設定表的生命週期,則該表永久有效。

    • mandatory:Lifecycle子句為必選設定,使用者必須設定表的生命週期。

    • inherit:建立表時,如果不設定表的生命週期,則該表的生命週期為odps.table.lifecycle.value的值。

    odps.table.lifecycle.value

    設定表的生命週期。單位為:天。

    1~37231,預設值為37231。

    odps.security.ip.whitelist

    設定雲產品互連網絡情境下可以訪問專案空間的IP白名單。詳情請參見管理IP白名單

    IP列表,以英文逗號(,)分隔。

    odps.security.vpc.whitelist

    指定VPC網路情境下可以訪問專案空間的IP白名單。詳情請參見管理IP白名單

    RegionID_VPCID[IP Address]。

    READ_TABLE_MAX_ROW

    設定SELECT語句返回的資料條數。

    1~10000,預設值為10000。

    odps.sql.type.system.odps2

    2.0新資料類型開關。2.0資料類型詳情請參見2.0資料類型版本

    • true:開啟

    • false:關閉

    odps.sql.hive.compatible

    Hive相容模式開關。開啟Hive相容模式後,MaxCompute才支援Hive指定的各種文法,例如inputRecordReaderoutputRecordReaderSerde。Hive相容資料類型詳情請參見Hive相容資料類型版本

    • true:開啟

    • false:關閉

    odps.sql.decimal.odps2

    DECIMAL 2.0資料類型DECIMAL(precision,scale)開關。詳情請參見2.0資料類型版本

    • true:開啟

    • false:關閉

    odps.sql.metering.value.max

    設定單SQL消費限制值。詳情請參見消費監控警示消費控制

    無。

    odps.sql.timezone

    設定MaxCompute專案的時區。更多時區資訊,請參見時區配置操作

    無。

    odps.sql.unstructured.oss.commit.mode

    設定是否開啟通過OSS的分區上傳功能向OSS外部表格寫入資料。詳情請參見將資料寫入OSS

    • true:開啟

    • false:關閉

    odps.sql.groupby.orderby.position.alias

    設定是否開啟將group byorder by中的整型常量做為SELECT的列序號處理。

    說明

    對於存量專案,如果在專案層級開啟該參數,可能會對您已有的任務解析和執行操作造成影響,請確認並務必保證存量任務在此參數設定下仍可以按照原有邏輯正確執行後,再修改該參數。否則,請在Session層級設定。

    • true:開啟

    • false:關閉

    odps.forbid.fetch.result.by.bearertoken

    設定是否禁止Logview的Result頁簽顯示作業運行結果。該參數主要用於保護資料安全。

    • true:禁止顯示作業運行結果

    • false:允許顯示作業運行結果

    odps.cupidhistory.inprogress.remain.days

    設定運行中的Spark on MaxCompute作業執行歷程記錄日誌的保留時間。單位為:天。

    1~7,預設值為7。

    odps.cupidhistory.remain.days

    設定Spark on MaxCompute作業執行歷程記錄日誌的保留時間。單位為:天。

    1~3,預設值為3。

    odps.ext.oss.orc.native

    設定專案空間作業在讀外部表格解析ORC資料檔案時,是否將原有基於Java的開源社區實現升級為基於C++的Native實現。新的實現支援處理更高版本的ORC檔案,能數倍提升開來源資料解析效能。

    • true:讀外部表格解析ORC資料檔案時使用新的基於C++的Native實現。

    • false:讀外部表格解析ORC資料檔案時使用原有基於Java的開源社區實現。

    odps.ext.parquet.native

    設定專案空間作業在讀外部表格解析PARQUET資料檔案時,是否將原有基於Java的開源社區實現升級為基於C++的Native實現,新的實現能數倍提升開來源資料解析效能。升級為新的實現後,當PARQUET小檔案很多且資料列數很多時可能會導致資料來源訪問次數增加,建立表時可以配合with serdeproperties屬性parquet.file.cache.sizeparquet.io.buffer.size參數來增加每次訪問資料來源緩衝的資料量。

    • true:讀外部表格解析PARQUET資料檔案時使用新的基於C++的Native實現。

    • false:讀外部表格解析PARQUET資料檔案時使用原有基於Java的開源社區實現。

    odps.security.enabledownloadprivilege

    設定專案是否開啟Download許可權控制方案,開啟後能夠對角色或使用者使用Tunnel下載表和執行個體的行為進行管控,提升專案資料安全性,避免出現資料泄露情況。詳情請參見Download許可權控制

    • true:開啟Download許可權控制。

    • false:關閉Download許可權控制。

    odps.security.ip.whitelist.services

    設定雲端服務白名單。用於避免使用者使用DataHub/SLS等雲端服務訪問MaxCompute專案時需要設定IP白名單。

    格式為:service1,service2

    Service名稱需提前在MaxCompute註冊。

    目前常用於日誌投遞服務,其Service取值為AliyunLogSLRService,AliyunLogDefaultService

設定專案空間屬性

設定專案空間的Project級屬性。設定專案空間屬性命令會存在0~5分鐘的時延。命令執行成功後,請您等待5分鐘後驗證執行結果。MaxCompute也支援設定Session級的屬性,詳情請參見set

  • 命令格式

    SETPROJECT <KEY>=<VALUE>;
  • 參數說明

  • 使用樣本

    設定允許在專案空間執行全表掃描操作。

    SETPROJECT odps.sql.allow.fullscan=true;

查看專案空間帳號體系

顯示當前專案空間支援的帳號體系資訊。帳號體系包括ALIYUN、RAM兩種。命令格式如下:

LIST accountproviders;
說明

MaxCompute專案空間預設僅能識別阿里雲帳號體系,無法識別RAM帳號體系。

增加RAM帳號體系

為當前專案空間增加RAM帳號體系。命令格式如下:

ADD accountprovider ram;

刪除RAM帳號體系

刪除當前專案空間的RAM帳號體系。命令格式如下:

REMOVE accountprovider ram;