/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package com.aliyun.odps.mapred.conf;
/**
* 定义 MapReduce 作业配置中可以允许用户自定义的配置参数.
*/
class CONF {
/**
* 当前任务添加的资源,运行时可读取.
*
* @see com.aliyun.odps.mapred.conf.JobConf#addResources(String)
*/
public final static String RESOURCES = "odps.mapred.resources";
/**
* 任务的{@link com.aliyun.odps.mapred.Mapper}的输出键值对KEY的行属性, 也是
* {@link com.aliyun.odps.mapred.Reducer}的输入键值对KEY的行属性
*
* @see com.aliyun.odps.mapred.conf.JobConf#setMapOutputKeySchema(com.aliyun.odps.Column[])
* @see com.aliyun.odps.mapred.conf.JobConf#getMapOutputKeySchema()
*/
public final static String MAPOUTPUT_KEY_SCHEMA = "odps.mapred.mapoutput.key.schema";
/**
* 任务的{@link com.aliyun.odps.mapred.Mapper}的输出键值对VALUE的行属性, 该行属性也是
* {@link com.aliyun.odps.mapred.Reducer}的输入键值对VALUE的行属性
*
* @see com.aliyun.odps.mapred.conf.JobConf#setMapOutputValueSchema(com.aliyun.odps.Column[])
* @see com.aliyun.odps.mapred.conf.JobConf#getMapOutputValueSchema()
*/
public final static String MAPOUTPUT_VALUE_SCHEMA = "odps.mapred.mapoutput.value.schema";
/**
* KEY排序使用的列, 在{@link com.aliyun.odps.mapred.Mapper}的输出键值对按照
* {@link #PARTITION_COLUMNS} 划分后,按这里指定的列名列表排序.对指定的单个列,排序的规则遵循自然序.
*
* @see com.aliyun.odps.mapred.conf.JobConf#setOutputKeySortColumns(String[])
* @see com.aliyun.odps.mapred.conf.JobConf#getOutputKeySortColumns()
*/
public final static String OUTPUT_KEY_SORT_COLUMNS = "odps.mapred.output.key.sort.columns";
/**
* KEY排序的顺序设定,对
* {@link com.aliyun.odps.mapred.conf.JobConf#setOutputKeySortColumns(String[])}
* 设定的每一个排序列,指定排序顺序。可选的顺序为升序
* {@link com.aliyun.odps.mapred.conf.JobConf.SortOrder#INC}或降序
* {@link com.aliyun.odps.mapred.conf.JobConf.SortOrder#DESC}。
*
* @see com.aliyun.odps.mapred.conf.JobConf#setOutputKeySortColumns(String[])
* @see com.aliyun.odps.mapred.conf.JobConf#getOutputKeySortColumns()
*/
public final static String OUTPUT_KEY_SORT_ORDER = "odps.mapred.output.key.sort.order";
/**
* 任务的KEY聚合列, 在{@link com.aliyun.odps.mapred.Reducer}的输入键值对依照
* {@link #OUTPUT_KEY_SORT_COLUMNS}排序后, 该聚合器将聚合后的键值对传递给
* {@link com.aliyun.odps.mapred.Reducer}.
*
* @see com.aliyun.odps.mapred.conf.JobConf#setOutputGroupingColumns(String[])
* @see com.aliyun.odps.mapred.conf.JobConf#getOutputGroupingColumns()
*/
public final static String OUTPUT_GROUP_COLUMNS = "odps.mapred.output.group.columns";
/**
* 任务的{@link com.aliyun.odps.mapred.Mapper}类.
*
* @see com.aliyun.odps.mapred.Mapper
* @see com.aliyun.odps.mapred.conf.JobConf#setMapperClass(Class)
* @see com.aliyun.odps.mapred.conf.JobConf#getMapperClass()
*/
public final static String MAP_CLASS = "odps.mapred.map.class";
/**
* 任务的{@link com.aliyun.odps.mapred.Mapper}的输出键值对的分区类.
*
* @see com.aliyun.odps.mapred.conf.JobConf#setPartitionColumns(String[])
* @see com.aliyun.odps.mapred.conf.JobConf#setPartitionColumns(String[])
*/
public final static String PARTITION_COLUMNS = "odps.mapred.partition.columns";
/**
* 任务的partitioner类.
*
* @see com.aliyun.odps.mapred.conf.JobConf#setPartitionerClass(Class)
* @see com.aliyun.odps.mapred.conf.JobConf#getPartitionerClass()
*/
public final static String PARTITION_CLASS = "odps.mapred.partition.class";
/**
* 任务的{@link com.aliyun.odps.mapred.Reducer}类.
*
* @see com.aliyun.odps.mapred.Reducer
* @see com.aliyun.odps.mapred.conf.JobConf#setReducerClass(Class)
* @see com.aliyun.odps.mapred.conf.JobConf#getReducerClass()
*/
public final static String REDUCE_CLASS = "odps.mapred.reduce.class";
/**
* 任务的combiner类.
*
* @see com.aliyun.odps.mapred.conf.JobConf#setCombinerClass(Class)
* @see com.aliyun.odps.mapred.conf.JobConf#getCombinerClass()
*/
public final static String COMBINE_CLASS = "odps.mapred.combine.class";
/**
* 任务的{@link com.aliyun.odps.mapred.Mapper}个数.
*
* @see com.aliyun.odps.mapred.Mapper
* @see com.aliyun.odps.mapred.conf.JobConf#setNumMapTasks(int)
* @see com.aliyun.odps.mapred.conf.JobConf#getNumMapTasks()
*/
public final static String MAP_TASKS = "odps.stage.mapper.num";
/**
* 任务的{@link com.aliyun.odps.mapred.Reducer}个数.
*
* @see com.aliyun.odps.mapred.Reducer
* @see com.aliyun.odps.mapred.conf.JobConf#setNumReduceTasks(int)
* @see com.aliyun.odps.mapred.conf.JobConf#getNumReduceTasks()
*/
public final static String REDUCE_TASKS = "odps.stage.reducer.num";
/**
* 任务的{@link com.aliyun.odps.mapred.Mapper} 内存资源
*
* @see com.aliyun.odps.mapred.conf.JobConf#setMemoryForMapTask(int)
* @see com.aliyun.odps.mapred.conf.JobConf#getMemoryForMapTask()
*/
public final static String MAP_MEMORY = "odps.stage.mapper.mem";
/**
* 任务的{@link com.aliyun.odps.mapred.Reducer} 内存资源
*
* @see com.aliyun.odps.mapred.conf.JobConf#setMemoryForReduceTask(int)
* @see com.aliyun.odps.mapred.conf.JobConf#getMemoryForReduceTask()
*/
public final static String REDUCE_MEMORY = "odps.stage.reducer.mem";
/**
* 任务的JVM内存资源
*
* @see com.aliyun.odps.mapred.conf.JobConf#setMemoryForJVM(int)
* @see com.aliyun.odps.mapred.conf.JobConf#getMemoryForJVM()
*/
public final static String JVM_MEMORY = "odps.stage.jvm.mem";
/**
* 任务的 Map JVM 内存资源
*
* @see com.aliyun.odps.mapred.conf.JobConf#setMemoryForMapperJVM(int)
* @see com.aliyun.odps.mapred.conf.JobConf#getMemoryForMapperJVM()
*/
public final static String MAP_JVM_MEMORY = "odps.stage.mapper.jvm.mem";
/**
* 任务的 Reduce JVM 内存资源
*
* @see com.aliyun.odps.mapred.conf.JobConf#setMemoryForReducerJVM(int)
* @see com.aliyun.odps.mapred.conf.JobConf#getMemoryForReducerJVM()
*/
public final static String REDUCE_JVM_MEMORY = "odps.stage.reducer.jvm.mem";
/**
* {@link com.aliyun.odps.mapred.Mapper}输入的切分大小
*
* @see com.aliyun.odps.mapred.Mapper
* @see com.aliyun.odps.mapred.conf.JobConf#setSplitSize(long)
* @see com.aliyun.odps.mapred.conf.JobConf#getSplitSize()
*/
public final static String MAP_SPLIT_SIZE = "odps.stage.mapper.split.size";
/**
* 输出表的行属性
*/
public static final String OUTPUT_SCHEMA = "odps.mapred.output.schema";
/**
* 输入表的行属性
*/
public static final String INPUT_SCHEMA = "odps.mapred.input.schema";
/**
* Combiner缓存记录数
*/
public final static String COMBINER_CACHE_ITEMS = "odps.mapred.combiner.cache.items";
/**
* Combiner缓存的Spill阈值
*/
public final static String COMBINER_CACHE_SPILL_PERCENT = "odps.mapred.combiner.cache.spill.percent";
/**
* Combiner优化开关
*/
public final static String COMBINER_OPTIMIZE_ENABLE = "odps.mapred.combiner.optimize.enable";
/**
* 子任务超时时间(秒)
*/
public final static String FUNCTION_TIMEOUT = "odps.function.timeout";
/**
* Instance优先级设定
*/
public final static String INSTANCE_PRIORITY = "odps.instance.priority";
/**
* 设置是否覆盖输出表
*/
public final static String OUTPUT_OVERWRITE = "odps.mapred.output.overwrite";
/**
* 设置是否在中间节点进行输出
*/
public final static String INNER_OUTPUT_ENABLE = "odps.mapred.inner.output.enable";
public static final String OUTPUT_KEY_COMPARATOR_CLASS = "odps.stage.mapred.output.key.comparator.class";
public static final String OUTPUT_KEY_GROUPING_COMPARATOR_CLASS = "odps.mapred.output.key.grouping.comparator.class";
}