zoukankan      html  css  js  c++  java
  • hadoop记录-hive常见设置

    分区表

    set hive.exec.dynamic.partition=true;
    set hive.exec.dynamic.partition.mode=nonstrict;
    create table test.test28_partition(id string, name string)
    PARTITIONED BY (inc_day string)
    STORED AS PARQUET
    location 'hdfs://xxx/user/hive/warehouse/test/test27_partition';

    show CREATE table test.test28_partition

    desc formatted test.test10_partition;

    insert into table test.test27_partition PARTITION (inc_day)
    select b.dept_code,b.income,b.inc_month from dm_hrmis.ql_jobmatch_dept_message_income_v2 b limit 100000;

    1.Hive java.lang.RuntimeException: problem advancing post rec#4010960 的处理方法

    处理方法1. 增大Reduce内存

    set mapreduce.reduce.memory.mb=8192;

    set mapreduce.reduce.java.opts="-Xmx7000m -Xms1800m";

    处理方法2. 增大Reduce的个数

    增大reduce的个数,目的是减少每个reduce的数据量,使reduce的内存够用。
    如以下参数设置每128M数据一个reduce,如果默认设置为256M,则生成的reduce的数量增大一倍。

    set hive.exec.reducers.bytes.per.reducer=128000000;

    处理方法3. 同时增大Reduce内存和增大Reduce的个数

    如果是MapReduce运行,设置运行Reduce时,把shuffle缓冲区保留的数据为0. 设置以下参数不为0可以加大程序的执行速度。如reduce的 shuffle缓冲区大小为2G时,设置此值为0.5,则运行Reduce时,可以有1Gshuffle 数据在内存中。这部分数据不用先写到硬盘,运行Reduce时再从硬盘读入。但是运行Reduce时,可能会造成内存不足。

    mapreduce.reduce.input.buffer.percent=0;

    处理方法5. 倾斜的数据单独处理
    如果前面的方法不能解决问题,说明数据同一key的数据过多,不论reduce设置多少,他们还是进入同一个reduce处理。如果Reduce内存已经设置系统的上限还是报错,只能把倾斜的数据单独处理。 用两个 SQL ,一个SQL只处理倾斜的数据,另一个SQL处理其他数据。
    2.动态分区设置

    set hive.exec.dynamic.partition.mode=nonstrict;
    set hive.exec.dynamic.partition=true;

    3.小文件合并设置

    <property>
    <name>hive.merge.mapfiles</name>
    <value>true</value>
    </property>
    <property>
    <name>hive.merge.mapredfiles</name>
    <value>true</value>
    </property>
    <property>
    <name>hive.merge.size.per.task</name>
    <value>268435456</value>
    </property>
    <property>
    <name>hive.merge.smallfiles.avgsize</name>
    <value>67108864</value>
    </property>

    -- 设置文件合并
    set abaci.is.dag.job=false;
    set hive.merge.mapredfiles=true;
    set mapred.combine.input.format.local.only=false;
    set hive.merge.smallfiles.avgsize=100000000;
    -- 在map only的情况下,如上的参数如果没有生效,可以设置如下
    -- 在HQL的最外层增加distribute by rand()
    select * from XXX distribute by rand()

    4.查看表结构信息

    desc formatted  xxx.xxx;

    show create table xxx.xxx;

    5.队列设置

    老版本一般 mapred开头 
    新版本是mapreduce开头 

    set mapred.job.queue.name=queue3;

    SET mapreduce.job.queuename=queue3;

    set mapred.queue.names=queue3;

    6.执行引擎设置

    set hive.execution.engine=spark;

    set hive.execution.engine=mr2;

    set hive.execution.engine=tez;

    7.使用union all的时候,系统资源足够的情况下,为了加快hive处理速度,可以设置如下参数实现并发执行

    set mapred.job.priority=VERY_HIGH;

    set hive.exec.parallel=true;

    8.设置map reduce个数

    -- 设置map capacity
    set mapred.job.map.capacity=2000;
    set mapred.job.reduce.capacity=2000;
    -- 设置每个reduce的大小 set hive.exec.reducers.bytes.per.reducer=500000000; -- 直接设置个数
    set mapred.reduce.tasks = 15;
    其他参数设置
    hive.cli.print.header=true   查询结果是否显示表头
    hive.exec.mode.local.auto=true  设置自动使用本地化而不执行MapReduce
    hive.auto.convert.join=true  Join优化,开启小表标记
    hive job优化
     
    1、并行优化
    hive job的并行化执行,在job之间没有依赖关系时可以同时执行,并行数另外配置,默认为8,开启并行会消耗更多的集群资源来提高执行速度,可对特定作业作并行执行合适。
    hive.exec.parallel=true;
    Job并行最大数,与job并行配置配合使用,但受集群资源与Job之间是否依赖的因素影响,即最大数为64但资源稀缺或存在不依赖的job数不够也无法达到最大值。
    hive.exec.parallel.thread.number=8
    2、本地模式优化(减低网络IO的负载,对小任务有用,大任务还得分而治之)
    hive.exec.mode.local.auto=true;
    当一个job满足如下条件会使用本地模式:
    ①job的输入数据大小必须小于:
            hive.exec.mode.local.auto.inputbytes.max  (默认128)
    ②job的map数必须小于参数:
            hive.exec.mode.local.auto.tasks.max  (默认4)
    ③job的reduce数必须为0或者1
    3、job合并输入小文件(会启动新的job合并文件)
    hive.merge.smallfiles.avgsize=256000000;
    当输出文件平均大小小于该值,启动新job合并文件
    hive.merge.size.per.task=64000000;
    合并之后的文件大小
    4.jvm重利用
    mapred.job.reuse.jvm.num.tasks=20;
    JVM重利用可以使job长时间保留slot(下个map无需再次初始化jvm),直到作业结束,这个对于较多任务和较多小文件的任务是非常有意义的,减少执行时间。当然这个值不能设置过大,因为有些作业会有reduce任务,如果reduce任务没有完成,则map认为占用的slot不能释放,其他的作业可能就需要等待。
    5、压缩数据
    中间压缩就是处理hive查询的多个job之间的数据,对于中间压缩,最好选择一个节省CPU耗时的压缩方式
    hive.exec.compress.intermediate=true;//决定查询的中间 map/reduce job (中间 stage)的输出是否为压缩格式
    hive.intermediate.compression.codec=org.apache.hadoop.io.compress.SnappyCodec; //中间 map/reduce job 的压缩编解码器的类名(一个压缩编解码器可能包含多种压缩类型),该值可能在程序中被自动设置。
    hive.intermediate.compression.type=BLOCK  (压缩单元为块压缩) //中间 map/reduce job 的压缩类型,如 "BLOCK""RECORD"
    hive查询最终的输出也可以压缩
    hive.exec.compress.output=true; //决定查询中最后一个 map/reduce job 的输出是否为压缩格式
    mapred.output.compression.codec=orgapache.hadoop.io.compress.GzipCodec;  // 压缩格式
    mapred.output.compression.type=BLOCK  //压缩类型
    6、Map优化
    mapred.map.taskes=10;
    (1)默认map个数
    default_num = total_size / block_size;
    (2)期望大小
    goal_num = mapred.map.casks;
    (3)设置处理的文件大小
    split_size = max(mapred.min.split.size,block_size);
    split_num = total_size / split_size;
    (4)计算的map个数
    compute_map_num = min(split_num,max(default_num,goal_num));
     经过以上的分析,在设置map个数的时候,可以简单的总结为一下的几点:
    (1)如果增大map个数,则设置mapred.map.tasks为一个较大的值
    (2)如果想减小map个数,则设置mapred.min.split.size为一个较大的值。
    情况1:输入文件size巨大,但不是小文件)
    增大mapred.min.split.size的值
    情况2:输入文件数量巨大,且都是小文件,就是单个文件的size小于blockSize。(造成网络负载大)
    这种情况通过增大mapred.min.split.size不可行,需要使用CombineFileInputFormat将多个input path合并成一个InputSplit送个mapper处理,从而减少mapper的数量
    map端聚合(执行combine)
    hive.map.aggr=true; //消耗更多的内存来提高效率
    推测执行(多启动一个map来防止map失败)
    mapred.map.tasks.speculative.execution
    mapred.map.tasks.speculative.execution=true
    mapred.reduce.tasks.speculative.execution=true
    hive.mapred.reduce.tasks.speculative.execution=true;
    7、Hive Shuffle优化
    Map端
    Reduce端
    io.sort.mb
    io.sort.spill.percent
    min.num.spill.for.combine
    io.sort.factor
    io.sort.record.percent
    mapred.reduce.parallel.copies
    mapred.reduce.copy.backoff
    io.sort.factor
    mapred.job.shuffle.input.buffer.percent
    mapred.job.reduce.input.buffer.percent
     
     
     
    8、Hive Reduce优化
    (1)设置reduce数
    mapred.reduce.tasks = 10  (设置了也未必全用,使用个数公式如下)
    hive.exec.reducers.max 默认999
    hive.exec.reducer.bytes.per.reducer 默认:1G
    reduce使用个数的计算公式
    numRTasks = min [ maxReducers,input.size / perReducer ]
    maxReducers = hive.exec.reducers.max
    perReducer = hive.exec.reducers.bytes.per.reducer
    (2)推测执行
    mapred.reduce.tasks.speculative.execution
    hive.mapred.reduce.tasks.speculative.excution
    9、数据倾斜优化
    注意:如果hql使用多个distinct是无法使用这个参数去解决倾斜问题,可以改用sum()+group by解决
    hive.optimize.skewjoin  //是否优化数据倾斜的 Join,对于倾斜的 Join 会开启新的 Map/Reduce Job 处理。 
    数据倾斜时负载均衡,当选项设定为true,生成的查询计划会有两个MRJob。第一个MRJob 中,
    Map的输出结果集合会随机分布到Reduce中,每个Reduce做部分聚合操作,并输出结果,这样处理的结果是相同的GroupBy Key
    有可能被分发到不同的Reduce中,从而达到负载均衡的目的;第二个MRJob再根据预处理的数据结果按照GroupBy Key分布到
    Reduce中(这个过程可以保证相同的GroupBy Key被分布到同一个Reduce中),最后完成最终的聚合操作。
    默认值:false     
    hive.skewjoin.key    //倾斜键数目阈值,超过此值则判定为一个倾斜的 Join 查询。   
    默认值: 1000000     
    hive.skewjoin.mapjoin.map.tasks  //处理数据倾斜的 Map Join 的 Map 数上限。   
    默认值: 10000     
    hive.skewjoin.mapjoin.min.split  //处理数据倾斜的 Map Join 的最小数据切分大小,以字节为单位,默认为32M。   
    默认值:33554432    
    hive.exec.mode.local.auto  
    决定 Hive 是否应该自动地根据输入文件大小,在本地运行(在GateWay运行)   
    默认值:true     
    hive.exec.mode.local.auto.inputbytes.max  
    如果hive.exec.mode.local.auto 为 true,当输入文件大小小于此阈值时可以自动在本地模式运行,默认是 128兆。   
    默认值:134217728L     
    hive.exec.mode.local.auto.tasks.max  
    如果hive.exec.mode.local.auto 为 true,当 Hive Tasks(Hadoop Jobs)小于此阈值时,可以自动在本地模式运行。  
    默认值:4     
    hive.auto.convert.join  
    是否根据输入小表的大小,自动将 Reduce 端的 Common Join 转化为 Map Join,从而加快大表关联小表的 Join 速度。   
    默认值:false     
    hive.mapred.local.mem  
    Mapper/Reducer在本地模式的最大内存量,以字节为单位,0为不限制。   
    默认值:0     
    mapred.reduce.tasks    
    所提交 Job 的 reduer 的个数,使用 Hadoop Client 的配置。     
    默认值:1
    hive.exec.scratchdir  
    HDFS路径,用于存储不同 map/reduce 阶段的执行计划和这些阶段的中间输出结果。  
    默认值:/tmp/<user.name>/hive     
    hive.metastore.warehouse.dir  
    Hive 默认的数据文件存储路径,通常为 HDFS 可写的路径。   
    默认值:"     
    hive.groupby.skewindata  
    决定 group by 操作是否支持倾斜的数据。   
    默认值:false     
    hive.merge.mapfiles  
    在Map-only的任务结束时合并小文件。
    是否开启合并 Map 端小文件,对于 Hadoop 0.20 以前的版本,起一个新的 Map/Reduce Job,对于 0.20 以后的版本,则是起使用 CombineInputFormat 的 MapOnly Job。
    是否开启合并 Map 端小文件,当Hive输入由很多个小文件组成,由于每个小文件都会启动一个map任务,如果文件过小,会使得map任务启动和初始化的时间大于逻辑处理的时间,造成资源浪费,甚至OOM。为此,当我们启动一个任务,发现输入数据量小但任务数量多时,需要注意在Map前端进行输入合并。当然,在我们向一个表写数据时,也需要注意输出文件大小   
    默认值:true     
    hive.merge.mapredfiles    
    是否开启合并 Map/Reduce 小文件,对于 Hadoop 0.20 以前的版本,起一个新的 Map/Reduce Job,对于 0.20 以后的版本,则是起使用 CombineInputFormat 的 MapOnly Job。
    是否开启合并 Map/Reduce 小文件,即是否在Map-Reduce的任务结束时合并小文件。   
    默认值:false 
    hive.limit.optimize.enable    
    当使用LIMIT语句时,其可以对数据源进行抽样,避免执行整个查询语句,然后再返回部分结果
    但这个功能有个缺点,有可能输入中有用的数据永远不会被处理到。 
    hive.default.fileformat  
    Hive 默认的输出文件格式,与创建表时所指定的相同,
    可选项为 'TextFile' 、 'SequenceFile' 或者 'RCFile'。    'TextFile'      
    hive.mapred.mode   
    Map/Redure 模式,如果设置为 strict,将禁止3中类型的查询:
    1.分区表的where筛选条件必须含有分区字段;
    2.对使用了order by语句的查询,必须使用limit语句(order by语句为执行排序会将所有的结果集数据分发到同一个reducer中进行处理,增加limit语句可以防止reducer额外执行很长时间)
    3.限制笛卡儿积的查询,就是有where语句,而没有on语句。   
    默认值: 'nonstrict'     
    hive.exec.parallel    
    是否开启 map/reduce job的并发提交。   
    默认值:  false     
    hive.security.authorization.enabled  
    Hive 是否开启权限认证。   
    默认值:false     
    hive.exec.plan    
    Hive 执行计划的路径,会在程序中自动进行设置  
    默认值:null     
    hive.exec.submitviachild  
    决定 map/reduce Job 是否应该使用各自独立的 JVM 进行提交(Child进程),默认情况下,使用与 HQL compiler 相同的 JVM 进行提交。   
    默认值:false     
    hive.exec.script.maxerrsize  
    通过 TRANSFROM/MAP/REDUCE 所执行的用户脚本所允许的最大的序列化错误数。  
    默认值:100000     
    hive.exec.script.allow.partial.consumption  
    是否允许脚本只处理部分数据,如果设置为 true ,因 broken pipe 等造成的数据未处理完成将视为正常。  
    默认值:false     
    hive.exec.compress.output  
    决定查询中最后一个 map/reduce job 的输出是否为压缩格式。   
    默认值:false     
    hive.exec.compress.intermediate   
    决定查询的中间 map/reduce job (中间 stage)的输出是否为压缩格式。   
    默认值:false     
    hive.intermediate.compression.codec  
    中间 map/reduce job 的压缩编解码器的类名(一个压缩编解码器可能包含多种压缩类型),该值可能在程序中被自动设置。           
    hive.intermediate.compression.type  
    中间 map/reduce job 的压缩类型,如 "BLOCK""RECORD"。      
    hive.exec.reducers.bytes.per.reducer  
    每一个 reducer 的平均负载字节数。   
    默认值:1000000000     
    hive.exec.reducers.max  
    设置reducer 个数的上限。
    可以阻止某个查询消耗过多的reducer资源,对这个属性值大小的设定,一个建议的计算公式如下:
    (集群总Reduce槽位个数*1.5) / (执行中查询的平均个数)
    1.5倍数是一个经验系数,用于防止未充分利用集群的情况。   
    默认值:999   
    hive.exec.rowoffset
    hive提供了2种虚拟列:一种用于将要进行划分的输入文件名,另一种用于文件中的块内偏移量。当hive产生了非预期的或null的返回结果时,可以通过这些虚拟列诊断查询。通过这些“字段”,用户可以查看到哪个文件甚至哪些数据导致出现问题:
    SELECT 
    INPUT_FILE_NAME,
    BLOCK_OFFSET_INSIDE_FILE,
    ROW_OFFSET_INSIDE_BLOCK,
    line 
    FROM hive_text 
    WHERE line LIKE '%hive%' LIMIT 2;
    默认值:true 
    hive.multigroupby.singlemr
    一个特别的优化,是否将查询中的多个group by操作组装到单个MapReduce任务中。
    默认值:false
    hive.exec.pre.hooks  
    语句层面,整条 HQL 语句在执行前的 hook 类名。   
    默认值:"     
    hive.exec.post.hooks  
    语句层面,整条 HQL 语句在执行完成后的 hook 类名。           
    hive.exec.parallel.thread.number  
    并发提交时的并发线程的个数。  
    默认值:8     
    hive.mapred.reduce.tasks.speculative.execution  
    是否开启 reducer 的推测执行,与mapred.reduce.tasks.speculative.execution 作用相同。   
    默认值:false     
    hive.exec.counters.pull.interval  
    客户端拉取 progress counters 的时间,以毫秒为单位。   
    默认值:1000L      
    hive.exec.dynamic.partition  
    是否打开动态分区。   
    默认值:false     
    hive.exec.dynamic.partition.mode  
    打开动态分区后,动态分区的模式,有 strict 和 nonstrict 两个值可选,strict 要求至少包含一个静态分区列,nonstrict 则无此要求。   
    默认值:strict     
    hive.exec.max.dynamic.partitions  
    所允许的最大的动态分区的个数。  
    默认值:1000     
    hive.exec.max.dynamic.partitions.pernode  
    单个 reduce 结点所允许的最大的动态分区的个数。  
    默认值:100     
    hive.exec.default.partition.name    
    默认的动态分区的名称,当动态分区列为''或者null时,使用此名称。''    '__HIVE_DEFAULT_PARTITION__'      
    hadoop.bin.path   
    HadoopClient 可执行脚本的路径,该路径用于通过单独的 JVM 提交 job,使用 Hadoop Client 的配置。   
    默认值:$HADOOP_HOME/bin/hadoop     
    hadoop.config.dir   
    HadoopClient 配置文件的路径,使用 HadoopClient 的配置。  
    默认值:$HADOOP_HOME/conf     
    fs.default.name   
    Namenode 的 URL,使用 Hadoop Client 的配置。   
    默认值:file:///     
    map.input.file   
    Map 的输入文件,使用 Hadoop Client 的配置。   
    默认值:null     
    mapred.input.dir   
    Map 的输入目录,使用 Hadoop Client 的配置。   
    默认值: null     
    mapred.input.dir.recursive  
    输入目录是否可递归嵌套,使用 HadoopClient 的配置。  
    默认值:false     
    mapred.job.tracker   
    Job Tracker的 URL,使用 Hadoop Client 的配置,如果这个配置设置为 'local',将使用本地模式。   
    默认值:local     
    mapred.job.name   
    Map/Reduce 的 job 名称,如果没有设置,则使用生成的 job name,使用 Hadoop Client 的配置。   
    默认值:null     
    mapred.reduce.tasks.speculative.execution  
    Map/Reduce 推测执行,使用 Hadoop Client 的配置。   
    默认值:null     
    hive.metastore.metadb.dir  
    Hive 元数据库所在路径。   
    默认值:"     
    hive.metastore.uris  
    Hive 元数据的 URI,多个 thrift://地址,以英文逗号分隔。   
    默认值:"     
    hive.metastore.connect.retries  
    连接到 Thrift 元数据服务的最大重试次数。   
    默认值:3     
    javax.jdo.option.ConnectionPassword  
    JDO 的连接密码。   
    默认值:"     
    hive.metastore.ds.connection.url.hook  
    JDO 连接 URL Hook 的类名,该 Hook 用于获得 JDO 元数据库的连接字符串,为实现了JDOConnectionURLHook 接口的类。  
    默认值:"     
    javax.jdo.option.ConnectionURL  
    元数据库的连接 URL。   
    默认值:"     
    hive.metastore.ds.retry.attempts  
    当没有 JDO 数据连接错误后,尝试连接后台数据存储的最大次数。  
    默认值:1     
    hive.metastore.ds.retry.interval  
    每次尝试连接后台数据存储的时间间隔,以毫秒为单位。  
    默认值:1000     
    hive.metastore.force.reload.conf  
    是否强制重新加载元数据配置,一但重新加载,该值就会被重置为 false。   
    默认值:false     
    hive.metastore.server.min.threads  
    Thrift 服务线程池的最小线程数。   
    默认值:8     
    hive.metastore.server.max.threads  
    Thrift 服务线程池的最大线程数。   
    默认值:0x7fffffff     
    hive.metastore.server.tcp.keepalive  
    Thrift 服务是否保持 TCP 连接。   
    默认值:true     
    hive.metastore.archive.intermediate.original  
    用于归档压缩的原始中间目录的后缀,这些目录是什么并不重要,只要能够避免冲突即可。  
    默认值:'_INTERMEDIATE_ORIGINAL'     
    hive.metastore.archive.intermediate.archived  
    用于归档压缩的压缩后的中间目录的后缀,这些目录是什么并不重要,只要能够避免冲突即可。  
    默认值:'_INTERMEDIATE_ARCHIVED'     
    hive.metastore.archive.intermediate.extracted  
    用于归档压缩的解压后的中间目录的后缀,这些目录是什么并不重要,只要能够避免冲突即可。  
    默认值:'_INTERMEDIATE_EXTRACTED'     
    hive.cli.errors.ignore  
    是否忽略错误,对于包含多的 SQL 文件,可以忽略错误的行,继续执行下一行。  
    默认值:false     
    hive.session.id   
    当前会话的标识符,格式为“用户名_时间”用于记录在 job conf 中,一般不予以手动设置。   
    默认值:"     
    hive.session.silent  
    当前会话是否在 silent 模式运行。 如果不是 silent 模式,所以 info 级打在日志中的消息,都将以标准错误流的形式输出到控制台。   
    默认值:false     
    hive.query.string   
    当前正在被执行的查询字符串。  
    默认值:"     
    hive.query.id   
    当前正在被执行的查询的ID。   
    默认值: "     
    hive.query.planid   
    当前正在被执行的 map/reduce plan 的 ID。   
    默认值: "     
    hive.jobname.length  
    当前 job name 的最大长度,hive 会根据此长度省略 job name 的中间部分。   
    默认值:50     
    hive.jar.path   
    通过单独的 JVM 提交 job 时,hive_cli.jar 所在的路径   
    默认值:"     
    hive.aux.jars.path   
    各种由用户自定义 UDF 和 SerDe 构成的插件 jar 包所在的路径。   
    默认值:"     
    hive.added.files.path  
    ADD FILE 所增加的文件的路径。   
    默认值:"     
    hive.added.jars.path  
    ADD JAR 所增加的文件的路径。   
    默认值: "     
    hive.added.archives.path  
    ADDARCHIEVE 所增加的文件的路径。  
    默认值:"     
    hive.table.name   
    当前的 Hive 表的名称,该配置将通过 ScirptOperator 传入到用户脚本中。   
    默认值:"     
    hive.partition.name  
    当前的 Hive 分区的名称,该配置将通过 ScriptOperator 传入到用户脚本中。   
    默认值:"     
    hive.script.auto.progress  
    脚本是否周期性地向 Job Tracker 发送心跳,以避免脚本执行的时间过长,使 JobTracker 认为脚本已经挂掉了。  
    默认值:false     
    hive.script.operator.id.env.var  
    用于识别 ScriptOperator ID 的环境变量的名称。   
    默认值:'HIVE_SCRIPT_OPERATOR_ID'     
    hive.alias   
    当前的 Hive 别名,该配置将通过 ScriptOpertaor 传入到用户脚本中。   
    默认值:"     
    hive.map.aggr   
    决定是否可以在 Map 端进行聚合操作   
    默认值:true     
    hive.join.emit.interval  
    Hive Join 操作的发射时间间隔,以毫秒为单位。  
    默认值:1000     
    hive.join.cache.size  
    Hive Join 操作的缓存大小,以字节为单位。  
    默认值:25000     
    hive.mapjoin.bucket.cache.size  
    Hive MapJoin 桶的缓存大小,以字节为单位。  
    默认值:100     
    hive.mapjoin.size.key  
    Hive MapJoin 每一行键的大小,以字节为单位。  
    默认值:10000     
    hive.mapjoin.cache.numrows  
    Hive MapJoin 所缓存的行数。  
    默认值:25000     
    hive.groupby.mapaggr.checkinterval  
    对于 Group By 操作的 Map 聚合的检测时间,以毫秒为单位。  
    默认值:100000     
    hive.map.aggr.hash.percentmemory  
    Hive Map 端聚合的哈稀存储所占用虚拟机的内存比例。  
    默认值:0.5     
    hive.map.aggr.hash.min.reduction  
    Hive Map 端聚合的哈稀存储的最小 reduce 比例。   
    默认值:0.5     
    hive.udtf.auto.progress   
    Hive UDTF 是否周期性地报告心跳,当 UDTF 执行时间较长且不输出行时有用。  
    默认值:false     
    hive.fileformat.check  
    Hive 是否检查输出的文件格式。   
    默认值:true     
    hive.querylog.location   
    Hive 实时查询日志所在的目录,如果该值为空,将不创建实时的查询日志。  
    默认值:'/tmp/$USER'     
    hive.script.serde   
    Hive 用户脚本的 SerDe。   
    默认值:'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'     
    hive.script.recordreader  
    Hive 用户脚本的 RecordRedaer。   
    默认值:'org.apache.hadoop.hive.ql.exec.TextRecordReader'     
    hive.script.recordwriter  
    Hive 用户脚本的 RecordWriter。   
    默认值:'org.apache.hadoop.hive.ql.exec.TextRecordWriter'     
    hive.hwi.listen.host  
    HWI 所绑定的 HOST 或者 IP。   
    默认值:'0.0.0.0'     
    hive.hwi.listen.port  
    HWI 所监听的 HTTP 端口。   
    默认值:9999     
    hive.hwi.war.file   
    HWI 的 war 文件所在的路径。   
    默认值:$HWI_WAR_FILE     
    hive.test.mode   
    是否以测试模式运行 Hive   
    默认值:false     
    hive.test.mode.prefix  
    Hive 测试模式的前缀。   
    默认值:'test_'     
    hive.test.mode.samplefreq  
    Hive 测试模式取样的频率,即每秒钟取样的次数。  
    默认值:32     
    hive.test.mode.nosamplelist  
    Hive 测试模式取样的排除列表,以逗号分隔。  
    默认值:"     
    hive.merge.size.per.task  
    每个任务合并后文件的大小,根据此大小确定 reducer 的个数,默认 256 M。   
    默认值:256000000     
    hive.merge.smallfiles.avgsize  
    需要合并的小文件群的平均大小,默认 16 M。   
    默认值:16000000     
    hive.optimize.skewjoin  
    是否优化数据倾斜的 Join,对于倾斜的 Join 会开启新的 Map/Reduce Job 处理。   
    默认值:false     
    hive.skewjoin.key    倾斜键数目阈值,超过此值则判定为一个倾斜的 Join 查询。   
    默认值: 1000000     
    hive.skewjoin.mapjoin.map.tasks  
    处理数据倾斜的 Map Join 的 Map 数上限。   
    默认值: 10000     
    hive.skewjoin.mapjoin.min.split  
    处理数据倾斜的 Map Join 的最小数据切分大小,以字节为单位,默认为32M。   
    默认值:33554432     
    mapred.min.split.size  
    Map ReduceJob 的最小输入切分大小,与 HadoopClient 使用相同的配置。  
    默认值:1     
    hive.mergejob.maponly  
    是否启用 Map Only 的合并 Job。   
    默认值:true     
    hive.heartbeat.interval  
    Hive Job 的心跳间隔,以毫秒为单位。   
    默认值:1000     
    hive.mapjoin.maxsize  
    Map Join 所处理的最大的行数。超过此行数,Map Join进程会异常退出。   
    默认值:1000000     
    hive.hashtable.initialCapacity  
    Hive 的 Map Join 会将小表 dump 到一个内存的 HashTable 中,该 HashTable 的初始大小由此参数指定。   
    默认值:100000     
    hive.hashtable.loadfactor  
    Hive 的 Map Join 会将小表 dump 到一个内存的 HashTable 中,该 HashTable 的负载因子由此参数指定。   
    默认值:0.75     
    hive.mapjoin.followby.gby.localtask.max.memory.usage  
    MapJoinOperator后面跟随GroupByOperator时,内存的最大使用比例   
    默认值:0.55     
    hive.mapjoin.localtask.max.memory.usage  
    Map Join 的本地任务使用堆内存的最大比例  
    默认值:0.9     
    hive.mapjoin.localtask.timeout  
    Map Join 本地任务超时,淘宝版特有特性  
    默认值:600000     
    hive.mapjoin.check.memory.rows  
    设置每多少行检测一次内存的大小,如果超过hive.mapjoin.localtask.max.memory.usage 则会异常退出,Map Join 失败。   
    默认值:100000     
    hive.debug.localtask  
    是否调试本地任务,目前该参数没有生效  
    默认值:false     
    hive.task.progress   
    是否开启 counters ,以记录 Job 执行的进度,同时客户端也会拉取进度 counters。   
    默认值:false     
    hive.input.format   
    Hive 的输入 InputFormat。   
    默认是org.apache.hadoop.hive.ql.io.HiveInputFormat,
    其他还有org.apache.hadoop.hive.ql.io.CombineHiveInputFormat     
    hive.enforce.bucketing  
    是否启用强制 bucketing。   
    默认值:false     
    hive.enforce.sorting  
    是否启用强制排序。   
    默认值:false     
    hive.mapred.partitioner  
    Hive 的 Partitioner 类。   
    默认值:'org.apache.hadoop.hive.ql.io.DefaultHivePartitioner'     
    hive.exec.script.trust  
    Hive ScriptOperator For trust   
    默认值:false     
    hive.hadoop.supports.splittable.combineinputformat  
    是否支持可切分的CombieInputFormat   
    默认值:false     
    hive.optimize.cp   
    是否优化列剪枝。   
    默认值:true     
    hive.optimize.ppd   
    是否优化谓词下推。   
    默认值:true     
    hive.optimize.groupby  
    是否优化 group by。   
    默认值:true     
    hive.optimize.bucketmapjoin  
    是否优化 bucket map join。   
    默认值:false     
    hive.optimize.bucketmapjoin.sortedmerge  
    是否在优化 bucket map join 时尝试使用强制 sorted merge bucketmap join。   默认值:false     
    hive.optimize.reducededuplication  
    是否优化 reduce 冗余。   
    默认值:true     
    hive.hbase.wal.enabled  
    是否开启 HBase Storage Handler。   
    默认值:true     
    hive.archive.enabled  
    是否启用 har 文件。   
    默认值:false     
    hive.archive.har.parentdir.settable  
    是否启用 har 文件的父目录可设置。   
    默认值:false     
    hive.outerjoin.supports.filters  
    是否启动外联接支持过滤条件。  
    默认值:true     
    hive.fetch.output.serde  
    对于 Fetch Task 的 SerDe 类   
    默认值:'org.apache.hadoop.hive.serde2.DelimitedJSONSerDe'     
    hive.semantic.analyzer.hook  
    Hive 语义分析的 Hook,在语义分析阶段的前后被调用,用于分析和修改AST及生成的执行计划,以逗号分隔。  
    默认值:null     
    hive.cli.print.header  
    是否显示查询结果的列名,默认为不显示。  
    默认值:false     
    hive.cli.encoding   
    Hive 默认的命令行字符编码。   
    默认值:'UTF8'     
    hive.log.plan.progress  
    是否记录执行计划的进度。   
    默认值:true     
    hive.pull.progress.counters  
    是否从 Job Tracker 上拉取 counters,淘宝特有配置项。   
    默认值:true     
    hive.job.pre.hooks   
    每个 Job 提交前执行的 Hooks 列表,以逗号分隔,淘宝特有配置项。  
    默认值:"     
    hive.job.post.hooks  
    每个 Job 完成后执行的 Hooks 列表,以逗号分隔,淘宝特有配置项。  
    默认值:"     
    hive.max.progress.counters  
    Hive 最大的进度 couters 个数,淘宝特有配置项。   
    默认值:100     
    hive.exec.script.wrapper  
    ScriptOperator 脚本调用的封装,通常为脚本解释程序。例如,可以把该变量值的名称设置为"python",那么传递到 Script Operator 的脚本将会以"python<script command>"的命令形式进行调用,如果这个值为null或者没有设置,那么该脚本将会直接以"<scriptcommand>"的命令形式调用。  
    默认值:null     
    hive.check.fatal.errors.interval  
    客户端通过拉取 counters 检查严重错误的周期,以毫秒为单位,淘宝特有配置项。  
    默认值:5000L

    hive.exec.mode.local.auto 
    决定 Hive 是否应该自动地根据输入文件大小,在本地运行(在GateWay运行) 
    true

    hive.exec.mode.local.auto.inputbytes.max 
    如果 hive.exec.mode.local.auto 为 true,当输入文件大小小于此阈值时可以自动在本地模式运行,默认是 128兆。 
    134217728L

    hive.exec.mode.local.auto.tasks.max 
    如果 hive.exec.mode.local.auto 为 true,当 Hive Tasks(Hadoop Jobs)小于此阈值时,可以自动在本地模式运行。 
    4

    hive.auto.convert.join 
    是否根据输入小表的大小,自动将 Reduce 端的 Common Join 转化为 Map Join,从而加快大表关联小表的 Join 速度。 
    false

    hive.mapred.local.mem 
    Mapper/Reducer 在本地模式的最大内存量,以字节为单位,0为不限制。 
    0

    mapred.reduce.tasks 
    所提交 Job 的 reduer 的个数,使用 Hadoop Client 的配置。 
    默认是-1,表示Job执行的个数交由Hive来分配
    -1

    hive.exec.scratchdir 
    HDFS路径,用于存储不同 map/reduce 阶段的执行计划和这些阶段的中间输出结果。 
    /tmp/<user.name>/hive

    hive.metastore.warehouse.dir 
    Hive 默认的数据文件存储路径,通常为 HDFS 可写的路径。 
    "

    hive.groupby.skewindata 
    决定 group by 操作是否支持倾斜的数据。 
    原理是,在Group by中,对一些比较小的分区进行合并
    false

    hive.merge.mapfiles 
    是否开启合并 Map 端小文件,对于 Hadoop 0.20 以前的版本,起一首新的 Map/Reduce Job,对于 0.20 以后的版本,则是起使用 CombineInputFormat 的 MapOnly Job。 
    true

    hive.merge.mapredfiles 
    是否开启合并 Map/Reduce 小文件,对于 Hadoop 0.20 以前的版本,起一首新的 Map/Reduce Job,对于 0.20 以后的版本,则是起使用 CombineInputFormat 的 MapOnly Job。 
    false

    hive.default.fileformat 
    Hive 默认的输出文件格式,与创建表时所指定的相同,可选项为 'TextFile' 、 'SequenceFile' 或者 'RCFile'。 
    'TextFile'

    hive.mapred.mode 
    Map/Redure 模式,如果设置为 strict,将不允许笛卡尔积。 
    'nonstrict'

    hive.exec.parallel 
    是否开启 map/reduce job的并发提交。 
    默认Map/Reduce job是顺序执行的,默认并发数量是8,可以配置
    false

    hive.security.authorization.enabled 
    Hive 是否开启权限认证。 
    开启认证后,需要执行授权语句才能对表进行操作,详细请见hive.apache.org
    false

    hive.exec.plan 
    Hive 执行计划的路径,会在程序中自动进行设置 
    null

    hive.exec.submitviachild 
    决定 map/reduce Job 是否应该使用各自独立的 JVM 进行提交(Child进程),默认情况下,使用与 HQL compiler 相同的 JVM 进行提交。 
    false

    hive.exec.script.maxerrsize 
    通过 TRANSFROM/MAP/REDUCE 所执行的用户脚本所允许的最大的序列化错误数。 
    100000

    hive.exec.script.allow.partial.consumption 
    是否允许脚本只处理部分数据,如果设置为 true ,因broken pipe等造成的数据未处理完成将视为正常。 
    false

    hive.exec.compress.output 
    决定查询中最后一个 map/reduce job 的输出是否为压缩格式。 
    false

    hive.exec.compress.intermediate 
    决定查询的中间 map/reduce job(中间 stage)的输出是否为压缩格式。
    对于只进行Map的数据就没有必要了。压缩可以减少网络IO,提高效率。 
    false

    hive.intermediate.compression.codec 
    中间 map/reduce job 的压缩编解码器的类名(一个压缩编解码器可能包含多种压缩类型),该值可能在程序中被自动设置。 LZO


    hive.intermediate.compression.type 
    中间 map/reduce job 的压缩类型,如 "BLOCK" "RECORD"。

    hive.exec.reducers.bytes.per.reducer 
    每一个 reducer 的平均负载字节数。
    改变此参数可以用来影响hive的启动的Reducer的个数,默认每个Reducer处理1G数据
    1000000000

    hive.exec.reducers.max 
    reducer 个数的上限。 
    999

    hive.exec.pre.hooks 
    语句层面,整条 HQL 语句在执行前的 hook 类名。 
    "

    hive.exec.post.hooks 
    语句层面,整条 HQL 语句在执行完成后的 hook 类名。


    hive.exec.parallel.thread.number 
    并发提交时的并发线程的个数。 默认8个
    8

    hive.mapred.reduce.tasks.speculative.execution 
    是否开启 reducer 的推测执行,与 mapred.reduce.tasks.speculative.execution 作用相同。 
    false

    hive.exec.counters.pull.interval 
    客户端拉取 progress counters 的时间,以毫秒为单位。 
    1000L

    hive.exec.dynamic.partition 
    是否打开动态分区。 需要打开
    false

    hive.exec.dynamic.partition.mode 
    打开动态分区后,动态分区的模式,有 strict 和 nonstrict 两个值可选,strict 要求至少包含一个静态分区列,nonstrict 则无此要求。 
    建议设置成nonstrict,strict情况下,查询表数据要求强制指定分区。
    strict

    hive.exec.max.dynamic.partitions 
    所允许的最大的动态分区的个数。可以手动增加分区。
    1000

    hive.exec.max.dynamic.partitions.pernode 
    单个 reduce 结点所允许的最大的动态分区的个数。 
    100

    hive.exec.default.partition.name 
    默认的动态分区的名称,当动态分区列为''或者null时,使用此名称。'' 
    '__HIVE_DEFAULT_PARTITION__'

    hadoop.bin.path 
    Hadoop Client 可执行脚本的路径,该路径用于通过单独的 JVM 提交 job,使用 Hadoop Client 的配置。 
    $HADOOP_HOME/bin/hadoop

    hadoop.config.dir 
    Hadoop Client 配置文件的路径,使用 Hadoop Client 的配置。 
    $HADOOP_HOME/conf

    fs.default.name 
    Namenode 的 URL,使用 Hadoop Client 的配置。 
    file:///

    map.input.file 
    Map 的输入文件,使用 Hadoop Client 的配置。 
    null

    mapred.input.dir 
    Map 的输入目录,使用 Hadoop Client 的配置。 
    null

    mapred.input.dir.recursive 
    输入目录是否可递归嵌套,使用 Hadoop Client 的配置。 
    false

    mapred.job.tracker 
    Job Tracker 的 URL,使用 Hadoop Client 的配置,如果这个配置设置为 'local',将使用本地模式。 
    local

    mapred.job.name 
    Map/Reduce 的 job 名称,如果没有设置,则使用生成的 job name,使用 Hadoop Client 的配置。 
    null

    mapred.reduce.tasks.speculative.execution 
    Map/Reduce 推测执行,使用 Hadoop Client 的配置。 
    null

    hive.metastore.metadb.dir 
    Hive 元数据库所在路径。 
    "

    hive.metastore.uris 
    Hive 元数据的 URI,多个 thrift://地址,以英文逗号分隔。 
    "

    hive.metastore.connect.retries 
    连接到 Thrift 元数据服务的最大重试次数。 
    3

    javax.jdo.option.ConnectionPassword 
    JDO 的连接密码。 
    "

    hive.metastore.ds.connection.url.hook 
    JDO 连接 URL Hook 的类名,该 Hook 用于获得 JDO 元数据库的连接字符串,为实现了 JDOConnectionURLHook 接口的类。 
    "

    javax.jdo.option.ConnectionURL 
    元数据库的连接 URL。 
    "

    hive.metastore.ds.retry.attempts 
    当没有 JDO 数据连接错误后,尝试连接后台数据存储的最大次数。 
    1

    hive.metastore.ds.retry.interval 
    每次尝试连接后台数据存储的时间间隔,以毫秒为单位。 
    1000

    hive.metastore.force.reload.conf 
    是否强制重新加载元数据配置,一但重新加载,该值就会被重置为 false。 
    false

    hive.metastore.server.min.threads 
    Thrift 服务线程池的最小线程数。 
    8

    hive.metastore.server.max.threads 
    Thrift 服务线程池的最大线程数。 
    0x7fffffff

    hive.metastore.server.tcp.keepalive 
    Thrift 服务是否保持 TCP 连接。 
    true

    hive.metastore.archive.intermediate.original 
    用于归档压缩的原始中间目录的后缀,这些目录是什么并不重要,只要能够避免冲突即可。 
    '_INTERMEDIATE_ORIGINAL'

    hive.metastore.archive.intermediate.archived 
    用于归档压缩的压缩后的中间目录的后缀,这些目录是什么并不重要,只要能够避免冲突即可。 
    '_INTERMEDIATE_ARCHIVED'

    hive.metastore.archive.intermediate.extracted 
    用于归档压缩的解压后的中间目录的后缀,这些目录是什么并不重要,只要能够避免冲突即可。 
    '_INTERMEDIATE_EXTRACTED'

    hive.cli.errors.ignore 
    是否忽略错误,对于包含多的 SQL 文件,可以忽略错误的行,继续执行下一行。 
    false

    hive.session.id 
    当前会话的标识符,格式为“用户名_时间”用于记录在 job conf 中,一般不予以手动设置。 
    "

    hive.session.silent 
    当前会话是否在 silent 模式运行。 如果不是 silent 模式,所以 info 级打在日志中的消息,都将以标准错误流的形式输出到控制台。
    false

    hive.query.string 
    当前正在被执行的查询字符串。 
    "

    hive.query.id 
    当前正在被执行的查询的ID。 
    "

    hive.query.planid 
    当前正在被执行的 map/reduce plan 的 ID。 
    "

    hive.jobname.length 
    当前 job name 的最大长度,hive 会根据此长度省略 job name 的中间部分。 
    50

    hive.jar.path 
    通过单独的 JVM 提交 job 时,hive_cli.jar 所在的路径 
    "

    hive.aux.jars.path 
    各种由用户自定义 UDF 和 SerDe 构成的插件 jar 包所在的路径。 
    "

    hive.added.files.path 
    ADD FILE 所增加的文件的路径。 
    "

    hive.added.jars.path 
    ADD JAR 所增加的文件的路径。 
    "

    hive.added.archives.path 
    ADD ARCHIEVE 所增加的文件的路径。 
    "

    hive.table.name 
    当前的 Hive 表的名称,该配置将通过 ScirptOperator 传入到用户脚本中。 
    "

    hive.partition.name 
    当前的 Hive 分区的名称,该配置将通过 ScriptOperator 传入到用户脚本中。 
    "

    hive.script.auto.progress 
    脚本是否周期性地向 Job Tracker 发送心跳,以避免脚本执行的时间过长,使 Job Tracker 认为脚本已经挂掉了。
    false

    hive.script.operator.id.env.var 
    用于识别 ScriptOperator ID 的环境变量的名称。 
    'HIVE_SCRIPT_OPERATOR_ID'

    hive.alias 
    当前的 Hive 别名,该配置将通过 ScriptOpertaor 传入到用户脚本中。 
    "

    hive.map.aggr 
    决定是否可以在 Map 端进行聚合操作 
    true

    hive.join.emit.interval 
    Hive Join 操作的发射时间间隔,以毫秒为单位。 
    1000

    hive.join.cache.size 
    Hive Join 操作的缓存大小,以字节为单位。 
    25000

    hive.mapjoin.bucket.cache.size 
    Hive Map Join 桶的缓存大小,以字节为单位。 
    100

    hive.mapjoin.size.key 
    Hive Map Join 每一行键的大小,以字节为单位。 
    10000

    hive.mapjoin.cache.numrows 
    Hive Map Join 所缓存的行数。 
    25000

    hive.groupby.mapaggr.checkinterval 
    对于 Group By 操作的 Map 聚合的检测时间,以毫秒为单位。 
    100000

    hive.map.aggr.hash.percentmemory 
    Hive Map 端聚合的哈稀存储所占用虚拟机的内存比例。 
    0.5

    hive.map.aggr.hash.min.reduction 
    Hive Map 端聚合的哈稀存储的最小 reduce 比例。 
    0.5

    hive.udtf.auto.progress 
    Hive UDTF 是否周期性地报告心跳,当 UDTF 执行时间较长且不输出行时有用。 
    false

    hive.fileformat.check 
    Hive 是否检查输出的文件格式。 
    true

    hive.querylog.location 
    Hive 实时查询日志所在的目录,如果该值为空,将不创建实时的查询日志。 
    '/tmp/$USER'

    hive.script.serde 
    Hive 用户脚本的 SerDe。 
    'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'

    hive.script.recordreader 
    Hive 用户脚本的 RecordRedaer。 
    'org.apache.hadoop.hive.ql.exec.TextRecordReader'

    hive.script.recordwriter 
    Hive 用户脚本的 RecordWriter。 
    'org.apache.hadoop.hive.ql.exec.TextRecordWriter'

    hive.hwi.listen.host 
    HWI 所绑定的 HOST 或者 IP。 
    '0.0.0.0'

    hive.hwi.listen.port 
    HWI 所监听的 HTTP 端口。 
    9999

    hive.hwi.war.file 
    HWI 的 war 文件所在的路径。 
    $HWI_WAR_FILE

    hive.test.mode 
    是否以测试模式运行 Hive 
    false

    hive.test.mode.prefix 
    Hive 测试模式的前缀。 
    'test_'

    hive.test.mode.samplefreq 
    Hive 测试模式取样的频率,即每秒钟取样的次数。 
    32

    hive.test.mode.nosamplelist 
    Hive 测试模式取样的排除列表,以逗号分隔。 
    "

    hive.merge.size.per.task 
    每个任务合并后文件的大小,根据此大小确定 reducer 的个数,默认 256 M。 
    256000000

    hive.merge.smallfiles.avgsize 
    需要合并的小文件群的平均大小,默认 16 M。 
    16000000

    hive.optimize.skewjoin 
    是否优化数据倾斜的 Join,对于倾斜的 Join 会开启新的 Map/Reduce Job 处理。 
    false

    hive.skewjoin.key 
    倾斜键数目阈值,超过此值则判定为一个倾斜的 Join 查询。 
    1000000

    hive.skewjoin.mapjoin.map.tasks 
    处理数据倾斜的 Map Join 的 Map 数上限。 
    10000

    hive.skewjoin.mapjoin.min.split 
    处理数据倾斜的 Map Join 的最小数据切分大小,以字节为单位,默认为32M。 
    33554432

    mapred.min.split.size 
    Map Reduce Job 的最小输入切分大小,与 Hadoop Client 使用相同的配置。 
    1

    hive.mergejob.maponly 
    是否启用 Map Only 的合并 Job。 
    true

    hive.heartbeat.interval 
    Hive Job 的心跳间隔,以毫秒为单位。 
    1000

    hive.mapjoin.maxsize 
    Map Join 所处理的最大的行数。超过此行数,Map Join进程会异常退出。 
    1000000

    hive.hashtable.initialCapacity 
    Hive 的 Map Join 会将小表 dump 到一个内存的 HashTable 中,该 HashTable 的初始大小由此参数指定。 
    100000

    hive.hashtable.loadfactor 
    Hive 的 Map Join 会将小表 dump 到一个内存的 HashTable 中,该 HashTable 的负载因子由此参数指定。 
    0.75

    hive.mapjoin.followby.gby.localtask.max.memory.usage 
    MapJoinOperator后面跟随GroupByOperator时,内存的最大使用比例 
    0.55

    hive.mapjoin.localtask.max.memory.usage 
    Map Join 的本地任务使用堆内存的最大比例 
    0.9

    hive.mapjoin.localtask.timeout 
    Map Join 本地任务超时,淘宝版特有特性 
    600000

    hive.mapjoin.check.memory.rows 
    设置每多少行检测一次内存的大小,如果超过 hive.mapjoin.localtask.max.memory.usage 则会异常退出,Map Join 失败。 
    100000

    hive.debug.localtask 
    是否调试本地任务,目前该参数没有生效 
    false

    hive.task.progress 
    是否开启 counters ,以记录 Job 执行的进度,同时客户端也会拉取进度 counters。 
    false

    hive.input.format 
    Hive 的输入 InputFormat。 
    默认是org.apache.hadoop.hive.ql.io.HiveInputFormat,其他还有org.apache.hadoop.hive.ql.io.CombineHiveInputFormat

    hive.enforce.bucketing 
    是否启用强制 bucketing。 
    false

    hive.enforce.sorting 
    是否启用强制排序。 
    false

    hive.mapred.partitioner 
    Hive 的 Partitioner 类。 
    'org.apache.hadoop.hive.ql.io.DefaultHivePartitioner'

    hive.exec.script.trust 
    Hive Script Operator For trust 
    false

    hive.hadoop.supports.splittable.combineinputformat 
    是否支持可切分的 CombieInputFormat 
    false

    hive.optimize.cp 
    是否优化列剪枝。 
    true

    hive.optimize.ppd 
    是否优化谓词下推。 
    true

    hive.optimize.groupby 
    是否优化 group by。 
    true

    hive.optimize.bucketmapjoin 
    是否优化 bucket map join。 
    false

    hive.optimize.bucketmapjoin.sortedmerge 
    是否在优化 bucket map join 时尝试使用强制 sorted merge bucket map join。 
    false

    hive.optimize.reducededuplication 
    是否优化 reduce 冗余。 
    true

    hive.hbase.wal.enabled 
    是否开启 HBase Storage Handler。 
    true

    hive.archive.enabled 
    是否启用 har 文件。 
    false

    hive.archive.har.parentdir.settable 
    是否启用 har 文件的父目录可设置。 
    false

    hive.outerjoin.supports.filters 
    是否启动外联接支持过滤条件。 
    true

    hive.fetch.output.serde 
    对于 Fetch Task 的 SerDe 类 
    'org.apache.hadoop.hive.serde2.DelimitedJSONSerDe'

    hive.semantic.analyzer.hook 
    Hive 语义分析的 Hook,在语义分析阶段的前后被调用,用于分析和修改AST及生成的执行计划,以逗号分隔。 
    null

    hive.cli.print.header 
    是否显示查询结果的列名,默认为不显示。 
    false

    hive.cli.encoding 
    Hive 默认的命令行字符编码。 
    'UTF8'

    hive.log.plan.progress 
    是否记录执行计划的进度。 
    true

    hive.pull.progress.counters 
    是否从 Job Tracker 上拉取 counters,淘宝特有配置项。 
    true

    hive.job.pre.hooks 
    每个 Job 提交前执行的 Hooks 列表,以逗号分隔,淘宝特有配置项。 
    "

    hive.job.post.hooks 
    每个 Job 完成后执行的 Hooks 列表,以逗号分隔,淘宝特有配置项。 
    "

    hive.max.progress.counters 
    Hive 最大的进度 couters 个数,淘宝特有配置项。 
    100

    hive.exec.script.wrapper 
    Script Operator 脚本调用的封装,通常为脚本解释程序。例如,可以把该变量值的名称设置为"python",那么传递到 Script Operator 的脚本将会以"python &lt;script command&gt;"的命令形式进行调用,如果这个值为null或者没有设置,那么该脚本将会直接以"&lt;script command&gt;"的命令形式调用。 
    null

    hive.check.fatal.errors.interval 
    客户端通过拉取 counters 检查严重错误的周期,以毫秒为单位,淘宝特有配置项。 
    5000L

  • 相关阅读:
    【AGC010E】Rearranging(博弈,图论,拓扑排序)
    【ARC074F】Lotus Leaves(最小割)
    【ARC069F】Flags(2-SAT,Tarjan,线段树优化建图)
    [CTS 2019] 氪金手游
    HDU
    LOJ
    LOJ
    [TJOI 2015] 概率论
    [AGC 018F] Two Trees
    LOJ
  • 原文地址:https://www.cnblogs.com/xinfang520/p/10784207.html
Copyright © 2011-2022 走看看