You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 108 Next »

Hive Configuration Properties

This document describes user configuration properties (sometimes called parameters, variables, or options) for Hive and notes some of the releases that introduced new properties.

The canonical list of configuration properties is managed in the HiveConf Java class, so refer to the HiveConf.java file for a complete list of configuration properties available in your Hive release.

For information about how to use these configuration properties, see Configuring Hive. That document also describes administrative configuration properties for setting up Hive in the Configuration Variables section. Hive Metastore Administration describes additional configuration properties for the metastore.

Version information

As of Hive 0.14.0 (HIVE-7211), configuration name starts with "hive." regarded as hive system property. With "hive.conf.validation" option true(default), attempts to set configuration starts with "hive." which is not registered to hive system will make a throw exception.

Query and DDL Execution

hive.execution.engine

Chooses execution engine. Options are: mr (Map reduce, default) or tez (Tez execution, for Hadoop 2 only).

See Hive on Tez for more information, and see the Tez section below for Tez configuration properties.

mapred.reduce.tasks
  • Default Value: -1
  • Added In: Hive 0.1.0

The default number of reduce tasks per job. Typically set to a prime close to the number of available hosts. Ignored when mapred.job.tracker is "local". Hadoop set this to 1 by default, whereas Hive uses -1 as its default value. By setting this property to -1, Hive will automatically figure out what should be the number of reducers.

hive.exec.reducers.bytes.per.reducer
  • Default Value: 1000000000
  • Added In: Hive 0.2.0

Size per reducer. The default is 1G, that is, if the input size is 10G then 10 reducers will be used.

hive.exec.reducers.max
  • Default Value: 999
  • Added In: Hive 0.2.0

Max number of reducers will be used. If the one specified in the configuration property mapred.reduce.tasks is negative, Hive will use this one as the max number of reducers when automatically determine number of reducers.

hive.exec.scratchdir
  • Default Value: /tmp/hive-${user.name}
  • Added In: Hive 0.2.0

Scratch space for Hive jobs.

hive.default.fileformat
  • Default Value: TextFile
  • Added In: Hive 0.2.0

Default file format for CREATE TABLE statement. Options are TextFile, SequenceFile, RCfile, and ORC. Users can explicitly say CREATE TABLE ... STORED AS TEXTFILE|SEQUENCEFILE|RCFILE|ORC to override.

hive.fileformat.check
  • Default Value: true
  • Added In: Hive 0.5.0

Whether to check file format or not when loading data files.

hive.query.result.fileformat
  • Default Value: TextFile
  • Added In: Hive 0.7.0 with HIVE-1598

File format to use for a query's intermediate results. Options are TextFile, SequenceFile, and RCfile. Set to SequenceFile if any columns are string type and contain new-line characters (HIVE-1608, HIVE-3065).

hive.io.rcfile.record.interval
  • Default Value: 2147483647
  • Hive 0.4.0 with HIVE-352
hive.io.rcfile.column.number.conf
  • Default Value: 0
  • Hive 0.4.0 with HIVE-352
hive.io.rcfile.tolerate.corruptions
  • Default Value: false
  • Hive 0.4.0 with HIVE-352
hive.io.rcfile.record.buffer.size
  • Default Value: 4194304
  • Hive 0.4.0 with HIVE-352
hive.orc.splits.include.file.footer

If turned on, splits generated by ORC will include metadata about the stripes in the file. This data is read remotely (from the client or HiveServer2 machine) and sent to all the tasks.

hive.orc.cache.stripe.details.size

Cache size for keeping meta information about ORC splits cached in the client.

hive.orc.compute.splits.num.threads

How many threads ORC should use to create splits in parallel.

hive.exec.orc.zerocopy

Use zerocopy reads with ORC. (This requires Hadoop 2.3 or later.)

hive.exec.orc.skip.corrupt.data
  • Default Value: false
  • Added In: Hive 0.13.0 with HIVE-6382

If ORC reader encounters corrupt data, this value will be used to determine whether to skip the corrupt data or throw an exception. The default behavior is to throw an exception.

hive.hadoop.supports.splittable.combineinputformat
  • Default Value: false
  • Added In: Hive 0.6.0

Whether to combine small input files so that fewer mappers are spawned.

hive.map.aggr
  • Default Value: true in Hive 0.3 and later; false in Hive 0.2
  • Added In: Hive 0.2.0

Whether to use map-side aggregation in Hive Group By queries.

hive.groupby.skewindata
  • Default Value: false
  • Added In: Hive 0.3.0

Whether there is skew in data to optimize group by queries.

hive.groupby.mapaggr.checkinterval
  • Default Value: 100000
  • Added In: Hive 0.3.0

Number of rows after which size of the grouping keys/aggregation classes is performed.

hive.new.job.grouping.set.cardinality
  • Default Value: 30
  • Added In: Hive 0.11.0 with HIVE-3552

Whether a new map-reduce job should be launched for grouping sets/rollups/cubes.

For a query like "select a, b, c, count(1) from T group by a, b, c with rollup;" four rows are created per row: (a, b, c), (a, b, null), (a, null, null), (null, null, null). This can lead to explosion across the map-reduce boundary if the cardinality of T is very high, and map-side aggregation does not do a very good job.

This parameter decides if Hive should add an additional map-reduce job. If the grouping set cardinality (4 in the example above) is more than this value, a new MR job is added under the assumption that the orginal "group by" will reduce the data size.

hive.mapred.local.mem
  • Default Value: 0
  • Added In: Hive 0.3.0

For local mode, memory of the mappers/reducers.

hive.map.aggr.hash.force.flush.memory.threshold
  • Default Value: 0.9
  • Added In: Hive 0.7.0

The max memory to be used by map-side group aggregation hash table, if the memory usage is higher than this number, force to flush data.

hive.map.aggr.hash.percentmemory
  • Default Value: 0.5
  • Added In: Hive 0.2.0

Portion of total memory to be used by map-side group aggregation hash table.

hive.map.aggr.hash.min.reduction
  • Default Value: 0.5
  • Added In: Hive 0.4.0

Hash aggregation will be turned off if the ratio between hash table size and input rows is bigger than this number. Set to 1 to make sure hash aggregation is never turned off.

hive.optimize.groupby
  • Default Value: true
  • Added In: Hive 0.5.0

Whether to enable the bucketed group by from bucketed partitions/tables.

hive.multigroupby.singlemr

Whether to optimize multi group by query to generate a single M/R job plan. If the multi group by query has common group by keys, it will be optimized to generate a single M/R job.

hive.multigroupby.singlereducer
  • Default Value: true
  • Added In: Hive 0.9.0 with HIVE-2621

Whether to optimize multi group by query to generate a single M/R  job plan. If the multi group by query has common group by keys, it will be optimized to generate a single M/R job.

hive.optimize.cp
  • Default Value: true
  • Added In: Hive 0.4.0
  • Opt out: Hive 0.13.0 with HIVE-4113

Whether to enable column pruner. (This configuration property was removed in release 0.13.0.)

hive.optimize.index.filter
  • Default Value: false
  • Added In: Hive 0.8.0 with HIVE-1644

Whether to enable automatic use of indexes.

Note:  See Indexing for more configuration properties related to Hive indexes.

hive.optimize.ppd
  • Default Value: true
  • Added In: Hive 0.4.0

Whether to enable predicate pushdown.

hive.optimize.ppd.storage
  • Default Value: true
  • Added In: Hive 0.7.0

Whether to push predicates down into storage handlers. Ignored when hive.optimize.ppd is false.

hive.ppd.recognizetransivity
  • Default Value: true
  • Added In: Hive 0.8.1

Whether to transitively replicate predicate filters over equijoin conditions.

hive.join.emit.interval
  • Default Value: 1000
  • Added In: Hive 0.2.0

How many rows in the right-most join operand Hive should buffer before
emitting the join result.

hive.join.cache.size
  • Default Value: 25000
  • Added In: Hive 0.5.0

How many rows in the joining tables (except the streaming table)
should be cached in memory.

hive.mapjoin.bucket.cache.size

How many values in each key in the map-joined table should be cached in memory.

hive.mapjoin.followby.map.aggr.hash.percentmemory
  • Default Value: 0.3
  • Added In: Hive 0.7.0

Portion of total memory to be used by map-side group aggregation hash table, when this group by is followed by map join.

hive.smalltable.filesize
hive.mapjoin.smalltable.filesize
  • Default Value: 25000000
  • Added In: Hive 0.7.0 with HIVE-1642: hive.smalltable.filesize (replaced by hive.mapjoin.smalltable.filesize in Hive 0.8.1)
  • Added In: Hive 0.8.1 with HIVE-2499: hive.mapjoin.smalltable.filesize

The threshold (in bytes) for the input file size of the small tables; if the file size is smaller than this threshold, it will try to convert the common join into map join.

hive.mapjoin.localtask.max.memory.usage

This number means how much memory the local task can take to hold the key/value into in-memory hash table; If the local task's memory usage is more than this number, the local task will be aborted. It means the data of small table is too large to be held in memory.

hive.mapjoin.followby.gby.localtask.max.memory.usage
  • Default Value: 0.55
  • Added In: Hive 0.7.0

This number means how much memory the local task can take to hold the key/value into in-memory hash table when this map join followed by a group by; If the local task's memory usage is more than this number, the local task will be aborted. It means the data of small table is too large to be held in the memory.

hive.mapjoin.check.memory.rows

The number means after how many rows processed it needs to check the memory usage.

hive.smbjoin.cache.rows

How many rows with the same key value should be cached in memory per sort-merge-bucket joined table.

hive.mapjoin.optimized.keys

Whether a MapJoin hashtable should use optimized (size-wise) keys, allowing the table to take less memory. Depending on the key, memory savings for the entire table can be 5-15% or so.

hive.mapjoin.lazy.hashtable

Whether a MapJoin hashtable should deserialize values on demand. Depending on how many values in the table the join will actually touch, it can save a lot of memory by not creating objects for rows that are not needed. If all rows are needed, obviously there's no gain.

hive.optimize.skewjoin
  • Default Value: false
  • Added In: Hive 0.6.0

Whether to enable skew join optimization.  (Also see hive.optimize.skewjoin.compiletime.)

hive.skewjoin.key
  • Default Value: 100000
  • Added In: Hive 0.6.0

Determine if we get a skew key in join. If we see more than the specified number of rows with the same key in join operator, we think the key as a skew join key.

hive.skewjoin.mapjoin.map.tasks
  • Default Value: 10000
  • Added In: Hive 0.6.0

Determine the number of map task used in the follow up map join job for a skew join. It should be used together with hive.skewjoin.mapjoin.min.split to perform a fine grained control.

hive.skewjoin.mapjoin.min.split
  • Default Value: 33554432
  • Added In: Hive 0.6.0

Determine the number of map task at most used in the follow up map join job for a skew join by specifying the minimum split size. It should be used together with hive.skewjoin.mapjoin.map.tasks to perform a fine grained control.

hive.optimize.skewjoin.compiletime
  • Default Value: false
  • Added In: Hive 0.10.0

Whether to create a separate plan for skewed keys for the tables in the join. This is based on the skewed keys stored in the metadata. At compile time, the plan is broken into different joins: one for the skewed keys, and the other for the remaining keys. And then, a union is performed for the two joins generated above. So unless the same skewed key is present in both the joined tables, the join for the skewed key will be performed as a map-side join.

The main difference between this paramater and hive.optimize.skewjoin is that this parameter uses the skew information stored in the metastore to optimize the plan at compile time itself. If there is no skew information in the metadata, this parameter will not have any effect.
Both hive.optimize.skewjoin.compiletime and hive.optimize.skewjoin should be set to true. (Ideally, hive.optimize.skewjoin should be renamed as hive.optimize.skewjoin.runtime, but for backward compatibility that has not been done.)

If the skew information is correctly stored in the metadata, hive.optimize.skewjoin.compiletime will change the query plan to take care of it, and hive.optimize.skewjoin will be a no-op.

hive.optimize.union.remove
  • Default Value: false
  • Added In: Hive 0.10.0 with HIVE-3276

Whether to remove the union and push the operators between union and the filesink above union. This avoids an extra scan of the output by union. This is independently useful for union queries, and especially useful when hive.optimize.skewjoin.compiletime is set to true, since an extra union is inserted.

The merge is triggered if either of hive.merge.mapfiles or hive.merge.mapredfiles is set to true. If the user has set hive.merge.mapfiles to true and hive.merge.mapredfiles to false, the idea was that the number of reducers are few, so the number of files anyway is small. However, with this optimization, we are increasing the number of files possibly by a big margin. So, we merge aggresively.

hive.mapred.supports.subdirectories
  • Default Value: false
  • Added In: Hive 0.10.0 with HIVE-3276

Whether the version of Hadoop which is running supports sub-directories for tables/partitions. Many Hive optimizations can be applied if the Hadoop version supports sub-directories for tables/partitions. This support was added by MAPREDUCE-1501.

hive.mapred.mode
  • Default Value: nonstrict
  • Added In: Hive 0.3.0

The mode in which the Hive operations are being performed. In strict mode, some risky queries are not allowed to run.

hive.exec.script.maxerrsize
  • Default Value: 100000
  • Added In: Hive 0.2.0

Maximum number of bytes a script is allowed to emit to standard error (per map-reduce task). This prevents runaway scripts from filling logs partitions to capacity.

hive.exec.script.allow.partial.consumption
  • Default Value: false
  • Added In: Hive 0.5.0

When enabled, this option allows a user script to exit successfully without consuming all the data from the standard input.

hive.script.operator.id.env.var
  • Default Value: HIVE_SCRIPT_OPERATOR_ID
  • Added In: Hive 0.5.0

Name of the environment variable that holds the unique script operator ID in the user's transform function (the custom mapper/reducer that the user has specified in the query).

hive.exec.compress.output
  • Default Value: false
  • Added In: Hive 0.2.0

This controls whether the final outputs of a query (to a local/hdfs file or a Hive table) is compressed. The compression codec and other options are determined from Hadoop configuration variables mapred.output.compress* .

hive.exec.compress.intermediate
  • Default Value: false
  • Added In: Hive 0.2.0

This controls whether intermediate files produced by Hive between multiple map-reduce jobs are compressed. The compression codec and other options are determined from Hadoop configuration variables mapred.output.compress*.

hive.exec.parallel
  • Default Value: false
  • Added In: Hive 0.5.0

Whether to execute jobs in parallel.

hive.exec.parallel.thread.number
  • Default Value: 8
  • Added In: Hive 0.6.0

How many jobs at most can be executed in parallel.

hive.exec.rowoffset
  • Default Value: false
  • Added In: Hive 0.8.0

Whether to provide the row offset virtual column.

hive.task.progress
  • Default Value: false
  • Added In: Hive 0.5.0
  • Removed in: Hive 0.13.0 with HIVE-4518

Whether Hive should periodically update task progress counters during execution. Enabling this allows task progress to be monitored more closely in the job tracker, but may impose a performance penalty. This flag is automatically set to true for jobs with hive.exec.dynamic.partition set to true.

hive.counters.group.name
  • Default Value: HIVE
  • Added In: Hive 0.13.0 with HIVE-4518

Counter group name for counters used during query execution. The counter group is used for internal Hive variables (CREATED_FILE, FATAL_ERROR, and so on).

hive.exec.pre.hooks
  • Default Value: (empty)
  • Added In: Hive 0.4.0

Comma-separated list of pre-execution hooks to be invoked for each statement. A pre-execution hook is specified as the name of a Java class which implements the org.apache.hadoop.hive.ql.hooks.ExecuteWithHookContext interface.

hive.exec.post.hooks
  • Default Value: (empty)
  • Added In: Hive 0.5.0

Comma-separated list of post-execution hooks to be invoked for each statement. A post-execution hook is specified as the name of a Java class which implements the org.apache.hadoop.hive.ql.hooks.ExecuteWithHookContext interface.

hive.exec.failure.hooks
  • Default Value: (empty)
  • Added In: Hive 0.8.0

Comma-separated list of on-failure hooks to be invoked for each statement. An on-failure hook is specified as the name of Java class which implements the org.apache.hadoop.hive.ql.hooks.ExecuteWithHookContext interface.

hive.merge.mapfiles
  • Default Value: true
  • Added In:

Merge small files at the end of a map-only job.

hive.merge.mapredfiles
  • Default Value: false
  • Added In:

Merge small files at the end of a map-reduce job.

hive.mergejob.maponly
  • Default Value: true
  • Added In:

Try to generate a map-only job for merging files if CombineHiveInputFormat is supported.

hive.merge.size.per.task
  • Default Value: 256000000
  • Added In:

Size of merged files at the end of the job.

hive.merge.smallfiles.avgsize
  • Default Value: 16000000
  • Added In:

When the average output file size of a job is less than this number, Hive will start an additional map-reduce job to merge the output files into bigger files. This is only done for map-only jobs if hive.merge.mapfiles is true, and for map-reduce jobs if hive.merge.mapredfiles is true.

hive.heartbeat.interval
  • Default Value: 1000
  • Added In:

Send a heartbeat after this interval – used by mapjoin and filter operators.

hive.auto.convert.join
  • Default Value: false in 0.10.0; true in 0.11.0 and later (HIVE-3297)  
  • Added In: 0.10.0

Whether Hive enables the optimization about converting common join into mapjoin based on the input file size. (Note that hive-default.xml.template incorrectly gives the default as false in Hive 0.11.0 through 0.13.1.)

hive.auto.convert.join.noconditionaltask
  • Default Value: true
  • Added In: 0.11.0 with HIVE-3784 (default changed to true with HIVE-4146)

Whether Hive enables the optimization about converting common join into mapjoin based on the input file size. If this parameter is on, and the sum of size for n-1 of the tables/partitions for an n-way join is smaller than the size specified by hive.auto.convert.join.noconditionaltask.size, the join is directly converted to a mapjoin (there is no conditional task).

hive.auto.convert.join.noconditionaltask.size
  • Default Value: 10000000
  • Added In: 0.11.0 with HIVE-3784

If hive.auto.convert.join.noconditionaltask is off, this parameter does not take effect. However, if it is on, and the sum of size for n-1 of the tables/partitions for an n-way join is smaller than this size, the join is directly converted to a mapjoin (there is no conditional task). The default is 10MB.

hive.auto.convert.join.use.nonstaged
  • Default Value: false
  • Added In: 0.13.0 with HIVE-6144 (default originally true, but changed to false with HIVE-6749 also in 0.13.0)

For conditional joins, if input stream from a small alias can be directly applied to the join operator without filtering or projection, the alias need not be pre-staged in the distributed cache via a mapred local task. Currently, this is not working with vectorization or Tez execution engine.

hive.script.auto.progress
  • Default Value: false
  • Added In:

Whether Hive Tranform/Map/Reduce Clause should automatically send progress information to TaskTracker to avoid the task getting killed because of inactivity. Hive sends progress information when the script is outputting to stderr. This option removes the need of periodically producing stderr messages, but users should be cautious because this may prevent infinite loops in the scripts to be killed by TaskTracker.

hive.script.serde
  • Default Value: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
  • Added In:

The default SerDe for transmitting input data to and reading output data from the user scripts.

hive.script.recordreader
  • Default Value: org.apache.hadoop.hive.ql.exec.TextRecordReader
  • Added In:

The default record reader for reading data from the user scripts.

hive.script.recordwriter
  • Default Value: org.apache.hadoop.hive.ql.exec.TextRecordWriter
  • Added In:

The default record writer for writing data to the user scripts.

hive.input.format
  • Default Value: org.apache.hadoop.hive.ql.io.CombineHiveInputFormat
  • Added In:

The default input format. Set this to HiveInputFormat if you encounter problems with CombineHiveInputFormat.

hive.udtf.auto.progress
  • Default Value: false
  • Added In:

Whether Hive should automatically send progress information to TaskTracker when using UDTF's to prevent the task getting killed because of inactivity. Users should be cautious because this may prevent TaskTracker from killing tasks with infinite loops.

hive.mapred.reduce.tasks.speculative.execution
  • Default Value: true
  • Added In:

Whether speculative execution for reducers should be turned on.

hive.exec.counters.pull.interval
  • Default Value: 1000
  • Added In:

The interval with which to poll the JobTracker for the counters the running job. The smaller it is the more load there will be on the jobtracker, the higher it is the less granular the caught will be.

hive.enforce.bucketing
  • Default Value: false
  • Added In:

Whether bucketing is enforced. If true, while inserting into the table, bucketing is enforced.

hive.enforce.sorting
  • Default Value: false
  • Added In:

Whether sorting is enforced. If true, while inserting into the table, sorting is enforced.

hive.optimize.reducededuplication
  • Default Value: true
  • Added In:

Remove extra map-reduce jobs if the data is already clustered by the same key which needs to be used again. This should always be set to true. Since it is a new feature, it has been made configurable.

hive.exec.dynamic.partition
  • Default Value: false
  • Added In:

Whether or not to allow dynamic partitions in DML/DDL.

hive.exec.dynamic.partition.mode
  • Default Value: strict
  • Added In:

In strict mode, the user must specify at least one static partition in case the user accidentally overwrites all partitions.

hive.exec.max.dynamic.partitions
  • Default Value: 1000
  • Added In:

Maximum number of dynamic partitions allowed to be created in total.

hive.exec.max.dynamic.partitions.pernode
  • Default Value: 100
  • Added In:

Maximum number of dynamic partitions allowed to be created in each mapper/reducer node.

hive.exec.max.created.files
  • Default Value: 100000
  • Added In:

Maximum number of HDFS files created by all mappers/reducers in a MapReduce job.

hive.exec.default.partition.name
  • Default Value: _HIVE_DEFAULT_PARTITION_
  • Added In:

The default partition name in case the dynamic partition column value is null/empty string or any other values that cannot be escaped. This value must not contain any special character used in HDFS URI (e.g., ':', '%', '/' etc). The user has to be aware that the dynamic partition value should not contain this value to avoid confusions.

hive.fetch.output.serde
  • Default Value: org.apache.hadoop.hive.serde2.DelimitedJSONSerDe
  • Added In:

The SerDe used by FetchTask to serialize the fetch output.

hive.exec.mode.local.auto
  • Default Value: false
  • Added In:

Let Hive determine whether to run in local mode automatically.

hive.exec.drop.ignorenonexistent
  • Default Value: true
  • Added In:

Do not report an error if DROP TABLE/VIEW specifies a non-existent table/view.

hive.exec.show.job.failure.debug.info
  • Default Value: true
  • Added In:

If a job fails, whether to provide a link in the CLI to the task with the most failures, along with debugging hints if applicable.

hive.auto.progress.timeout
  • Default Value: 0
  • Added In: Hive 0.7.0

How long to run autoprogressor for the script/UDTF operators (in seconds). Set to 0 for forever.

hive.table.parameters.default
  • Default Value: (empty)
  • Added In: Hive 0.7.0

Default property values for newly created tables.

hive.variable.substitute
  • Default Value: true
  • Added In: Hive 0.7.0

This enables substitution using syntax like ${var} ${system:var} and ${env:var}.

hive.error.on.empty.partition
  • Default Value: false
  • Added In: Hive 0.7.0

Whether to throw an exception if dynamic partition insert generates empty results.

hive.exim.uri.scheme.whitelist
  • Default Value: hdfs,pfile
  • Added In: Hive 0.8.0

A comma separated list of acceptable URI schemes for import and export.

hive.limit.row.max.size
  • Default Value: 100000
  • Added In: Hive 0.8.0

When trying a smaller subset of data for simple LIMIT, how much size we need to guarantee each row to have at least.

hive.limit.optimize.limit.file
  • Default Value: 10
  • Added In: Hive 0.8.0

When trying a smaller subset of data for simple LIMIT, maximum number of files we can sample.

hive.limit.optimize.enable
  • Default Value: false
  • Added In:

Whether to enable to optimization to trying a smaller subset of data for simple LIMIT first.

hive.limit.optimize.fetch.max
  • Default Value: 50000
  • Added In: Hive 0.8.0

Maximum number of rows allowed for a smaller subset of data for simple LIMIT, if it is a fetch query. Insert queries are not restricted by this limit.

hive.rework.mapredwork
  • Default Value: false
  • Added In: Hive 0.8.0

Should rework the mapred work or not. This is first introduced by SymlinkTextInputFormat to replace symlink files with real paths at compile time.

hive.sample.seednumber
  • Default Value: 0
  • Added In: Hive 0.8.0

A number used to percentage sampling. By changing this number, user will change the subsets of data sampled.

hive.io.exception.handlers
  • Default Value: (empty)
  • Added In: Hive 0.8.1

A list of I/O exception handler class names. This is used to construct a list of exception handlers to handle exceptions thrown by record readers

hive.autogen.columnalias.prefix.label
  • Default Value: _c
  • Added In: Hive 0.8.0

String used as a prefix when auto generating column alias. By default the prefix label will be appended with a column position number to form the column alias. Auto generation would happen if an aggregate function is used in a select clause without an explicit alias.

hive.autogen.columnalias.prefix.includefuncname
  • Default Value: false
  • Added In: Hive 0.8.0

Whether to include function name in the column alias auto generated by Hive.

hive.exec.perf.logger
  • Default Value: org.apache.hadoop.hive.ql.log.PerfLogger
  • Added In: Hive 0.8.0

The class responsible logging client side performance metrics. Must be a subclass of org.apache.hadoop.hive.ql.log.PerfLogger.

hive.start.cleanup.scratchdir
  • Default Value: false
  • Added In: Hive 0.8.1

To cleanup the Hive scratch directory while starting the Hive server.

hive.output.file.extension
  • Default Value: (empty)
  • Added In: Hive 0.8.1

String used as a file extension for output files. If not set, defaults to the codec extension for text files (e.g. ".gz"), or no extension otherwise.

hive.insert.into.multilevel.dirs
  • Default Value: false
  • Added In: Hive 0.8.1

Where to insert into multilevel directories like "insert directory '/HIVEFT25686/chinna/' from table".

hive.fetch.task.conversion
  • Default Value: minimal
  • Added In: Hive 0.10.0 with HIVE-2925

Some select queries can be converted to a single FETCH task, minimizing latency. Currently the query should be single sourced not having any subquery and should not have any aggregations or distincts (which incur RS), lateral views and joins. Supported values are minimal and more.

1. minimal : SELECT STAR, FILTER on partition columns, LIMIT only
2. more : SELECT, FILTER, LIMIT only (TABLESAMPLE, virtual columns)

hive.fetch.task.aggr
  • Default Value: false
  • Added In: Hive 0.12.0 with HIVE-4002 (description added in Hive 0.13.0 with HIVE-5793)

Aggregation queries with no group-by clause (for example, select count(*) from src) execute final aggregations in a single reduce task. If this parameter is set to true, Hive delegates the final aggregation stage to a fetch task, possibly decreasing the query time.

hive.fetch.task.conversion.threshold
  • Default Value: -1
  • Added In: Hive 0.13.0 with HIVE-3990

Input threshold (in bytes) for applying hive.fetch.task.conversion. If target table is native, input length is calculated by summation of file lengths. If it's not native, the storage handler for the table can optionally implement the org.apache.hadoop.hive.ql.metadata.InputEstimator interface. A negative threshold means hive.fetch.task.conversion is applied without any input length threshold.

hive.cache.expr.evaluation
  • Default Value: true
  • Added In: Hive 0.12.0 with HIVE-4209
  • Bug Fix: Hive 0.14.0 with HIVE-7314 (expression caching doesn't work when using UDF inside another UDF or a Hive function)

If true, the evaluation result of a deterministic expression referenced twice or more will be cached. For example, in a filter condition like ".. where key + 10 > 10 or key + 10 = 0" the expression "key + 10" will be evaluated/cached once and reused for the following expression ("key + 10 = 0"). Currently, this is applied only to expressions in select or filter operators.

hive.resultset.use.unique.column.names
  • Default Value: true
  • Added In: Hive 0.13.0 with HIVE-6687

Make column names unique in the result set by qualifying column names with table alias if needed. Table alias will be added to column names for queries of type "select *" or if query explicitly uses table alias "select r1.x..".

hive.support.quoted.identifiers
  • Default Value: column
  • Added In: Hive 0.13.0 with HIVE-6013

Whether to use quoted identifiers.  Value can be "none" or "column".

column:  Column names can contain any Unicode character. Any column name that is specified within backticks (`) is treated literally. Within a backtick string, use double backticks (``) to represent a backtick character.
none:  Only alphanumeric and underscore characters are valid in identifiers. Backticked names are interpreted as regular expressions. This is also the behavior in releases prior to 0.13.0.

hive.plan.serialization.format
  • Default Value: kryo
  • Added In: Hive 0.13.0 with HIVE-1511

Query plan format serialization between client and task nodes. Two supported values are kryo and javaXML. Kryo is the default.

hive.exec.check.crossproducts
  • Default Value: true
  • Added In: Hive 0.13.0 with HIVE-6643

Check if a query plan contains a cross product. If there is one, output a warning to the session's console.

hive.display.partition.cols.separately
  • Default Value: true
  • Added In: Hive 0.13.0 with HIVE-6689

In older Hive versions (0.10 and earlier) no distinction was made between partition columns or non-partition columns while displaying columns in DESCRIBE TABLE. From version 0.12 onwards, they are displayed separately. This flag will let you get the old behavior, if desired. See test-case in patch for HIVE-6689.

hive.limit.query.max.table.partition
  • Default Value: -1
  • Added In: Hive 0.13.0 with HIVE-6492

To protect the cluster, this controls how many partitions can be scanned for each partitioned table. The default value "-1" means no limit. The limit on partitions does not affect metadata-only queries.

hive.files.umask.value

Obsolete:  The dfs.umask value for the Hive-created folders.

MetaStore

hive.metastore.local
  • Default Value: true
  • Added In: Hive 0.8.1
  • Removed in: Hive 0.10 with HIVE-2585

Controls whether to connect to remote metastore server or open a new metastore server in Hive Client JVM. As of Hive 0.10 this is no longer used. Instead if hive.metastore.uris is set then remote mode is assumed otherwise local.

javax.jdo.option.ConnectionURL
  • Default Value: jdbc:derby:;databaseName=metastore_db;create=true
  • Added In: Hive 0.6.0

JDBC connect string for a JDBC metastore.

javax.jdo.option.ConnectionDriverName
  • Default Value: org.apache.derby.jdbc.EmbeddedDriver
  • Added In: Hive 0.8.1

Driver class name for a JDBC metastore.

javax.jdo.PersistenceManagerFactoryClass
  • Default Value: org.datanucleus.jdo.JDOPersistenceManagerFactory
  • Added In: Hive 0.8.1

Class implementing the JDO PersistenceManagerFactory.

javax.jdo.option.DetachAllOnCommit
  • Default Value: true
  • Added In: Hive 0.8.1

Detaches all objects from session so that they can be used after transaction is committed.

javax.jdo.option.NonTransactionalRead
  • Default Value: true
  • Added In: Hive 0.8.1

Reads outside of transactions.

javax.jdo.option.ConnectionUserName
  • Default Value: APP
  • Added In: Hive 0.8.1

Username to use against metastore database.

javax.jdo.option.ConnectionPassword
  • Default Value: mine
  • Added In: Hive 0.3.0

Password to use against metastore database.

javax.jdo.option.Multithreaded
  • Default Value: true
  • Added In: Hive 0.8.0

Set this to true if multiple threads access metastore through JDO concurrently.

datanucleus.connectionPoolingType
  • Default Value: DBCP in Hive 0.7 to 0.11; BoneCP in 0.12 and later 
  • Added In: Hive 0.7

Uses a BoneCP connection pool for JDBC metastore in release 0.12 and later (HIVE-4807), or a DBCP connection pool in releases 0.7 to 0.11.

datanucleus.validateTables
  • Default Value: false
  • Added In: Hive 0.7

Validates existing schema against code. Turn this on if you want to verify existing schema

datanucleus.validateColumns
  • Default Value: false
  • Added In: Hive 0.7

Validates existing schema against code. Turn this on if you want to verify existing schema.

datanucleus.validateConstraints
  • Default Value: false
  • Added In: Hive 0.7

Validates existing schema against code. Turn this on if you want to verify existing schema.

datanucleus.storeManagerType
  • Default Value: rdbms
  • Added In: Hive 0.7

Metadata store type.

datanucleus.autoCreateSchema

Creates necessary schema on a startup if one doesn't exist. Set this to false, after creating it once.

In Hive 0.12.0 and later releases, datanucleus.autoCreateSchema is disabled if hive.metastore.schema.verification is true.

datanucleus.autoStartMechanismMode
  • Default Value: checked
  • Added In: Hive 0.7

Throw exception if metadata tables are incorrect.

datanucleus.transactionIsolation
  • Default Value: read-committed
  • Added In: Hive 0.7

Default transaction isolation level for identity generation.

datanucleus.cache.level2
  • Default Value: false
  • Added In: Hive 0.7

This parameter does nothing.
Warning note: For most installations, Hive should not enable the DataNucleus L2 cache, since this can cause correctness issues. Thus, some people set this parameter to false assuming that this disables the cache – unfortunately, it does not. To actually disable the cache, set datanucleus.cache.level2.type to "none".

datanucleus.cache.level2.type
  • Default Value: none in Hive 0.9 and later; SOFT in Hive 0.7 to 0.8.1
  • Added In: Hive 0.7

NONE = disable the datanucleus level 2 cache, SOFT = soft reference based cache, WEAK = weak reference based cache.
Warning note: For most Hive installations, enabling the datanucleus cache can lead to correctness issues, and is dangerous. This should be left  as "none".

datanucleus.identifierFactory
  • Default Value: datanucleus
  • Added In: Hive 0.7

Name of the identifier factory to use when generating table/column names etc. 'datanucleus' is used for backward compatibility.

datanucleus.plugin.pluginRegistryBundleCheck
  • Default Value: LOG
  • Added In: Hive 0.7

Defines what happens when plugin bundles are found and are duplicated: EXCEPTION, LOG, or NONE.

hive.metastore.warehouse.dir
  • Default Value: /user/hive/warehouse
  • Added In: Hive 0.2

Location of default database for the warehouse.

hive.warehouse.subdir.inherit.perms
  • Default Value: false
  • Added In: Hive 0.9.0 with HIVE-2504

Set this to true if table directories should inherit the permissions of the warehouse or database directory instead of being created with permissions derived from dfs umask. (This configuration property replaced hive.files.umask.value before Hive 0.9.0 was released.)

hive.metastore.execute.setugi
  • Default Value: false in Hive 0.8.1 through 0.13.0, true starting in Hive 0.14.0
  • Added In: Hive 0.8.1 with HIVE-2616, default changed in Hive 0.14.0 with HIVE-6903

In unsecure mode, true will cause the metastore to execute DFS operations using the client's reported user and group permissions. Note that this property must be set on both the client and server sides. Further note that it's best effort. If client sets it to true and server sets it to false, the client setting will be ignored.

hive.metastore.event.listeners
  • Default Value: (empty)
  • Added In: Hive 0.8.0

List of comma-separated listeners for metastore events.

hive.metastore.partition.inherit.table.properties
  • Default Value: (empty)
  • Added In: Hive 0.8.1

List of comma-separated keys occurring in table properties which will get inherited to newly created partitions. * implies all the keys will get inherited.

hive.metastore.end.function.listeners
  • Default Value: (empty)
  • Added In: Hive 0.8.1

List of comma-separated listeners for the end of metastore functions.

hive.metastore.event.expiry.duration
  • Default Value: 0
  • Added In: Hive 0.8.0

Duration after which events expire from events table (in seconds).

hive.metastore.event.clean.freq
  • Default Value: 0
  • Added In: Hive 0.8.0

Frequency at which timer task runs to purge expired events in metastore(in seconds).

hive.metastore.connect.retries
  • Default Value: 5
  • Added In: Hive 0.6.0

Number of retries while opening a connection to metastore.

hive.metastore.client.connect.retry.delay
  • Default Value: 1
  • Added In: Hive 0.7.0

Number of seconds for the client to wait between consecutive connection attempts.

hive.metastore.client.socket.timeout
  • Default Value: 20
  • Added In: Hive 0.7.0

MetaStore Client socket timeout in seconds.

hive.metastore.rawstore.impl
  • Default Value: org.apache.hadoop.hive.metastore.ObjectStore
  • Added In: Hive 0.8.1

Name of the class that implements org.apache.hadoop.hive.metastore.rawstore interface. This class is used to store and retrieval of raw metadata objects such as table, database.

hive.metastore.batch.retrieve.max
  • Default Value: 300
  • Added In: Hive 0.8.0

Maximum number of objects (tables/partitions) can be retrieved from metastore in one batch. The higher the number, the less the number of round trips is needed to the Hive metastore server, but it may also cause higher memory requirement at the client side.

hive.metastore.ds.connection.url.hook
  • Default Value: (empty)
  • Added In: Hive 0.6.0

Name of the hook to use for retriving the JDO connection URL. If empty, the value in javax.jdo.option.ConnectionURL is used.

hive.metastore.ds.retry.attempts
  • Default Value: 1
  • Added In: Hive 0.6.0

The number of times to retry a metastore call if there were a connection error.

hive.metastore.ds.retry.interval
  • Default Value: 1000
  • Added In: Hive 0.6.0

The number of milliseconds between metastore retry attempts

hive.metastore.server.min.threads
  • Default Value: 200
  • Added In: Hive 0.6.0

Minimum number of worker threads in the Thrift server's pool.

hive.metastore.server.max.threads
  • Default Value: 100000
  • Added In: Hive 0.6.0

Maximum number of worker threads in the Thrift server's pool.

hive.metastore.server.tcp.keepalive
  • Default Value: true
  • Added In: Hive 0.6.0

Whether to enable TCP keepalive for the metastore server. Keepalive will prevent accumulation of half-open connections.

hive.metastore.sasl.enabled
  • Default Value: false
  • Added In: Hive 0.7.0

If true, the metastore thrift interface will be secured with SASL. Clients must authenticate with Kerberos.

hive.metastore.kerberos.keytab.file
  • Default Value: (empty)
  • Added In: Hive 0.7

The path to the Kerberos Keytab file containing the metastore thrift server's service principal.

hive.metastore.kerberos.principal
  • Default Value: hive-metastore/_HOST@EXAMPLE.COM
  • Added In: Hive 0.7

The service principal for the metastore thrift server. The special string _HOST will be replaced automatically with the correct host name.

hive.metastore.cache.pinobjtypes
  • Default Value: Table,StorageDescriptor,SerDeInfo,Partition,Database,Type,FieldSchema,Order
  • Added In: Hive 0.7.0

List of comma-separated metastore object types that should be pinned in the cache.

hive.metastore.authorization.storage.checks
  • Default Value: false
  • Added In: Hive 0.8.0

Should the metastore do authorization checks against the underlying storage for operations like drop-partition (disallow the drop-partition if the user in question doesn't have permissions to delete the corresponding directory on the storage).

hive.metastore.schema.verification
  • Default Value: false
  • Added In: Hive 0.12.0 with HIVE-3764

Enforce metastore schema version consistency.
True: Verify that version information stored in metastore matches with one from Hive jars. Also disable automatic schema migration attempt (see datanucleus.autoCreateSchema). Users are required to manually migrate schema after Hive upgrade which ensures proper metastore schema migration.
False: Warn if the version information stored in metastore doesn't match with one from Hive jars.

For more information, see Metastore Schema Consistency and Upgrades.

hive.metastore.integral.jdo.pushdown
  • Default Value: false
  • Added In: Hive 0.13.0 with HIVE-6052

Allow JDO query pushdown for integral partition columns in metastore. Off by default. This improves metastore performance for integral columns, especially if there's a large number of partitions. However, it doesn't work correctly with integral values that are not normalized (for example, if they have leading zeroes like 0012). If metastore direct SQL is enabled and works (hive.metastore.try.direct.sql), this optimization is also irrelevant.

hive.metastore.try.direct.sql
  • Default Value: true
  • Added In: Hive 0.12.0 with HIVE-4051

Whether the Hive metastore should try to use direct SQL queries instead of the DataNucleus for certain read paths. This can improve metastore performance when fetching many partitions or column statistics by orders of magnitude; however, it is not guaranteed to work on all RDBMS-es and all versions. In case of SQL failures, the metastore will fall back to the DataNucleus, so it's safe even if SQL doesn't work for all queries on your datastore. If all SQL queries fail (for example, your metastore is backed by MongoDB), you might want to disable this to save the try-and-fall-back cost.

hive.metastore.try.direct.sql.ddl
  • Default Value: true
  • Added In: Hive 0.13.0 with HIVE-5626

Same as hive.metastore.try.direct.sql, for read statements within a transaction that modifies metastore data. Due to non-standard behavior in Postgres, if a direct SQL select query has incorrect syntax or something similar inside a transaction, the entire transaction will fail and fall-back to DataNucleus will not be possible. You should disable the usage of direct SQL inside transactions if that happens in your case.

HiveServer2

HiveServer2 was added in Hive 0.11.0 with HIVE-2935.  For more information see Setting Up HiveServer2 and HiveServer2 Clients.

hive.server2.thrift.port
  • Default Value: 10000
  • Added In: Hive 0.11.0 with HIVE-2935

Port number of HiveServer2 Thrift interface. Can be overridden by setting $HIVE_SERVER2_THRIFT_PORT.

hive.server2.thrift.bind.host
  • Default Value: localhost
  • Added In: Hive 0.11.0 with HIVE-2935

Bind host on which to run the HiveServer2 Thrift interface. Can be overridden by setting $HIVE_SERVER2_THRIFT_BIND_HOST.

hive.server2.thrift.min.worker.threads
  • Default Value: 5
  • Added In: Hive 0.11.0 with HIVE-2935

Minimum number of Thrift worker threads.

hive.server2.thrift.max.worker.threads
  • Default Value: 100 in Hive 0.11.0, 500 in Hive 0.12.0 and later
  • Added In: Hive 0.11.0 with HIVE-2935, default value changed in HIVE 0.12.0 with HIVE-4617

Maximum number of Thrift worker threads.

hive.server2.authentication
  • Default Value: NONE
  • Added In: Hive 0.11.0 with HIVE-2935

Client authentication types.

NONE: no authentication check
LDAP: LDAP/AD based authentication
KERBEROS: Kerberos/GSSAPI authentication
CUSTOM: Custom authentication provider (use with property hive.server2.custom.authentication.class)
PAM: Pluggable authentication module (added in Hive 0.13.0 with HIVE-6466)

hive.server2.authentication.kerberos.keytab
  • Default Value: (empty)
  • Added In: Hive 0.11.0 with HIVE-2935

Kerberos keytab file for server principal.

hive.server2.authentication.kerberos.principal
  • Default Value: (empty)
  • Added In: Hive 0.11.0 with HIVE-2935

Kerberos server principal.

hive.server2.custom.authentication.class
  • Default Value: (empty)
  • Added In: Hive 0.11.0 with HIVE-2935

Custom authentication class. Used when property hive.server2.authentication is set to 'CUSTOM'. Provided class must be a proper implementation of the interface org.apache.hive.service.auth.PasswdAuthenticationProvider. HiveServer2 will call its Authenticate(user, passed) method to authenticate requests. The implementation may optionally extend Hadoop's org.apache.hadoop.conf.Configured class to grab Hive's Configuration object.

hive.server2.enable.doAs

Setting this property to true will have HiveServer2 execute Hive operations as the user making the calls to it.

hive.server2.authentication.ldap.url
  • Default Value: (empty)
  • Added In: Hive 0.11.0 with HIVE-2935

LDAP connection URL.

hive.server2.authentication.ldap.baseDN
  • Default Value: (empty)
  • Added In: Hive 0.11.0 with HIVE-2935

LDAP base DN (distinguished name).

hive.server2.authentication.ldap.Domain
  • Default Value: (empty)
  • Added In: Hive 0.12.0

LDAP domain.

hive.server2.transport.mode
  • Default Value: binary
  • Added In: Hive 0.12.0

Server transport mode. Value can be "binary" or "http".

hive.server2.thrift.http.port
  • Default Value: 10001
  • Added In: Hive 0.12.0

Port number when in HTTP mode.

hive.server2.thrift.http.path
  • Default Value: cliservice
  • Added In: Hive 0.12.0

Path component of URL endpoint when in HTTP mode.

hive.server2.thrift.http.min.worker.threads
  • Default Value: 5
  • Added In: Hive 0.12.0

Minimum number of worker threads when in HTTP mode.

hive.server2.thrift.http.max.worker.threads
  • Default Value: 500
  • Added In: Hive 0.12.0

Maximum number of worker threads when in HTTP mode.

hive.server2.thrift.sasl.qop
  • Default Value: auth
  • Added In: Hive 0.12.0

Sasl QOP value; set it to one of the following values to enable higher levels of protection for HiveServer2 communication with clients.

"auth" – authentication only (default)
"auth-int" – authentication plus integrity protection
"auth-conf" – authentication plus integrity and confidentiality protection

Note that hadoop.rpc.protection being set to a higher level than HiveServer2 does not make sense in most situations. HiveServer2 ignores hadoop.rpc.protection in favor of hive.server2.thrift.sasl.qop.

This is applicable only if HiveServer2 is configured to use Kerberos authentication.

hive.server2.async.exec.threads
  • Default Value: 50 in Hive 0.12.0, 100 in Hive 0.13.0 and later
  • Added In: Hive 0.12.0 with HIVE-4617, default value changed in Hive 0.13.0 with HIVE-5229

Number of threads in the async thread pool for HiveServer2.

hive.server2.async.exec.shutdown.timeout
  • Default Value: 10
  • Added In: Hive 0.12.0 with HIVE-4617

Time (in seconds) for which HiveServer2 shutdown will wait for async threads to terminate.

hive.server2.table.type.mapping
  • Default Value: CLASSIC
  • Added In: Hive 0.12.0

This setting reflects how HiveServer2 will report the table types for JDBC and other client implementations that retrieve the available tables and supported table types.

HIVE: Exposes Hive's native table types like MANAGED_TABLE, EXTERNAL_TABLE, VIRTUAL_VIEW
CLASSIC: More generic types like TABLE and VIEW

hive.server2.session.hook
  • Default Value: (empty)
  • Added In: Hive 0.12.0 with HIVE-4588

Session-level hook for HiveServer2.

hive.server2.max.start.attempts
  • Default Value: 30
  • Added In: Hive 0.13.0 with HIVE-5794

The number of times HiveServer2 will attempt to start before exiting, sleeping 60 seconds between retries. The default of 30 will keep trying for 30 minutes.

hive.server2.async.exec.wait.queue.size
  • Default Value: 100
  • Added In: Hive 0.13.0 with HIVE-5229

Size of the wait queue for async thread pool in HiveServer2. After hitting this limit, the async thread pool will reject new requests.

hive.server2.async.exec.keepalive.time
  • Default Value: 10
  • Added In: Hive 0.13.0 with HIVE-5229

Time (in seconds) that an idle HiveServer2 async thread (from the thread pool) will wait for a new task to arrive before terminating.

hive.server2.long.polling.timeout
  • Default Value: 5000L
  • Added In: Hive 0.13.0 with HIVE-5217

Time in milliseconds that HiveServer2 will wait, before responding to asynchronous calls that use long polling.

hive.server2.allow.user.substitution
  • Default Value: true
  • Added In: Hive 0.13.0

Allow alternate user to be specified as part of HiveServer2 open connection request.

hive.server2.authentication.spnego.keytab
  • Default Value: (empty)
  • Added In: Hive 0.13.0

Keytab file for SPNEGO principal, optional. A typical value would look like /etc/security/keytabs/spnego.service.keytab. This keytab would be used by HiveServer2 when Kerberos security is enabled and HTTP transport mode is used. This needs to be set only if SPNEGO is to be used in authentication.

SPNEGO authentication would be honored only if valid hive.server2.authentication.spnego.principal and hive.server2.authentication.spnego.keytab are specified.

hive.server2.authentication.spnego.principal
  • Default Value: (empty)
  • Added In: Hive 0.13.0

SPNEGO service principal, optional. A typical value would look like HTTP/_HOST@EXAMPLE.COM. The SPNEGO service principal would be used by HiveServer2 when Kerberos security is enabled and HTTP transport mode is used. This needs to be set only if SPNEGO is to be used in authentication.

hive.server2.authentication.pam.services
  • Default Value: (empty)
  • Added In: Hive 0.13.0 with HIVE-6466

List of the underlying PAM services that should be used when hive.server2.authentication type is PAM. A file with the same name must exist in /etc/pam.d.

hive.server2.use.SSL
  • Default Value: false
  • Added In: Hive 0.13.0 with HIVE-5351

Set this to true for using SSL encryption in HiveServer2.

hive.server2.keystore.path
  • Default Value: (empty)
  • Added In: Hive 0.13.0 with HIVE-5351

SSL certificate keystore location.

hive.server2.keystore.password
  • Default Value: (empty)
  • Added In: Hive 0.13.0 with HIVE-5351

SSL certificate keystore password.

hive.server2.tez.default.queues
  • Default Value: (empty)
  • Added In: Hive 0.13.0 with HIVE-6325

A list of comma separated values corresponding to YARN queues of the same name. When HiveServer2 is launched in Tez mode, this configuration needs to be set for multiple Tez sessions to run in parallel on the cluster.

hive.server2.tez.sessions.per.default.queue
  • Default Value: 1
  • Added In: Hive 0.13.0 with HIVE-6325

A positive integer that determines the number of Tez sessions that should be launched on each of the queues specified by hive.server2.tez.default.queues. Determines the parallelism on each queue.

hive.server2.tez.initialize.default.sessions
  • Default Value: false
  • Added In: Hive 0.13.0 with HIVE-6325

This flag is used in HiveServer 2 to enable a user to use HiveServer 2 without turning on Tez for HiveServer 2. The user could potentially want to run queries over Tez without the pool of sessions.

Tez

Apache Tez was added in Hive 0.13.0 (HIVE-4660 and HIVE-6098).  For information see the design document Hive on Tez.

Besides the configuration properties listed in this section, some properties in other sections are also related to Tez:

hive.jar.directory

This is the location that Hive in Tez mode will look for to find a site-wide installed Hive instance.  See hive.user.install.directory for the default behavior.

hive.user.install.directory

If Hive (in Tez mode only) cannot find a usable Hive jar in hive.jar.directory, it will upload the Hive jar to <hive.user.install.directory>/<user_name> and use it to run queries.

hive.compute.splits.in.am

Whether to generate the splits locally or in the ApplicationMaster (Tez only).

hive.rpc.query.plan

Whether to send the query plan via local resource or RPC.

hive.prewarm.enabled

Enables container prewarm for Tez (Hadoop 2 only).

hive.prewarm.numcontainers

Controls the number of containers to prewarm for Tez (Hadoop 2 only).

hive.hive.merge.tezfiles

Merge small files at the end of a Tez DAG.

hive.tez.input.format
  • Default Value: org.apache.hadoop.hive.ql.io.HiveInputFormat
  • Added In: Hive 0.13.0 with HIVE-6498 and HIVE-6360

The default input format for Tez. Tez groups splits in the AM (ApplicationMaster).

hive.tez.container.size

By default Tez will spawn containers of the size of a mapper. This can be used to overwrite the default.

hive.tez.java.opts

By default Tez will use the Java options from map tasks. This can be used to overwrite the default.

hive.convert.join.bucket.mapjoin.tez
  • Default Value: false
  • Added In: Hive 0.13.0 with HIVE-6447

Whether joins can be automatically converted to bucket map joins in Hive when Tez is used as the execution engine (hive.execution.engine is set to "tez").

hive.tez.log.level
  • Default Value: INFO
  • Added In: Hive 0.13.0 with HIVE-6743

The log level to use for tasks executing as part of the DAG. Used only if hive.tez.java.opts is used to configure Java options.

hive.localize.resource.wait.interval
  • Default Value: 5000
  • Added In: Hive 0.13.0 with HIVE-6782

Time in milliseconds to wait for another thread to localize the same resource for Hive-Tez.

hive.localize.resource.num.wait.attempts
  • Default Value: 5
  • Added In: Hive 0.13.0 with HIVE-6782

The number of attempts waiting for localizing a resource in Hive-Tez.

Indexing

Indexing was added in Hive 0.7.0 with HIVE-417, and bitmap indexing was added in Hive 0.8.0 with HIVE-1803.  For more information see Indexing.

hive.index.compact.file.ignore.hdfs
  • Default Value: false
  • Added In: Hive 0.7.0 with HIVE-1889

When true the HDFS location stored in the index file will be ignored at runtime. If the data got moved or the name of the cluster got changed, the index data should still be usable.

hive.optimize.index.filter
  • Default Value: false
  • Added In: Hive 0.8.0 with HIVE-1644

Whether to enable automatic use of indexes.

hive.optimize.index.filter.compact.minsize
  • Default Value: 5368709120
  • Added In: Hive 0.8.0 with HIVE-1644

Minimum size (in bytes) of the inputs on which a compact index is automatically used.

hive.optimize.index.filter.compact.maxsize
  • Default Value: -1
  • Added In: Hive 0.8.0 with HIVE-1644

Maximum size (in bytes) of the inputs on which a compact index is automatically used. A negative number is equivalent to infinity.

hive.index.compact.query.max.size
  • Default Value: 10737418240
  • Added In: Hive 0.8.0 with HIVE-2096

The maximum number of bytes that a query using the compact index can read. Negative value is equivalent to infinity.

hive.index.compact.query.max.entries
  • Default Value: 10000000
  • Added In: Hive 0.8.0 with HIVE-2096

The maximum number of index entries to read during a query that uses the compact index. Negative value is equivalent to infinity.

hive.exec.concatenate.check.index
  • Default Value: true
  • Added In: Hive 0.8.0 with HIVE-2125

If this sets to true, Hive will throw error when doing ALTER TABLE tbl_name [partSpec] CONCATENATE on a table/partition that has indexes on it. The reason the user want to set this to true is because it can help user to avoid handling all index drop, recreation, rebuild work. This is very helpful for tables with thousands of partitions.

hive.optimize.index.groupby
  • Default Value: false
  • Added In: Hive 0.8.1 with HIVE-1694
hive.index.compact.binary.search
  • Default Value: true
  • Added In: Hive 0.8.1 with HIVE-2535

Whether or not to use a binary search to find the entries in an index table that match the filter, where possible.

Statistics

See Statistics in Hive for information about how to collect and use Hive table statistics. 

hive.stats.dbclass
  • Default Value: jdbc:derby (Hive 0.7 to 0.12) or fs (Hive 0.13 and later)
  • Added In: Hive 0.7 with HIVE-1361

Hive 0.7 to 0.12:  The default database that stores temporary Hive statistics.  Other options are jdbc:mysql and hbase as defined in StatsSetupConst.java.

Hive 0.13 and later:  The storage that stores temporary Hive statistics. In FS based statistics collection, each task writes statistics it has collected in a file on the filesystem, which will be aggregated after the job has finished. Supported values are fs (filesystem), jdbc(:.*), hbase, counter and custom (HIVE-6500).

hive.stats.autogather
  • Default Value: true
  • Added In: Hive 0.7 with HIVE-1361

A flag to gather statistics automatically during the INSERT OVERWRITE command.

hive.stats.jdbcdriver
  • Default Value: org.apache.derby.jdbc.EmbeddedDriver
  • Added In: Hive 0.7 with HIVE-1361

The JDBC driver for the database that stores temporary Hive statistics.

hive.stats.dbconnectionstring
  • Default Value: jdbc:derby:;databaseName=TempStatsStore;create=true
  • Added In: Hive 0.7 with HIVE-1361

The default connection string for the database that stores temporary Hive statistics.

hive.stats.default.publisher
  • Default Value: (empty)
  • Added In: Hive 0.7 with HIVE-1923

The Java class (implementing the StatsPublisher interface) that is used by default if hive.stats.dbclass is not JDBC or HBase (Hive 0.12.0 and earlier), or if hive.stats.dbclass is a custom type (Hive 0.13.0 and later:  HIVE-4632).

hive.stats.default.aggregator
  • Default Value: (empty)
  • Added In: Hive 0.7 with HIVE-1923

The Java class (implementing the StatsAggregator interface) that is used by default if hive.stats.dbclass is not JDBC or HBase (Hive 0.12.0 and earlier), or if hive.stats.dbclass is a custom type (Hive 0.13.0 and later:  HIVE-4632).

hive.stats.jdbc.timeout
  • Default Value: 30
  • Added In: Hive 0.7 with HIVE-1961

Timeout value (number of seconds) used by JDBC connection and statements.

hive.stats.atomic
  • Default Value: false
  • Added In: Hive 0.7 with HIVE-1961

If this is set to true then the metastore statistics will be updated only if all types of statistics (number of rows, number of files, number of bytes, etc.) are available. Otherwise metastore statistics are updated in a best effort fashion with whatever are available.

hive.stats.retries.max
  • Default Value: 0
  • Added In: Hive 0.8 with HIVE-2127

Maximum number of retries when stats publisher/aggregator got an exception updating intermediate database. Default is no tries on failures.

hive.stats.retries.wait
  • Default Value: 3000
  • Added In: Hive 0.8 with HIVE-2127

The base waiting window (in milliseconds) before the next retry. The actual wait time is calculated by baseWindow * failues + baseWindow * (failure + 1) * (random number between 0.0,1.0).

hive.stats.collect.rawdatasize
  • Default Value: true
  • Added In: Hive 0.8 with HIVE-2185

If true, the raw data size is collected when analyzing tables.

hive.client.stats.publishers

Comma-separated list of statistics publishers to be invoked on counters on each job. A client stats publisher is specified as the name of a Java class which implements the org.apache.hadoop.hive.ql.stats.ClientStatsPublisher interface.

hive.client.stats.counters

Subset of counters that should be of interest for hive.client.stats.publishers (when one wants to limit their publishing). Non-display names should be used.

hive.stats.reliable
  • Default Value: false
  • Added In: Hive 0.10.0 with HIVE-1653
  • New Behavior In:  Hive 0.13.0 with HIVE-3777

Whether queries will fail because statistics cannot be collected completely accurately. If this is set to true, reading/writing from/into a partition or unpartitioned table may fail because the statistics could not be computed accurately. If it is set to false, the operation will succeed.

In Hive 0.13.0 and later, if hive.stats.reliable is false and statistics could not be computed correctly, the operation can still succeed and update the statistics but it sets a partition property "areStatsAccurate" to false. If the application needs accurate statistics, they can then be obtained in the background.

hive.stats.ndv.error

Standard error allowed for NDV estimates, expressed in percentage. This provides a tradeoff between accuracy and compute cost. A lower value for the error indicates higher accuracy and a higher compute cost. (NDV means number of distinct values.)

hive.stats.collect.tablekeys
  • Default Value: false
  • Added In: Hive 0.10 with HIVE-3501

Whether join and group by keys on tables are derived and maintained in the QueryPlan. This is useful to identify how tables are accessed and to determine if they should be bucketed.

hive.stats.collect.scancols
  • Default Value: false
  • Added In: Hive 0.11 with HIVE-3940

Whether column accesses are tracked in the QueryPlan. This is useful to identify how tables are accessed and to determine if there are wasted columns that can be trimmed.

hive.stats.key.prefix.max.length
  • Default Value: 200 (Hive 0.11 and 0.12) or 150 (Hive 0.13 and later)
  • Added In: Hive 0.11 with HIVE-3750

Determines if, when the prefix of the key used for intermediate statistics collection exceeds a certain length, a hash of the key is used instead. If the value < 0 then hashing is never used, if the value >= 0 then hashing is used only when the key prefixes' length exceeds that value. The key prefix is defined as everything preceding the task ID in the key. For counter type statistics, it's maxed by mapreduce.job.counters.group.name.max, which is by default 128.

hive.stats.key.prefix.reserve.length
  • Default Value: 24
  • Added In: Hive 0.13 with HIVE-6229

Reserved length for postfix of statistics key. Currently only meaningful for counter type statistics which should keep the length of the full statistics key smaller than the maximum length configured by hive.stats.key.prefix.max.length. For counter type statistics, it should be bigger than the length of LB spec if exists.

hive.stats.max.variable.length
  • Default Value: 100
  • Added In: Hive 0.13 with HIVE-5369

To estimate the size of data flowing through operators in Hive/Tez (for reducer estimation etc.), average row size is multiplied with the total number of rows coming out of each operator. Average row size is computed from average column size of all columns in the row. In the absence of column statistics, for variable length columns (like string, bytes, etc.) this value will be used. For fixed length columns their corresponding Java equivalent sizes are used (float – 4 bytes, double – 8 bytes, etc.).

hive.stats.list.num.entries
  • Default Value: 10
  • Added In: Hive 0.13 with HIVE-5369

To estimate the size of data flowing through operators in Hive/Tez (for reducer estimation etc.), average row size is multiplied with the total number of rows coming out of each operator. Average row size is computed from average column size of all columns in the row. In the absence of column statistics and for variable length complex columns like list, the average number of entries/values can be specified using this configuration property.

hive.stats.map.num.entries
  • Default Value: 10
  • Added In: Hive 0.13 with HIVE-5369

To estimate the size of data flowing through operators in Hive/Tez (for reducer estimation etc.), average row size is multiplied with the total number of rows coming out of each operator. Average row size is computed from average column size of all columns in the row. In the absence of column statistics and for variable length complex columns like map, the average number of entries/values can be specified using this configuration property.

hive.stats.map.parallelism
  • Default Value: 1
  • Added In: Hive 0.13 with HIVE-5369

The Hive/Tez optimizer estimates the data size flowing through each of the operators. For the GROUPBY operator, to accurately compute the data size map-side parallelism needs to be known. By default, this value is set to 1 since the optimizer is not aware of the number of mappers during compile-time. This Hive configuration property can be used to specify the number of mappers for data size computation of the GROUPBY operator.

hive.stats.fetch.partition.stats
  • Default Value: true
  • Added In: Hive 0.13 with HIVE-6298

Annotation of the operator tree with statistics information requires partition level basic statistics like number of rows, data size and file size. Partition statistics are fetched from the metastore. Fetching partition statistics for each needed partition can be expensive when the number of partitions is high. This flag can be used to disable fetching of partition statistics from the metastore. When this flag is disabled, Hive will make calls to the filesystem to get file sizes and will estimate the number of rows from the row schema.

hive.stats.fetch.column.stats
  • Default Value: false
  • Added In: Hive 0.13 with HIVE-5898

Annotation of the operator tree with statistics information requires column statistics. Column statistics are fetched from the metastore. Fetching column statistics for each needed column can be expensive when the number of columns is high. This flag can be used to disable fetching of column statistics from the metastore.

hive.stats.join.factor
  • Default Value: (float) 1.1
  • Added In: Hive 0.13 with HIVE-5921

The Hive/Tez optimizer estimates the data size flowing through each of the operators. The JOIN operator uses column statistics to estimate the number of rows flowing out of it and hence the data size. In the absence of column statistics, this factor determines the amount of rows flowing out of the JOIN operator.

hive.stats.deserialization.factor
  • Default Value: (float) 1.0
  • Added In: Hive 0.13 with HIVE-5921

The Hive/Tez optimizer estimates the data size flowing through each of the operators. In the absence of basic statistics like number of rows and data size, file size is used to estimate the number of rows and data size. Since files in tables/partitions are serialized (and optionally compressed) the estimates of number of rows and data size cannot be reliably determined. This factor is multiplied with the file size to account for serialization and compression.

hive.stats.avg.row.size
  • Default Value: 10000
  • Added In: Hive 0.13 with HIVE-5921

In the absence of table/partition statistics, average row size will be used to estimate the number of rows/data size.

hive.compute.query.using.stats
  • Default Value: false
  • Added In: Hive 0.13.0 with HIVE-5483

When set to true Hive will answer a few queries like min, max, and count(1) purely using statistics stored in the metastore. For basic statistics collection, set the configuration property hive.stats.autogather to true. For more advanced statistics collection, run ANALYZE TABLE queries.

Authentication/Authorization

Restricted List and Whitelist

hive.conf.restricted.list
  • Default Value: (empty, but includes this list implicitly)
  • Added In: Hive 0.11.0 with HIVE-2935

Comma separated list of configuration properties which are immutable at runtime. For example, if hive.security.authorization.enabled is set to true, it should be included in this list to prevent a client from changing it to false at runtime.

hive.security.command.whitelist
  • Default Value: set,reset,dfs,add,delete,compile
  • Added In: Hive 0.13.0 with HIVE-5400 and HIVE-5252

Comma separated list of non-SQL Hive commands that users are authorized to execute. This can be used to restrict the set of authorized commands. The currently supported command list is "set,reset,dfs,add,delete,compile" and by default all these commands are authorized. To restrict any of these commands, set hive.security.command.whitelist to a value that does not have the command in it.

Whitelist for SQL Standard Based Hive Authorization

See hive.security.authorization.sqlstd.confwhitelist below for information about the whitelist property that authorizes set commands in SQL standard based authorization.

Hive Client Security

hive.security.authorization.enabled
  • Default Value: false
  • Added In:

Enable or disable the Hive client authorization.

hive.security.authorization.manager
  • Default Value: org.apache.hadoop.hive.ql.security.authorization.DefaultHiveAuthorizationProvider
  • Added In:

The Hive client authorization manager class name. The user defined authorization class should implement interface org.apache.hadoop.hive.ql.security.authorization.HiveAuthorizationProvider.

hive.security.authenticator.manager
  • Default Value: org.apache.hadoop.hive.ql.security.HadoopDefaultAuthenticator
  • Added In:

Hive client authenticator manager class name. The user-defined authenticator should implement interface org.apache.hadoop.hive.ql.security.HiveAuthenticationProvider.

hive.security.authorization.createtable.user.grants
  • Default Value: (empty)
  • Added In:

The privileges automatically granted to some users whenever a table gets created. An example like "userX,userY:select;userZ:create" will grant select privilege to userX and userY, and grant create privilege to userZ whenever a new table created.

hive.security.authorization.createtable.group.grants
  • Default Value: (empty)
  • Added In:

The privileges automatically granted to some groups whenever a table gets created. An example like "groupX,groupY:select;groupZ:create" will grant select privilege to groupX and groupY, and grant create privilege to groupZ whenever a new table created.

hive.security.authorization.createtable.role.grants
  • Default Value: (empty)
  • Added In:

The privileges automatically granted to some roles whenever a table gets created. An example like "roleX,roleY:select;roleZ:create" will grant select privilege to roleX and roleY, and grant create privilege to roleZ whenever a new table created.

hive.security.authorization.createtable.owner.grants
  • Default Value: (empty)
  • Added In:

The privileges automatically granted to the owner whenever a table gets created. An example like "select,drop" will grant select and drop privilege to the owner of the table.

Hive Metastore Security

Metastore-side security was added in Hive 0.10.0 (HIVE-3705).  For more information, see Metastore Server Security in the Authorization document.

hive.metastore.pre.event.listeners
  • Default Value: (empty)
  • Added In: Hive 0.9.0 with HIVE-2853

The pre-event listener classes to be loaded on the metastore side to run code whenever databases, tables, and partitions are created, altered, or dropped. Set this configuration property to org.apache.hadoop.hive.ql.security.authorization.AuthorizationPreEventListener in hive-site.xml to turn on Hive metastore-side security.

hive.security.metastore.authorization.manager
  • Default Value: org.apache.hadoop.hive.ql.security.authorization.DefaultHiveMetastoreAuthorizationProvider
  • Added In: Hive 0.10.0 with HIVE-3705

The authorization manager class name to be used in the metastore for authorization. The user-defined authorization class should implement interface org.apache.hadoop.hive.ql.security.authorization.HiveMetastoreAuthorizationProvider. The DefaultHiveMetastoreAuthorizationProvider implements the standard Hive grant/revoke model. A storage-based authorization implementation is also provided to use as the value of this configuration property:

  • org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider

which uses HDFS permissions to provide authorization instead of using Hive-style grant-based authorization.

hive.security.metastore.authenticator.manager
  • Default Value: org.apache.hadoop.hive.ql.security.HadoopDefaultMetastoreAuthenticator
  • Added In: Hive 0.10.0 with HIVE-3705

The authenticator manager class name to be used in the metastore for authentication. The user-defined authenticator class should implement interface org.apache.hadoop.hive.ql.security.HiveAuthenticationProvider.

SQL Standard Based Authorization

Version

Hive 0.13.0 introduces fine-grained authorization based on the SQL standard authorization model. This is still a work in progress – see HIVE-5837 for the functional specification and list of subtasks.

hive.users.in.admin.role
  • Default Value: (empty)
  • Added In: Hive 0.13.0 with HIVE-5959

A comma separated list of users which will be added to the ADMIN role when the metastore starts up. More users can still be added later on.

hive.security.authorization.sqlstd.confwhitelist
  • Default Value: (empty, but includes list shown below implicitly)
  • Added In: Hive 0.13.0 with HIVE-6846

A comma separated list of configuration properties that users are authorized to set when SQL standard base authorization is used.

If this parameter is not set, the default list is added by the SQL standard authorizer. The default list has these properties (see HIVE-6846 for the same list arranged one property per line):

hive.exec.reducers.bytes.per.reducer, hive.exec.reducers.max, hive.map.aggr, hive.map.aggr.hash.percentmemory, hive.map.aggr.hash.force.flush.memory.threshold, hive.map.aggr.hash.min.reduction, hive.groupby.skewindata, hive.optimize.multigroupby.common.distincts, hive.optimize.index.groupby, hive.optimize.ppd, hive.optimize.ppd.storage, hive.optimize.ppd.storage, hive.ppd.recognizetransivity, hive.optimize.groupby, hive.optimize.sort.dynamic.partition, hive.optimize.skewjoin.compiletime, hive.optimize.union.remove, hive.multigroupby.singlereducer, hive.map.groupby.sorted, hive.map.groupby.sorted.testmode, hive.optimize.skewjoin, hive.optimize.skewjoin.compiletime, hive.mapred.mode, hive.enforce.bucketmapjoin, hive.exec.compress.output, hive.exec.compress.intermediate, hive.exec.parallel, hive.exec.parallel.thread.number, hive.exec.parallel.thread.number, hive.exec.rowoffset, hive.merge.mapfiles, hive.merge.mapredfiles, hive.merge.tezfiles, hive.ignore.mapjoin.hint, hive.auto.convert.join, hive.auto.convert.join.noconditionaltask, hive.auto.convert.join.noconditionaltask.size, hive.auto.convert.join.use.nonstaged, hive.auto.convert.join.noconditionaltask, hive.auto.convert.join.noconditionaltask.size, hive.auto.convert.join.use.nonstaged, hive.enforce.bucketing, hive.enforce.sorting, hive.enforce.sortmergebucketmapjoin, hive.auto.convert.sortmerge.join, hive.execution.engine, hive.vectorized.execution.enabled, hive.mapjoin.optimized.keys, hive.mapjoin.lazy.hashtable, hive.exec.check.crossproducts, hive.compat, hive.exec.dynamic.partition.mode,mapred.reduce.tasks, mapred.output.compression.codec, mapred.map.output.compression.codec, mapreduce.job.reduce.slowstart.completedmaps, mapreduce.job.queuename.

Archiving

fs.har.impl
  • Default Value: org.apache.hadoop.hive.shims.HiveHarFileSystem
  • Added In:

The implementation for accessing Hadoop Archives. Note that this won't be applicable to Hadoop versions less than 0.20.

hive.archive.enabled
  • Default Value: false
  • Added In:

Whether archiving operations are permitted.

hive.archive.har.parentdir.settable
  • Default Value: false
  • Added In:

In new Hadoop versions, the parent directory must be set while creating a HAR. Because this functionality is hard to detect with just version numbers, this configuration variable needs to be set manually.

Locking

See Hive Concurrency Model for general information about locking.

hive.support.concurrency
  • Default Value: false
  • Added In:

Whether Hive supports concurrency or not. A Zookeeper instance must be up and running for the default Hive lock manager to support read-write locks.

hive.lock.mapred.only.operation
  • Default Value: false
  • Added In:

This configuration property is to control whether or not only do lock on queries that need to execute at least one mapred job.

hive.lock.numretries
  • Default Value: 100
  • Added In:

The number of times you want to try to get all the locks.

hive.unlock.numretries
  • Default Value: 10
  • Added In:

The number of times you want to retry to do one unlock.

hive.lock.sleep.between.retries
  • Default Value: 60
  • Added In:

The sleep time (in seconds) between various retries.

hive.zookeeper.quorum
  • Default Value: (empty)
  • Added In:

The list of Zookeeper servers to talk to. This is only needed for read/write locks.

hive.zookeeper.client.port
  • Default Value: 2181
  • Added In:

The port of Zookeeper servers to talk to. This is only needed for read/write locks.

hive.zookeeper.session.timeout
  • Default Value: 600000
  • Added In:

Zookeeper client's session timeout. The client is disconnected, and as a result, all locks released, if a heartbeat is not sent in the timeout.

hive.zookeeper.namespace
  • Default Value: hive_zookeeper_namespace
  • Added In:

The parent node under which all Zookeeper nodes are created.

hive.zookeeper.clean.extra.nodes
  • Default Value: false
  • Added In:

Clean extra nodes at the end of the session.

Clustering

hive.cluster.delegation.token.store.class
  • Default Value: org.apache.hadoop.hive.thrift.MemoryTokenStore
  • Added In:

The delegation token store implementation. Set to org.apache.hadoop.hive.thrift.ZooKeeperTokenStore for load-balanced cluster.

hive.cluster.delegation.token.store.zookeeper.connectString
  • Default Value: localhost:2181
  • Added In:

The ZooKeeper token store connect string.

hive.cluster.delegation.token.store.zookeeper.znode
  • Default Value: /hive/cluster/delegation
  • Added In:

The root path for token store data.

hive.cluster.delegation.token.store.zookeeper.acl
  • Default Value: sasl:hive/host1@EXAMPLE.COM:cdrwa,sasl:hive/host2@EXAMPLE.COM:cdrwa
  • Added In:

ACL for token store entries. List comma separated all server principals for the cluster.

Regions

hive.use.input.primary.region
  • Default Value: true
  • Added In:

When creating a table from an input table, create the table in the input table's primary region.

hive.default.region.name
  • Default Value: default
  • Added In:

The default region name.

hive.region.properties
  • Default Value: (empty)
  • Added In:

The default filesystem and jobtracker for a region.

Command Line Interface

hive.cli.print.header
  • Default Value: false
  • Added In:

Whether to print the names of the columns in query output.

hive.cli.print.current.db
  • Default Value: false
  • Added In:

Whether to include the current database in the Hive prompt.

HBase StorageHandler

hive.hbase.wal.enabled
  • Default Value: true
  • Added In: Hive 0.6.0 with HIVE-1383

Whether writes to HBase should be forced to the write-ahead log. Disabling this improves HBase write performance at the risk of lost writes in case of a crash.

hive.hbase.generatehfiles
  • Default Value: false
  • Added In: Hive 0.14.0 with HIVE-6473

True when HBaseStorageHandler should generate hfiles instead of operate against the online table.

Hive Web Interface (HWI)

hive.hwi.war.file
  • Default Value: lib/hive-hwi-.war
  • Added In:

This sets the path to the HWI war file, relative to ${HIVE_HOME}.

hive.hwi.listen.host
  • Default Value: 0.0.0.0
  • Added In:

This is the host address the Hive Web Interface will listen on.

hive.hwi.listen.port
  • Default Value: 9999
  • Added In:

This is the port the Hive Web Interface will listen on.

Test Properties

hive.test.mode
  • Default Value: false
  • Added In:

Whether Hive is running in test mode. If yes, it turns on sampling and prefixes the output tablename.

hive.test.mode.prefix
  • Default Value: test_
  • Added In:

If Hive is running in test mode, prefixes the output table by this string.

hive.test.mode.samplefreq
  • Default Value: 32
  • Added In:

If Hive is running in test mode and table is not bucketed, sampling frequency.

hive.test.mode.nosamplelist
  • Default Value: (empty)
  • Added In:

If Hive is running in test mode, don't sample the above comma separated list of tables.

HCatalog Configuration Properties

Starting in Hive release 0.11.0, HCatalog is installed and configured with Hive. The HCatalog server is the same as the Hive metastore. See Hive Metastore Administration for metastore configuration properties. For Hive releases prior to 0.11.0, see the "Thrift Server Setup" section in the HCatalog 0.5.0 document Installation from Tarball for information about setting the Hive metastore configuration properties.

Jobs submitted to HCatalog can specify configuration properties that affect storage, error tolerance, and other kinds of behavior during the job.  See HCatalog Config Properties for details.

WebHCat Configuration Properties

For WebHCat configuration, see Configuration Variables in the WebHCat manual.

  • No labels