| <?xml version="1.0"?> |
| <!-- |
| ! Copyright 2009-2013 by The Regents of the University of California |
| ! Licensed under the Apache License, Version 2.0 (the "License"); |
| ! you may not use this file except in compliance with the License. |
| ! you may obtain a copy of the License from |
| ! |
| ! http://www.apache.org/licenses/LICENSE-2.0 |
| ! |
| ! Unless required by applicable law or agreed to in writing, software |
| ! distributed under the License is distributed on an "AS IS" BASIS, |
| ! WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| ! See the License for the specific language governing permissions and |
| ! limitations under the License. |
| !--> |
| <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> |
| |
| <configuration> |
| |
| <!-- Hive Configuration can either be stored in this file or in the hadoop |
| configuration files --> |
| <!-- that are implied by Hadoop setup variables. --> |
| <!-- Aside from Hadoop setup variables - this file is provided as a convenience |
| so that Hive --> |
| <!-- users do not have to edit hadoop configuration files (that may be managed |
| as a centralized --> |
| <!-- resource). --> |
| |
| <!-- Hive Execution Parameters --> |
| <property> |
| <name>mapred.reduce.tasks</name> |
| <value>-1</value> |
| <description>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. |
| </description> |
| |
| <property> |
| <name>hive.hyracks.connectorpolicy</name> |
| <value>PIPELINING</value> |
| </property> |
| |
| <property> |
| <name>hive.hyracks.parrallelism</name> |
| <value>4</value> |
| </property> |
| |
| <property> |
| <name>hive.algebricks.groupby.external</name> |
| <value>true</value> |
| </property> |
| |
| <property> |
| <name>hive.algebricks.groupby.external.memory</name> |
| <value>33554432</value> |
| </property> |
| |
| <property> |
| <name>hive.algebricks.sort.memory</name> |
| <value>33554432</value> |
| </property> |
| |
| <property> |
| <name>hive.exec.reducers.bytes.per.reducer</name> |
| <value>1000000000</value> |
| <description>size per reducer.The default is 1G, i.e if the input size |
| is 10G, it will use 10 reducers.</description> |
| </property> |
| |
| <property> |
| <name>hive.exec.reducers.max</name> |
| <value>999</value> |
| <description>max number of reducers will be used. If the one |
| specified in the configuration parameter mapred.reduce.tasks is |
| negative, hive will use this one as the max number of reducers when |
| automatically determine number of reducers.</description> |
| </property> |
| |
| <property> |
| <name>hive.exec.scratchdir</name> |
| <value>/hive-${user.name}</value> |
| <description>Scratch space for Hive jobs</description> |
| </property> |
| |
| <property> |
| <name>hive.test.mode</name> |
| <value>false</value> |
| <description>whether hive is running in test mode. If yes, it turns on |
| sampling and prefixes the output tablename</description> |
| </property> |
| |
| <property> |
| <name>hive.test.mode.prefix</name> |
| <value>test_</value> |
| <description>if hive is running in test mode, prefixes the output |
| table by this string</description> |
| </property> |
| |
| <!-- If the input table is not bucketed, the denominator of the tablesample |
| is determinied by the parameter below --> |
| <!-- For example, the following query: --> |
| <!-- INSERT OVERWRITE TABLE dest --> |
| <!-- SELECT col1 from src --> |
| <!-- would be converted to --> |
| <!-- INSERT OVERWRITE TABLE test_dest --> |
| <!-- SELECT col1 from src TABLESAMPLE (BUCKET 1 out of 32 on rand(1)) --> |
| <property> |
| <name>hive.test.mode.samplefreq</name> |
| <value>32</value> |
| <description>if hive is running in test mode and table is not |
| bucketed, sampling frequency</description> |
| </property> |
| |
| <property> |
| <name>hive.test.mode.nosamplelist</name> |
| <value></value> |
| <description>if hive is running in test mode, dont sample the above |
| comma seperated list of tables</description> |
| </property> |
| |
| <property> |
| <name>hive.metastore.local</name> |
| <value>true</value> |
| <description>controls whether to connect to remove metastore server or |
| open a new metastore server in Hive Client JVM</description> |
| </property> |
| |
| <property> |
| <name>javax.jdo.option.ConnectionURL</name> |
| <value>jdbc:derby:;databaseName=metastore_db;create=true</value> |
| <description>JDBC connect string for a JDBC metastore</description> |
| </property> |
| |
| <property> |
| <name>javax.jdo.option.ConnectionDriverName</name> |
| <value>org.apache.derby.jdbc.EmbeddedDriver</value> |
| <description>Driver class name for a JDBC metastore</description> |
| </property> |
| |
| <property> |
| <name>javax.jdo.PersistenceManagerFactoryClass</name> |
| <value>org.datanucleus.jdo.JDOPersistenceManagerFactory</value> |
| <description>class implementing the jdo persistence</description> |
| </property> |
| |
| <property> |
| <name>datanucleus.connectionPoolingType</name> |
| <value>DBCP</value> |
| <description>Uses a DBCP connection pool for JDBC metastore |
| </description> |
| </property> |
| |
| <property> |
| <name>javax.jdo.option.DetachAllOnCommit</name> |
| <value>true</value> |
| <description>detaches all objects from session so that they can be |
| used after transaction is committed</description> |
| </property> |
| |
| <property> |
| <name>javax.jdo.option.NonTransactionalRead</name> |
| <value>true</value> |
| <description>reads outside of transactions</description> |
| </property> |
| |
| <property> |
| <name>javax.jdo.option.ConnectionUserName</name> |
| <value>APP</value> |
| <description>username to use against metastore database</description> |
| </property> |
| |
| <property> |
| <name>javax.jdo.option.ConnectionPassword</name> |
| <value>mine</value> |
| <description>password to use against metastore database</description> |
| </property> |
| |
| <property> |
| <name>datanucleus.validateTables</name> |
| <value>false</value> |
| <description>validates existing schema against code. turn this on if |
| you want to verify existing schema </description> |
| </property> |
| |
| <property> |
| <name>datanucleus.validateColumns</name> |
| <value>false</value> |
| <description>validates existing schema against code. turn this on if |
| you want to verify existing schema </description> |
| </property> |
| |
| <property> |
| <name>datanucleus.validateConstraints</name> |
| <value>false</value> |
| <description>validates existing schema against code. turn this on if |
| you want to verify existing schema </description> |
| </property> |
| |
| <property> |
| <name>datanucleus.storeManagerType</name> |
| <value>rdbms</value> |
| <description>metadata store type</description> |
| </property> |
| |
| <property> |
| <name>datanucleus.autoCreateSchema</name> |
| <value>true</value> |
| <description>creates necessary schema on a startup if one doesn't |
| exist. set this to false, after creating it once</description> |
| </property> |
| |
| <property> |
| <name>datanucleus.autoStartMechanismMode</name> |
| <value>checked</value> |
| <description>throw exception if metadata tables are incorrect |
| </description> |
| </property> |
| |
| <property> |
| <name>datanucleus.transactionIsolation</name> |
| <value>read-committed</value> |
| <description>Default transaction isolation level for identity |
| generation. </description> |
| </property> |
| |
| <property> |
| <name>datanucleus.cache.level2</name> |
| <value>false</value> |
| <description>Use a level 2 cache. Turn this off if metadata is changed |
| independently of hive metastore server</description> |
| </property> |
| |
| <property> |
| <name>datanucleus.cache.level2.type</name> |
| <value>SOFT</value> |
| <description>SOFT=soft reference based cache, WEAK=weak reference |
| based cache.</description> |
| </property> |
| |
| <property> |
| <name>datanucleus.identifierFactory</name> |
| <value>datanucleus</value> |
| <description>Name of the identifier factory to use when generating |
| table/column names etc. 'datanucleus' is used for backward |
| compatibility</description> |
| </property> |
| |
| <property> |
| <name>hive.metastore.warehouse.dir</name> |
| <value>/user/hivesterix</value> |
| <description>location of default database for the warehouse |
| </description> |
| </property> |
| |
| <property> |
| <name>hive.metastore.connect.retries</name> |
| <value>5</value> |
| <description>Number of retries while opening a connection to metastore |
| </description> |
| </property> |
| |
| <property> |
| <name>hive.metastore.rawstore.impl</name> |
| <value>org.apache.hadoop.hive.metastore.ObjectStore</value> |
| <description>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</description> |
| </property> |
| |
| <property> |
| <name>hive.default.fileformat</name> |
| <value>TextFile</value> |
| <description>Default file format for CREATE TABLE statement. Options |
| are TextFile and SequenceFile. Users can explicitly say CREATE TABLE |
| ... STORED AS <TEXTFILE|SEQUENCEFILE> to override</description> |
| </property> |
| |
| <property> |
| <name>hive.fileformat.check</name> |
| <value>true</value> |
| <description>Whether to check file format or not when loading data |
| files</description> |
| </property> |
| |
| <property> |
| <name>hive.map.aggr</name> |
| <value>true</value> |
| <description>Whether to use map-side aggregation in Hive Group By |
| queries</description> |
| </property> |
| |
| <property> |
| <name>hive.groupby.skewindata</name> |
| <value>false</value> |
| <description>Whether there is skew in data to optimize group by |
| queries</description> |
| </property> |
| |
| <property> |
| <name>hive.groupby.mapaggr.checkinterval</name> |
| <value>100000</value> |
| <description>Number of rows after which size of the grouping |
| keys/aggregation classes is performed</description> |
| </property> |
| |
| <property> |
| <name>hive.mapred.local.mem</name> |
| <value>0</value> |
| <description>For local mode, memory of the mappers/reducers |
| </description> |
| </property> |
| |
| <property> |
| <name>hive.map.aggr.hash.percentmemory</name> |
| <value>0.5</value> |
| <description>Portion of total memory to be used by map-side grup |
| aggregation hash table</description> |
| </property> |
| |
| <property> |
| <name>hive.map.aggr.hash.min.reduction</name> |
| <value>0.5</value> |
| <description>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.</description> |
| </property> |
| |
| <property> |
| <name>hive.optimize.cp</name> |
| <value>true</value> |
| <description>Whether to enable column pruner</description> |
| </property> |
| |
| <property> |
| <name>hive.optimize.ppd</name> |
| <value>true</value> |
| <description>Whether to enable predicate pushdown</description> |
| </property> |
| |
| <property> |
| <name>hive.optimize.pruner</name> |
| <value>true</value> |
| <description>Whether to enable the new partition pruner which depends |
| on predicate pushdown. If this is disabled, |
| the old partition pruner which is based on AST will be enabled. |
| </description> |
| </property> |
| |
| <property> |
| <name>hive.optimize.groupby</name> |
| <value>true</value> |
| <description>Whether to enable the bucketed group by from bucketed |
| partitions/tables.</description> |
| </property> |
| |
| <property> |
| <name>hive.join.emit.interval</name> |
| <value>1000</value> |
| <description>How many rows in the right-most join operand Hive should |
| buffer before emitting the join result. </description> |
| </property> |
| |
| <property> |
| <name>hive.join.cache.size</name> |
| <value>25000</value> |
| <description>How many rows in the joining tables (except the streaming |
| table) should be cached in memory. </description> |
| </property> |
| |
| <property> |
| <name>hive.mapjoin.bucket.cache.size</name> |
| <value>100</value> |
| <description>How many values in each keys in the map-joined table |
| should be cached in memory. </description> |
| </property> |
| |
| <property> |
| <name>hive.mapjoin.maxsize</name> |
| <value>100000</value> |
| <description>Maximum # of rows of the small table that can be handled |
| by map-side join. If the size is reached and hive.task.progress is |
| set, a fatal error counter is set and the job will be killed. |
| </description> |
| </property> |
| |
| <property> |
| <name>hive.mapjoin.cache.numrows</name> |
| <value>25000</value> |
| <description>How many rows should be cached by jdbm for map join. |
| </description> |
| </property> |
| |
| <property> |
| <name>hive.optimize.skewjoin</name> |
| <value>false</value> |
| <description>Whether to enable skew join optimization. </description> |
| </property> |
| |
| <property> |
| <name>hive.skewjoin.key</name> |
| <value>100000</value> |
| <description>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. </description> |
| </property> |
| |
| <property> |
| <name>hive.skewjoin.mapjoin.map.tasks</name> |
| <value>10000</value> |
| <description> 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.</description> |
| </property> |
| |
| <property> |
| <name>hive.skewjoin.mapjoin.min.split</name> |
| <value>33554432</value> |
| <description> 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.</description> |
| </property> |
| |
| <property> |
| <name>hive.mapred.mode</name> |
| <value>nonstrict</value> |
| <description>The mode in which the hive operations are being |
| performed. In strict mode, some risky queries are not allowed to run |
| </description> |
| </property> |
| |
| <property> |
| <name>hive.exec.script.maxerrsize</name> |
| <value>100000</value> |
| <description>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 </description> |
| </property> |
| |
| <property> |
| <name>hive.exec.script.allow.partial.consumption</name> |
| <value>false</value> |
| <description> When enabled, this option allows a user script to exit |
| successfully without consuming all the data from the standard input. |
| </description> |
| </property> |
| |
| <property> |
| <name>hive.script.operator.id.env.var</name> |
| <value>HIVE_SCRIPT_OPERATOR_ID</value> |
| <description> 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) |
| </description> |
| </property> |
| |
| <property> |
| <name>hive.exec.compress.output</name> |
| <value>false</value> |
| <description> 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 config variables |
| mapred.output.compress* </description> |
| </property> |
| |
| <property> |
| <name>hive.exec.compress.intermediate</name> |
| <value>false</value> |
| <description> 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 config variables |
| mapred.output.compress* </description> |
| </property> |
| |
| <property> |
| <name>hive.exec.parallel</name> |
| <value>false</value> |
| <description>Whether to execute jobs in parallel</description> |
| </property> |
| |
| <property> |
| <name>hive.exec.parallel.thread.number</name> |
| <value>8</value> |
| <description>How many jobs at most can be executed in parallel |
| </description> |
| </property> |
| |
| <property> |
| <name>hive.hwi.war.file</name> |
| <value>lib\hive-hwi-0.7.0.war</value> |
| <description>This sets the path to the HWI war file, relative to |
| ${HIVE_HOME}. </description> |
| </property> |
| |
| <property> |
| <name>hive.hwi.listen.host</name> |
| <value>0.0.0.0</value> |
| <description>This is the host address the Hive Web Interface will |
| listen on</description> |
| </property> |
| |
| <property> |
| <name>hive.hwi.listen.port</name> |
| <value>9999</value> |
| <description>This is the port the Hive Web Interface will listen on |
| </description> |
| </property> |
| |
| <property> |
| <name>hive.exec.pre.hooks</name> |
| <value></value> |
| <description>Pre Execute Hook for Tests</description> |
| </property> |
| |
| <property> |
| <name>hive.merge.mapfiles</name> |
| <value>true</value> |
| <description>Merge small files at the end of a map-only job |
| </description> |
| </property> |
| |
| <property> |
| <name>hive.merge.mapredfiles</name> |
| <value>false</value> |
| <description>Merge small files at the end of a map-reduce job |
| </description> |
| </property> |
| |
| <property> |
| <name>hive.heartbeat.interval</name> |
| <value>1000</value> |
| <description>Send a heartbeat after this interval - used by mapjoin |
| and filter operators</description> |
| </property> |
| |
| <property> |
| <name>hive.merge.size.per.task</name> |
| <value>256000000</value> |
| <description>Size of merged files at the end of the job</description> |
| </property> |
| |
| <property> |
| <name>hive.merge.size.smallfiles.avgsize</name> |
| <value>16000000</value> |
| <description>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.</description> |
| </property> |
| |
| <property> |
| <name>hive.script.auto.progress</name> |
| <value>false</value> |
| <description>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. </description> |
| </property> |
| |
| <property> |
| <name>hive.script.serde</name> |
| <value>org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe</value> |
| <description>The default serde for trasmitting input data to and |
| reading output data from the user scripts. </description> |
| </property> |
| |
| <property> |
| <name>hive.script.recordreader</name> |
| <value>org.apache.hadoop.hive.ql.exec.TextRecordReader</value> |
| <description>The default record reader for reading data from the user |
| scripts. </description> |
| </property> |
| |
| <property> |
| <name>hive.script.recordwriter</name> |
| <value>org.apache.hadoop.hive.ql.exec.TextRecordWriter</value> |
| <description>The default record writer for writing data to the user |
| scripts. </description> |
| </property> |
| |
| <property> |
| <name>hive.input.format</name> |
| <value>org.apache.hadoop.hive.ql.io.HiveInputFormat</value> |
| <description>The default input format, if it is not specified, the |
| system assigns it. It is set to HiveInputFormat for hadoop versions |
| 17, 18 and 19, whereas it is set to CombinedHiveInputFormat for |
| hadoop 20. The user can always overwrite it - if there is a bug in |
| CombinedHiveInputFormat, it can always be manually set to |
| HiveInputFormat. </description> |
| </property> |
| |
| <property> |
| <name>hive.udtf.auto.progress</name> |
| <value>false</value> |
| <description>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 infinte |
| loops. </description> |
| </property> |
| |
| <property> |
| <name>hive.mapred.reduce.tasks.speculative.execution</name> |
| <value>true</value> |
| <description>Whether speculative execution for reducers should be |
| turned on. </description> |
| </property> |
| |
| <property> |
| <name>hive.exec.counters.pull.interval</name> |
| <value>1000</value> |
| <description>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.</description> |
| </property> |
| |
| <property> |
| <name>hive.enforce.bucketing</name> |
| <value>false</value> |
| <description>Whether bucketing is enforced. If true, while inserting |
| into the table, bucketing is enforced. </description> |
| </property> |
| |
| <property> |
| <name>hive.enforce.sorting</name> |
| <value>false</value> |
| <description>Whether sorting is enforced. If true, while inserting |
| into the table, sorting is enforced. </description> |
| </property> |
| |
| <property> |
| <name>hive.metastore.ds.connection.url.hook</name> |
| <value></value> |
| <description>Name of the hook to use for retriving the JDO connection |
| URL. If empty, the value in javax.jdo.option.ConnectionURL is used |
| </description> |
| </property> |
| |
| <property> |
| <name>hive.metastore.ds.retry.attempts</name> |
| <value>1</value> |
| <description>The number of times to retry a metastore call if there |
| were a connection error</description> |
| </property> |
| |
| <property> |
| <name>hive.metastore.ds.retry.interval</name> |
| <value>1000</value> |
| <description>The number of miliseconds between metastore retry |
| attempts</description> |
| </property> |
| |
| <property> |
| <name>hive.metastore.server.min.threads</name> |
| <value>200</value> |
| <description>Minimum number of worker threads in the Thrift server's |
| pool.</description> |
| </property> |
| |
| <property> |
| <name>hive.metastore.server.max.threads</name> |
| <value>100000</value> |
| <description>Maximum number of worker threads in the Thrift server's |
| pool.</description> |
| </property> |
| |
| <property> |
| <name>hive.metastore.server.tcp.keepalive</name> |
| <value>true</value> |
| <description>Whether to enable TCP keepalive for the metastore server. |
| Keepalive will prevent accumulation of half-open connections. |
| </description> |
| </property> |
| |
| <property> |
| <name>hive.optimize.reducededuplication</name> |
| <value>true</value> |
| <description>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.</description> |
| </property> |
| |
| <property> |
| <name>hive.exec.dynamic.partition</name> |
| <value>false</value> |
| <description>Whether or not to allow dynamic partitions in DML/DDL. |
| </description> |
| </property> |
| |
| <property> |
| <name>hive.exec.dynamic.partition.mode</name> |
| <value>strict</value> |
| <description>In strict mode, the user must specify at least one static |
| partition in case the user accidentally overwrites all partitions. |
| </description> |
| </property> |
| |
| <property> |
| <name>hive.exec.max.dynamic.partitions</name> |
| <value>1000</value> |
| <description>Maximum number of dynamic partitions allowed to be |
| created in total.</description> |
| </property> |
| |
| <property> |
| <name>hive.exec.max.dynamic.partitions.pernode</name> |
| <value>100</value> |
| <description>Maximum number of dynamic partitions allowed to be |
| created in each mapper/reducer node.</description> |
| </property> |
| |
| <property> |
| <name>hive.default.partition.name</name> |
| <value>__HIVE_DEFAULT_PARTITION__</value> |
| <description>The default partition name in case the dynamic partition |
| column value is null/empty string or anyother 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.</description> |
| </property> |
| |
| <property> |
| <name>fs.har.impl</name> |
| <value>org.apache.hadoop.hive.shims.HiveHarFileSystem</value> |
| <description>The implementation for accessing Hadoop Archives. Note |
| that this won't be applicable to Hadoop vers less than 0.20 |
| </description> |
| </property> |
| |
| <property> |
| <name>hive.archive.enabled</name> |
| <value>false</value> |
| <description>Whether archiving operations are permitted</description> |
| </property> |
| |
| <property> |
| <name>hive.archive.har.parentdir.settable</name> |
| <value>false</value> |
| <description>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 conf var needs to be set manually.</description> |
| </property> |
| |
| <!-- HBase Storage Handler Parameters --> |
| |
| <property> |
| <name>hive.hbase.wal.enabled</name> |
| <value>true</value> |
| <description>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.</description> |
| </property> |
| |
| </configuration> |