您可在参数列表页面搜索参数,查看参数的影响范围、属性名称和属性描述。
分类 | 影响范围 | 属性名称 | 属性描述 | 取值范围 | 主要影响的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支持。具体操作,请参见HBase外部表(HBase标准版或增强版)、RDS外部表以及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 | 单作业最大执行时间。 说明 若需要在项目级别设置,您可以通过申请链接或搜索(钉钉群号: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中查看。