創建MaxCompute項目空間后,您需要進入項目空間才可以執行后續開發、分析、運維等一系列操作。本文為您介紹如何進入或查看項目空間,以及設置或查看項目空間Project級的屬性。
項目空間操作的常用命令如下。
類型 | 功能 | 角色 | 操作入口 |
進入具備訪問權限的項目空間。 | 具備項目空間訪問權限的用戶 | 本文中的命令您需要在MaxCompute客戶端執行。 | |
查看項目空間配置的屬性信息。 | 項目空間Owner | ||
設置項目空間的屬性信息。 | 項目空間Owner | ||
顯示當前項目空間支持的賬號體系信息。 | 項目空間Owner | ||
為當前項目空間增加RAM賬號體系。 | 項目空間Owner | ||
刪除當前項目空間的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指定的各種語法,例如
inputRecordReader
、outputRecordReader
和Serde
。Hive兼容數據類型詳情請參見Hive兼容數據類型版本。true:打開
false:關閉
odps.sql.decimal.odps2
DECIMAL 2.0數據類型
DECIMAL(precision,scale)
開關。詳情請參見2.0數據類型版本。true:打開
false:關閉
odps.timemachine.retention.days
設置備份數據的保留天數。詳情請參見備份與恢復。
0~30,默認值為1。
odps.instance.priority.enable
使用包年包月計算資源項目空間的作業優先級功能開關。詳情請參見作業優先級。
0~9,默認值為9。數值越小,優先級越高。
odps.output.field.formatter
設置SQL查詢結果的動態脫敏規則。詳情請參見MaxCompute數據動態脫敏。
自定義的動態脫敏規則。
odps.sql.metering.value.max
設置單SQL消費限制值。詳情請參見消費監控告警。
無。
odps.sql.acid.table.enable
設置是否開啟ACID機制。更多ACID信息,請參見ACID語義。
true:打開
false:關閉
odps.sql.timezone
設置MaxCompute項目的時區。更多時區信息,請參見時區配置操作。
無。
odps.sql.unstructured.oss.commit.mode
設置是否開啟通過OSS的分片上傳功能向OSS外部表寫入數據。詳情請參見將數據寫入OSS。
true:打開
false:關閉
odps.sql.groupby.orderby.position.alias
設置是否開啟將
group by
和order 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.size
和parquet.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>;
參數說明
KEY:屬性名稱。
VALUE:屬性值。屬性詳情請參見查看項目空間屬性。
使用示例
設置允許在項目空間執行全表掃描操作。
setproject odps.sql.allow.fullscan=true;
查看項目空間賬號體系
顯示當前項目空間支持的賬號體系信息。賬號體系包括ALIYUN、RAM兩種。命令格式如下:
list accountproviders;
MaxCompute項目空間默認僅能識別阿里云賬號體系,無法識別RAM賬號體系。
增加RAM賬號體系
為當前項目空間增加RAM賬號體系。命令格式如下:
add accountprovider ram;
刪除RAM賬號體系
刪除當前項目空間的RAM賬號體系。命令格式如下:
remove accountprovider ram;