您可在參數列表頁面搜尋參數,查看參數的影響範圍、屬性名稱和屬性描述。
分類 | 影響範圍 | 屬性名稱 | 屬性描述 | 取值範圍 | 主要影響的SQL命令和函數 |
生態 | Session | console.sql.result.instancetunnel | InstanceTunnel開關。關於Tunnel命令的更多資訊,請參見使用說明。 |
| SELECT |
調度 | Session | odps.stage.mapper.mem | 設定每個Map Worker的記憶體大小。 | 取值範圍:256 MiB~12288 MiB。預設值為1024 MiB。 | ALL |
調度 | Session | odps.stage.reducer.mem | 設定每個Reduce Worker的記憶體大小。 | 取值範圍:256 MiB~12288 MiB。預設值為1024 MiB。 | ALL |
調度 | Session | odps.stage.joiner.mem | 設定每個Join Worker的記憶體大小。 | 取值範圍:256 MiB~12288 MiB。預設值為1024 MiB。 | ALL |
調度 | Session | odps.stage.mem | 設定MaxCompute指定任務下所有Worker的記憶體大小。優先順序低於odps.stage.mapper.mem、odps.stage.reducer.mem和odps.stage.joiner.mem屬性。 | 取值範圍:256 MiB~12288 MiB。無預設值。 | ALL |
調度 | Session | odps.stage.mapper.split.size | 修改每個Map Worker的輸入資料量,即輸入檔案的分區大小,從而間接控制每個Map階段下Worker的數量。 說明 SQL語句中使用Limit,會限制Limit作用的Worker單並發運行。因此在設定該配置項的時候,SQL語句中應避免使用Limit。 | 單位MiB,預設值為256 MiB。 | ALL |
調度 | Session | odps.sql.split.size | 設定表層級平行處理的單個分區資料大小。 | 單位MiB。 樣本: | ALL |
調度 | Session | odps.sql.split.row.count | 設定表層級平行處理的單個分區行數。 說明 只能用於內部表、非事務表和非聚簇表。 | 取值範圍:大於0的整數。 樣本: | ALL |
調度 | Session | odps.sql.split.dop | 設定表層級的並行度。 說明 只能用於內部表、非事務表和非聚簇表。 | 取值範圍:大於0的整數。 樣本: | ALL |
調度 | Session | odps.stage.reducer.num | 修改每個Reduce階段的Worker數量。 說明 SQL語句中使用Limit,會限制Limit作用的Worker單並發運行。因此在設定該配置項的時候,SQL語句中應避免使用Limit。 | - | ALL |
調度 | Session | odps.stage.joiner.num | 修改每個Join階段的Worker數量。 說明 SQL語句中使用Limit,會限制Limit作用的Worker單並發運行。因此在設定該配置項的時候,SQL語句中應避免使用Limit。 | - | ALL |
調度 | Session | odps.stage.num | 修改MaxCompute指定任務下所有Worker的並發數,優先順序低於odps.stage.mapper.split.size、odps.stage.reducer.num和odps.stage.joiner.num屬性。 說明 SQL語句中使用Limit,會限制Limit作用的Worker單並發運行。因此在設定該配置項的時候,SQL語句中應避免使用Limit。 | - | ALL |
調度 | Project | odps.instance.priority.enable | 使用訂用帳戶計算資源專案空間的作業優先順序功能開關。關於作業優先順序功能的更多資訊,請參見作業優先順序。 |
說明 僅Project Owner或擁有Super_Administrator角色的使用者可以執行該命令開啟優先順序功能開關。 | ALL |
SQL | Session | odps.sql.reshuffle.dynamicpt | 動態分區開關,以避免拆分動態分區時產生過多小檔案。 |
說明 如果產生的動態分區個數很少,建議將值設為False,以避免資料扭曲。 |
|
SQL | Session | odps.sql.udf.getjsonobj.new | 設定GET_JSON_OBJECT函數的返回行為是否開啟保留原始字串的方式。 自2021年1月21日及之後新建立的MaxCompute專案中,GET_JSON_OBJECT函數的返回行為預設為保留原始字串。2021年1月21日之前建立的MaxCompute專案中,GET_JSON_OBJECT函數的返回行為預設為JSON保留字元轉義,以免行為變更對存量作業造成影響。 關於GET_JSON_OBJECT函數的更多資訊,請參見字串函數。 |
| UDF |
SQL | Session | odps.sql.udf.jvm.memory | 設定UDF JVM Heap使用的最大記憶體。 部分UDF在記憶體計算、排序的資料量比較大時,會報記憶體溢出錯誤,這時候可以調大該參數,但該方法只能暫時緩解,您需要從業務上去最佳化UDF代碼。 | 取值範圍:256 MiB~12288 MiB。預設值為1024 MiB。 | UDF |
SQL | Session | odps.function.timeout | 設定UDF逾時時間。 | 取值範圍:0s~3600s。預設值為600s。 | UDF |
SQL | Session | odps.sql.session.resources | 指定UDT引用的資源,可以指定多個,用英文半形逗號(,)分隔。關於引用資源的更多資訊,請參見UDT概述。 | 上傳的資源。 | UDT |
SQL | Session | odps.sql.udt.display.tostring | 設定是否開啟將所有以UDT為最終輸出的列Wrap上java.util.Objects.toString(...)的機制。 |
| UDT |
SQL | Session | odps.sql.session.java.imports | 指定UDT引用的Java Package,可以指定多個,用英文半形逗號(,)分隔。關於Java Package的更多資訊,請參見UDT概述。 | 上傳的Java Package。 | UDT |
SQL | Session | odps.sql.skewjoin | 設定是否開啟SKEWJOIN功能,解決長尾問題。 |
|
|
SQL | Session | odps.sql.skewinfo | 設定SKEWJOIN的目標Key及對應的值。具體操作,請參見資料扭曲調優。 | - |
|
SQL | Session | odps.sql.udf.ppr.deterministic | 設定是否在自訂函數中開啟分區裁剪機制。關於分區裁剪的更多資訊,請參見WHERE子句(where_condition)。 |
| UDF |
SQL | Session | odps.sql.udf.ppr.to.subquery | 設定是否開啟忽略分區裁剪回填報錯問題機制。關於分區裁剪資訊的更多資訊,請參見WHERE子句(where_condition)。 |
| UDF |
SQL | Session | odps.optimizer.enable.range.partial.repartitioning | 設定Range聚簇表是否開啟Shuffle Remove機制。 |
|
|
SQL | Session | odps.optimizer.merge.partitioned.table | 當一個查詢重複使用相同的分區表時,支援設定該參數,系統會對分區表進行合并,以最大限度地減少對分區表的IO操作,提升效能。 |
| SELECT |
SQL | Session | odps.optimizer.skew.join.topk.num | 設定最佳化器運行Aggregate時擷取的熱值數量。具體操作,請參見SKEWJOIN HINT。 | - | SKEWJOIN HINT |
SQL | Session | odps.optimizer.stat.collect.auto | 設定是否開啟Freeride功能,開啟後自動收集表的Column Stats。關於最佳化器資訊收集的更多資訊,請參見最佳化器。 |
|
|
SQL | Session | odps.optimizer.stat.collect.plan | 設定收集計劃,收集指定列的指定Column Stats指標。關於最佳化器資訊收集的更多資訊,請參見最佳化器。 | - |
|
SQL | Session | odps.sql.external.net.vpc | 設定是否開啟外部表格VPC支援。具體操作,請參見Hologres外部表格。 |
| CREATE TABLE |
SQL | Session | odps.sql.groupby.position.alias | 設定是否開啟將groupby中的整型常量作為SELECT的列序號處理。 |
|
|
SQL | Session | odps.sql.groupby.skewindata | 設定是否開啟groupby防傾斜機制。 |
| GROUP BY |
SQL | Session | odps.sql.orderby.position.alias | 設定是否開啟將orderby中的整型常量作為SELECT的列序號處理。 |
|
|
SQL | Session | odps.sql.mapjoin.memory.max | 設定MAPJOIN情境小表讀入記憶體後的大小,單位MiB。 說明 該參數同時受Task層級的總記憶體全域限制影響。同Task多個小表總記憶體全域上限= | 取值範圍:0 MiB~8192 MiB | JOIN |
SQL | Session | odps.sql.distributed.map.join.memory.max | 設定MAPJOIN時,HashTableBuilder的每個執行個體的記憶體大小。預設2048,單位MiB。 | 取值範圍:0 MiB~8192 MiB | JOIN |
SQL | Session | odps.sql.python.version | 設定運行SQL句的Python版本。 |
|
|
SQL | Session | odps.sql.select.output.format | 設定是否在MaxCompute用戶端的返回結果中顯示錶頭資訊。關於使用MaxCompute用戶端的更多資訊,請參見使用本地用戶端(odpscmd)串連。 |
| ALL |
SQL | Session | odps.sql.unstructured.data.oss.use.https | 設定訪問外部表格時,是否需要開啟底層通過HTTPS方式擷取資料的機制。關於OSS外部表格的更多資訊,請參見建立OSS外部表格。 |
| ALL |
SQL | Session | odps.sql.decimal.tostring.trimzero | 當資料類型為Decimal時是否去掉小數點後面末尾的零,預設值為 |
| CAST |
SQL | Session | odps.sql.unstructured.tablestore.put.row | OTS外部表格支援指定PutRow的寫入方式。 說明 PutRow詳情請參考PutRow。 |
| ALL |
SQL | Session | odps.sql.unstructured.external.max.dop | 外表訪問的Worker的最大並發度。 | 大於0的整數。 | 外表查詢寫入 |
SQL | Session/Project | odps.sql.unstructured.file.pattern.black.list | 在MaxCompute SQL讀取外表指向的OSS或HDFS Location情境下,可以自動忽略Spark寫入此目錄時引入的
| 取值: | 外表寫入 |
SQL | Session | odps.meta.exttable.stats.onlinecollect | 由於外部查詢的資料存放區在資料湖中,出於開放性的考慮,無法進行本地中繼資料的處理。而且資料位元於外部且未提前收集統計資訊,在產生執行計畫時往往採取較為保守的策略,導致運行效率不高。 該功能支援Optimizer在Query執行中臨時統計表的Stats來發現小表,並主動採用Hash Join、最佳化Join Order、減少大量Shuffle和縮短執行的Pipeline等方法,最終最佳化查詢計劃。 | True:開啟。 False(預設):關閉。 | 外表查詢 |
SQL | Project | odps.sql.allow.fullscan | 設定專案空間是否允許全表掃描。全表掃描會佔用大量資源,為提升處理效率,不建議開啟該功能。 |
| SELECT |
SQL | Project | odps.table.lifecycle | 設定專案空間下的表是否需要配置生命週期。 |
| CREATE TABLE |
SQL | Project | odps.table.lifecycle.value | 設定表的生命週期。單位:天。 | 取值範圍:1~37231,預設值為37231。 | CREATE TABLE |
SQL | Project | READ_TABLE_MAX_ROW | 設定SELECT語句返回的資料條數。 | 取值範圍:1~10000,預設值為10000。 | SELECT |
SQL | Project | odps.output.field.formatter | 設定SQL查詢結果的動態脫敏規則。關於MaxCompute資料動態脫敏的更多資訊,請參見資料動態脫敏。 | 自訂的動態脫敏規則。 | SELECT |
SQL | Project | odps.sql.acid.table.enable | 設定是否開啟ACID機制。關於ACID的更多資訊,請參見ACID語義。 |
| ALL |
SQL | Session/Project | odps.io.oss.use.vipserver | 外表採用VIPServer方式訪問OSS,不開啟此設定則採用SLB方式訪問OSS。採用VIPServer可以實現更高的資料傳輸量上限,也可以被流控,但存在一定的穩定性風險(例如查詢失敗等)。您可以評估風險後使用。 |
| 外表查詢 |
SQL | Session/Project | odps.sql.executionengine.enable.string.to.date.full.format | 如果需要轉換帶時分秒的日期文字,需要把該參數值設定成True,預設值是False。 |
| CAST |
SQL | Session/Project | odps.sql.executionengine.enable.rand.time.seed | 當參數值為False時,Rand函數使用當前InstanceId作為隨機數初始化Seed,可以保證函數等冪。 當Flag值為True時,Rand函數使用當前系統時間作為隨機數初始化的Seed,但Rand函數不再等冪,不能作為Shuffle Key使用,這會導致重跑的結果不相同。 預設值為False。 |
| RAND |
SQL | Session/Project | odps.sql.type.system.odps2 | 2.0新資料類型開關。關於2.0資料類型的更多資訊,請參見2.0資料類型版本。 |
| MaxCompute 2.0擴充函數 |
SQL | Session/Project | odps.sql.type.json.enable | JSON資料類型使用開關。關於JSON資料類型的更多資訊,請參見MaxCompute JSON類型使用指南。 |
| MaxCompute JSON資料類型 |
SQL | Session/Project | odps.sql.hive.compatible | Hive相容模式開關。開啟Hive相容模式後,MaxCompute才支援Hive指定的各種文法,例如inputRecordReader、outputRecordReader和Serde。關於相容資料類型的更多資訊,請參見Hive相容資料類型版本。 |
| ALL |
SQL | Session/Project | odps.sql.metering.value.max | 設定單SQL消費限制值。關於消費者監控的更多資訊,請參見消費監控警示消費控制。 | - | ALL |
SQL | Session/Project | odps.sql.timezone | 設定MaxCompute專案的時區。關於時區的更多資訊,請參見時區配置操作。 | - | ALL |
SQL | Session/Project | odps.sql.unstructured.oss.commit.mode | 設定是否開啟通過OSS的分區上傳功能向OSS外部表格寫入資料。具體操作,請參見將資料寫入OSS。 |
| INSERT OVERWRITE |
SQL | Session/Project | odps.sql.groupby.orderby.position.alias | 設定是否開啟將group by和order by中的整型常量作為SELECT的列序號處理。 說明 對於存量專案,如果在專案層級開啟該參數,可能會對您已有的任務解析和執行操作造成影響,請確認並務必保證存量任務在此參數設定下仍可以按照原有邏輯正確執行後,再修改該參數。否則,請在Session層級設定 |
|
|
SQL | Session/Project | odps.ext.oss.orc.native | 讀表時使用Native ORC Reader。 |
| SELECT |
SQL | Session/Project | odps.sql.job.max.time.hours | 單作業最大執行時間。 說明 若需要在專案層級設定,您可以通過申請連結或搜尋(DingTalk群號:11782920)加入MaxCompute開發人員社區釘群聯絡MaxCompute支援人員團隊在後台設定。 | 取值範圍為:1~72,預設值為24。 | SQL作業 |
計量計費 | Session | odps.task.quota.preference.tag | 指定作業的Quota組(即MaxCompute管家中的配額組)。使用訂用帳戶資源的專案空間可以通過該屬性指定作業使用某個具體的二級Quota組。如果提交作業時設定的Quota Tag和某個Quota組屬性中的Quota Tag相等,作業就會被優先調度到這個Quota組中。否則,會被調度到所屬專案空間指定的Quota組中。 執行如下語句進行設定。
說明 該屬性當前僅支援SQL作業。 | tag_name為MaxCompute管家中配額組的配額組標籤。配額組只能取作業所屬專案空間Owner所在地區的配額組。tag_name只允許使用字母、數字和底線(_)。 | ALL |
計量計費 | Session | odps.task.wlm.quota | 用指定的資源去跑當前Session的任務,值為對應的QuotaName。 | - | ALL |
安全與許可權 | Project | odps.forbid.fetch.result.by.bearertoken | 設定是否禁止Logview的Result頁簽顯示作業運行結果。該參數主要用於保護資料安全。 |
| ALL |
安全與許可權 | Project | LabelSecurity | 設定是否開啟LabelSecurity安全機制。關於LabelSecurity安全機制的更多資訊,請參見Label許可權控制。 |
| ALL |
安全與許可權 | Project | CheckPermissionUsingACL | 設定是否開啟ACL授權機制。關於ACL授權的更多資訊,請參見MaxCompute許可權。 |
| ALL |
安全與許可權 | Project | CheckPermissionUsingPolicy | 設定是否開啟Policy授權機制。關於Policy授權的更多資訊,請參見Policy許可權控制。 |
| ALL |
安全與許可權 | Project | ObjectCreatorHasAccessPermission | 設定對象建立者是否預設擁有存取權限。 |
| ALL |
安全與許可權 | Project | ObjectCreatorHasGrantPermission | 設定對象建立者是否預設擁有授權許可權。 |
| ALL |
安全與許可權 | Project | ProjectProtection | 設定是否開啟資料保護機制。關於資料保護機制的更多資訊,請參見資料保護機制。 |
| ALL |
安全與許可權 | Project | odps.output.field.formatter | 設定SQL查詢結果的動態脫敏規則。關於動態脫敏的更多資訊,請參見資料動態脫敏。 | 自訂的動態脫敏規則。 | SELECT |
許可權安全 | Project | odps.security.ip.whitelist | 設定雲產品互連網絡情境下可以訪問專案空間的IP白名單。關於IP白名單的更多資訊,請參見管理IP白名單。 | IP列表,以英文半形逗號(,)分隔。 | ALL |
許可權安全 | Project | odps.security.vpc.whitelist | 指定VPC網路情境下可以訪問專案空間的IP白名單。關於IP白名單的更多資訊,請參見管理IP白名單。 | RegionID_VPCID[IP Address] | ALL |
資料類型 | Project | odps.sql.decimal.odps2 | DECIMAL 2.0資料類型DECIMAL(precision,scale)開關。關於資料類型的更多資訊,請參見2.0資料類型版本。 |
| ALL |
資料存放區 | Project | odps.timemachine.retention.days | 設定備份資料的保留天數。關於資料備份的更多資訊,請參見備份與恢複。 | 取值範圍:0~30,預設值為1。 | ALL |
中繼資料 | Project | odps.schema.evolution.enable | 開通表結構變更能力。 |
| 表結構變更。 |
Flag參數值查詢
您可以根據以下方式查詢Project層級或Session層級的Flag參數值。
Project層級:在MaxCompute用戶端(odpscmd)工具中執行
setproject;
命令即可查出專案中所有的Flag參數值。Session層級:Session層級的參數值請在Logview中查看。