conf.metastore-site.xml.template Maven / Gradle / Ivy
The newest version!
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?><!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --><configuration> <!-- WARNING!!! This file is auto generated for documentation purposes ONLY! --> <!-- WARNING!!! Any changes you make to this file will be ignored by the metastore. --> <!-- WARNING!!! You must make your changes in metastore-site.xml instead. --> <!-- Metastore Execution Parameters --> <!--================================--> <!--All time unit values have a time unit abbreviation suffix--> <!--Any time value can take any of the units--> <!--d = day--> <!--h = hour--> <!--m = minute--> <!--s = second--> <!--ms = millisecond--> <!--us = microsecond--> <!--ns = nanosecond--> <!--================================--> <property> <name>metastore.acid.housekeeper.interval</name> <value>60s</value> <description>Time interval describing how often the acid housekeeper runs.</description> </property> <property> <name>metastore.compaction.housekeeper.interval</name> <value>300s</value> <description>Time interval describing how often the acid compaction housekeeper runs.</description> </property> <property> <name>metastore.acid.txn.cleaner.interval</name> <value>10s</value> <description>Time interval describing how often aborted and committed txns are cleaned.</description> </property> <property> <name>metastore.added.jars.path</name> <value/> <description>This an internal parameter.</description> </property> <property> <name>metastore.aggregate.stats.cache.clean.until</name> <value>0.8</value> <description>The cleaner thread cleans until cache reaches this % full size.</description> </property> <property> <name>metastore.aggregate.stats.cache.enabled</name> <value>false</value> <description>Whether aggregate stats caching is enabled or not.</description> </property> <property> <name>metastore.aggregate.stats.cache.fpp</name> <value>0.01</value> <description>Maximum false positive probability for the Bloom Filter used in each aggregate stats cache node (default 1%).</description> </property> <property> <name>metastore.aggregate.stats.cache.max.full</name> <value>0.9</value> <description>Maximum cache full % after which the cache cleaner thread kicks in.</description> </property> <property> <name>metastore.aggregate.stats.cache.max.partitions</name> <value>10000</value> <description>Maximum number of partitions that are aggregated per cache node.</description> </property> <property> <name>metastore.aggregate.stats.cache.max.reader.wait</name> <value>1000ms</value> <description>Number of milliseconds a reader will wait to acquire the readlock before giving up.</description> </property> <property> <name>metastore.aggregate.stats.cache.max.variance</name> <value>0.01</value> <description>Maximum tolerable variance in number of partitions between a cached node and our request (default 1%).</description> </property> <property> <name>metastore.aggregate.stats.cache.max.writer.wait</name> <value>5000ms</value> <description>Number of milliseconds a writer will wait to acquire the writelock before giving up.</description> </property> <property> <name>metastore.aggregate.stats.cache.size</name> <value>10000</value> <description>Maximum number of aggregate stats nodes that we will place in the metastore aggregate stats cache.</description> </property> <property> <name>metastore.aggregate.stats.cache.ttl</name> <value>600s</value> <description>Number of seconds for a cached node to be active in the cache before they become stale.</description> </property> <property> <name>metastore.warehouse.tenant.colocation</name> <value>false</value> <description> Allows managed and external tables for a tenant to have a common parent directory For example: /user/warehouse/user1/managed and /user/warehouse/user1/external This allows users to be able to set quotas on user1 directory. These locations have to be defined on the database object explicitly when creating the DB or via alter database. </description> </property> <property> <name>metastore.alter.handler</name> <value>org.apache.hadoop.hive.metastore.HiveAlterHandler</value> <description>Alter handler. For now defaults to the Hive one. Really need a better default option</description> </property> <property> <name>metastore.async.log.enabled</name> <value>true</value> <description> Whether to enable Log4j2's asynchronous logging. Asynchronous logging can give significant performance improvement as logging will be handled in separate thread that uses LMAX disruptor queue for buffering log messages. Refer https://logging.apache.org/log4j/2.x/manual/async.html for benefits and drawbacks. </description> </property> <property> <name>metastore.authorization.storage.checks</name> <value>false</value> <description> Should the metastore do authorization checks against the underlying storage (usually hdfs) 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). </description> </property> <property> <name>datanucleus.schema.autoCreateAll</name> <value>false</value> <description>Auto creates necessary schema on a startup if one doesn't exist. Set this to false, after creating it once.To enable auto create also set hive.metastore.schema.verification=false. Auto creation is not recommended for production use cases, run schematool command instead.</description> </property> <property> <name>metastore.batch.retrieve.max</name> <value>300</value> <description> 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. Batch value should be greater than 0 </description> </property> <property> <name>metastore.batch.retrieve.table.partition.max</name> <value>1000</value> <description>Maximum number of objects that metastore internally retrieves in one batch.</description> </property> <property> <name>metastore.cache.pinobjtypes</name> <value>Table,StorageDescriptor,SerDeInfo,Partition,Database,Type,FieldSchema,Order</value> <description>List of comma separated metastore object types that should be pinned in the cache</description> </property> <property> <name>metastore.cached.rawstore.impl</name> <value>org.apache.hadoop.hive.metastore.ObjectStore</value> <description>Name of the wrapped RawStore class</description> </property> <property> <name>metastore.cached.rawstore.cache.update.frequency</name> <value>60s</value> <description>The time after which metastore cache is updated from metastore DB.</description> </property> <property> <name>metastore.cached.rawstore.cached.object.whitelist</name> <value>.*</value> <description> Comma separated list of regular expressions to select the tables (and its partitions, stats etc) that will be cached by CachedStore. This can be used in conjunction with hive.metastore.cached.rawstore.cached.object.blacklist. Example: .*, db1.*, db2\.tbl.*. The last item can potentially override patterns specified before. </description> </property> <property> <name>metastore.cached.rawstore.cached.object.blacklist</name> <value/> <description> Comma separated list of regular expressions to filter out the tables (and its partitions, stats etc) that will be cached by CachedStore. This can be used in conjunction with hive.metastore.cached.rawstore.cached.object.whitelist. Example: db2.*, db3\.tbl1, db3\..*. The last item can potentially override patterns specified before. The blacklist also overrides the whitelist. </description> </property> <property> <name>metastore.cached.rawstore.max.cache.memory</name> <value>1Gb</value> <description>The maximum memory in bytes that the cached objects can use. Memory used is calculated based on estimated size of tables and partitions in the cache. Setting it to a negative value disables memory estimation.</description> </property> <property> <name>metastore.client.capability.check</name> <value>true</value> <description>Whether to check client capabilities for potentially breaking API usage.</description> </property> <property> <name>metastore.catalog.default</name> <value>hive</value> <description>The default catalog to use when a catalog is not specified. Default is 'hive' (the default catalog).</description> </property> <property> <name>metastore.cached.rawstore.catalogs</name> <value>hive</value> <description>Comma separated list of catalogs to cache in the CachedStore. Default is 'hive' (the default catalog). Empty string means all catalogs will be cached.</description> </property> <property> <name>metastore.client.connect.retry.delay</name> <value>1s</value> <description>Number of seconds for the client to wait between consecutive connection attempts</description> </property> <property> <name>metastore.client.kerberos.principal</name> <value/> <description>The Kerberos principal associated with the HA cluster of hcat_servers.</description> </property> <property> <name>metastore.client.socket.lifetime</name> <value>0s</value> <description> MetaStore Client socket lifetime in seconds. After this time is exceeded, client reconnects on the next MetaStore operation. A value of 0s means the connection has an infinite lifetime. </description> </property> <property> <name>metastore.client.socket.timeout</name> <value>600s</value> <description>MetaStore Client socket timeout in seconds</description> </property> <property> <name>metastore.client.connection.timeout</name> <value>600s</value> <description>MetaStore Client connection timeout in seconds</description> </property> <property> <name>metastore.compactor.history.retention.did.not.initiate</name> <value>2</value> <description>Determines how many compaction records in state 'did not initiate' will be retained in compaction history for a given table/partition.</description> </property> <property> <name>metastore.compactor.history.retention.failed</name> <value>3</value> <description>Determines how many failed compaction records will be retained in compaction history for a given table/partition.</description> </property> <property> <name>metastore.compactor.history.retention.succeeded</name> <value>3</value> <description>Determines how many successful compaction records will be retained in compaction history for a given table/partition.</description> </property> <property> <name>metastore.compactor.history.retention.refused</name> <value>3</value> <description>Determines how many refused compaction records will be retained in compaction history for a given table/partition.</description> </property> <property> <name>metastore.compactor.history.retention.timeout</name> <value>7d</value> <description>Determines how long failed, not initiated and refused compaction records will be retained in compaction history if there is a more recent succeeded compaction on the table/partition.</description> </property> <property> <name>metastore.compactor.initiator.failed.compacts.threshold</name> <value>2</value> <description>Number of consecutive compaction failures (per table/partition) after which automatic compactions will not be scheduled any more. Note that this must be less than hive.compactor.history.retention.failed.</description> </property> <property> <name>metastore.compactor.initiator.failed.retry.time</name> <value>7d</value> <description>Time after Initiator will ignore metastore.compactor.initiator.failed.compacts.threshold and retry with compaction again. This will try to auto heal tables with previous failed compaction without manual intervention. Setting it to 0 or negative value will disable this feature.</description> </property> <property> <name>metastore.compactor.run.as.user</name> <value/> <description>Specify the user to run compactor Initiator and Worker as. If empty string, defaults to table/partition directory owner.</description> </property> <property> <name>metastore.compactor.use.custom.pool</name> <value>false</value> <description>internal usage only -- use custom connection pool specific to compactor components.</description> </property> <property> <name>metastore.compactor.worker.pool.timeout</name> <value>12h</value> <description>Time in hours after which a compaction assigned to a custom compaction Worker pool can be picked up by the default compaction Worker pool.</description> </property> <property> <name>metastore.compactor.oldest.replication.open.txn.threshold.warning</name> <value>14d</value> <description>Age of open replication transaction after which a warning will be logged. Default time unit: days</description> </property> <property> <name>metastore.compactor.oldest.replication.open.txn.threshold.error</name> <value>21d</value> <description>Age of open replication transaction after which an error will be logged. Default time unit: days</description> </property> <property> <name>metastore.compactor.oldest.open.txn.threshold.warning</name> <value>24h</value> <description>Age of oldest open non-replication transaction after which a warning will be logged. Default time unit: hours</description> </property> <property> <name>metastore.compactor.oldest.open.txn.threshold.error</name> <value>72h</value> <description>Age of oldest open non-replication transaction after which an error will be logged. Default time unit: hours</description> </property> <property> <name>metastore.compactor.oldest.uncleaned.aborted.txn.time.threshold.warning</name> <value>24h</value> <description>Age of oldest aborted transaction after which a warning will be logged. Default time unit: hours</description> </property> <property> <name>metastore.compactor.oldest.uncleaned.aborted.txn.time.threshold.error</name> <value>48h</value> <description>Age of oldest aborted transaction after which an error will be logged. Default time unit: hours</description> </property> <property> <name>metastore.compactor.tables.with.aborted.txn.threshold</name> <value>1</value> <description>Number of tables has not been compacted and have more than hive.metastore.acidmetrics.table.aborted.txns.threshold (default 1500) aborted transactions. If this threshold is passed, a warning will be logged.</description> </property> <property> <name>metastore.compactor.oldest.uncleaned.compaction.time.threshold</name> <value>24h</value> <description>Age of oldest ready for cleaning compaction in the compaction queue. If this threshold is passed, a warning will be logged. Default time unit is: hours</description> </property> <property> <name>metastore.compactor.failed.compaction.ratio.threshold</name> <value>0.01</value> <description>Ratio between the number of failed compactions + not initiated compactions and number of failed compactions + not initiated compactions + succeeded compactions. If this threshold is passed, a warning will be logged.</description> </property> <property> <name>metastore.compactor.oldest.initiated.compaction.time.threshold.warning</name> <value>1h</value> <description>Age of oldest initiated compaction in the compaction queue after which a warning will be logged. Default time unit is: hours</description> </property> <property> <name>metastore.compactor.oldest.initiated.compaction.time.threshold.error</name> <value>12h</value> <description>Age of oldest initiated compaction in the compaction queue after which an error will be logged. Default time unit is: hours</description> </property> <property> <name>metastore.compactor.long.running.initiator.threshold.warning</name> <value>6h</value> <description>Initiator cycle duration after which a warning will be logged. Default time unit is: hours</description> </property> <property> <name>metastore.compactor.long.running.initiator.threshold.error</name> <value>12h</value> <description>Initiator cycle duration after which an error will be logged. Default time unit is: hours</description> </property> <property> <name>metastore.compactor.completed.txn.components.record.threshold.warning</name> <value>500000</value> <description>Number of records in COMPLETED_TXN_COMPONENTS table, after which a warning will be logged.</description> </property> <property> <name>metastore.compactor.completed.txn.components.record.threshold.error</name> <value>1000000</value> <description>Number of records in COMPLETED_TXN_COMPONENTS table, after which an error will be logged.</description> </property> <property> <name>metastore.compactor.txn.to.writeid.record.threshold.warning</name> <value>500000</value> <description>Number of records in TXN_TO_WRITEID table, after which a warning will be logged.</description> </property> <property> <name>metastore.compactor.txn.to.writeid.record.threshold.error</name> <value>1000000</value> <description>Number of records in TXN_TO_WRITEID table, after which an error will be logged.</description> </property> <property> <name>metastore.compactor.number.of.disabled.compaction.tables.threshold</name> <value>1</value> <description>If the number of writes to tables where auto-compaction is disabled reaches this threshold, a warning will be logged after every subsequent write to any table where auto-compaction is disabled.</description> </property> <property> <name>metastore.compactor.acid.metrics.logger.frequency</name> <value>360m</value> <description>Logging frequency of ACID related metrics. Set this value to 0 to completely turn off logging. Default time unit: minutes</description> </property> <property> <name>metastore.compactor.fetch.size</name> <value>1000</value> <description>Limits the number of items fetched during cleaning, abort and finding potential compactions. Allowed values between 100 and 5000</description> </property> <property> <name>metastore.housekeeping.leader.hostname</name> <value/> <description>If there are multiple Thrift metastore services running, the hostname of Thrift metastore service to run housekeeping tasks at. By default this values is empty, which means that the current metastore will run the housekeeping tasks. If configurationmetastore.thrift.bind.host is set on the intended leader metastore, this value should match that configuration. Otherwise it should be same as the hostname returned by InetAddress#getLocalHost#getCanonicalHostName(). Given the uncertainty in the later it is desirable to configure metastore.thrift.bind.host on the intended leader HMS.</description> </property> <property> <name>metastore.housekeeping.leader.election</name> <value>host</value> <description> Set to host, HMS will choose the leader by the configured metastore.housekeeping.leader.hostname. Set to lock, HMS will use the Hive lock to elect the leader. </description> </property> <property> <name>metastore.housekeeping.leader.auditTable</name> <value/> <description>Audit the leader election event to a plain json table when configured.</description> </property> <property> <name>metastore.housekeeping.leader.newAuditFile</name> <value>false</value> <description> Whether to create a new audit file in response to the new election event when the metastore.housekeeping.leader.auditTable is not empty. True for creating a new file, false otherwise. </description> </property> <property> <name>metastore.housekeeping.leader.auditFiles.limit</name> <value>10</value> <description> Limit the number of small audit files when metastore.housekeeping.leader.newAuditFile is true. If the number of audit files exceeds the limit, then the oldest will be deleted. </description> </property> <property> <name>metastore.housekeeping.leader.lock.namespace</name> <value/> <description>The database where the Hive lock sits when metastore.housekeeping.leader.election is set to lock.</description> </property> <property> <name>metastore.housekeeping.threads.on</name> <value>false</value> <description> Whether to run the tasks under metastore.task.threads.remote on this metastore instance or not. Set this to true on one instance of the Thrift metastore service as part of turning on Hive transactions. For a complete list of parameters required for turning on transactions, see hive.txn.manager. </description> </property> <property> <name>metastore.acidmetrics.thread.on</name> <value>true</value> <description>Whether to run acid related metrics collection on this metastore instance.</description> </property> <property> <name>metastore.acidmetrics.check.interval</name> <value>300s</value> <description>Time in seconds between acid related metric collection runs.</description> </property> <property> <name>metastore.acidmetrics.ext.on</name> <value>true</value> <description>Whether to collect additional acid related metrics outside of the acid metrics service. (metastore.metrics.enabled and/or hive.server2.metrics.enabled are also required to be set to true.)</description> </property> <property> <name>metastore.acidmetrics.table.aborted.txns.threshold</name> <value>1500</value> <description>The acid metrics system will collect the number of tables which have a large number of aborted transactions.This parameter controls the minimum number of aborted transaction required so that a table will be counted.</description> </property> <property> <name>metastore.deltametrics.max.cache.size</name> <value>100</value> <description>Size of the ACID metrics cache, i.e. max number of partitions and unpartitioned tables with the most deltas that will be included in the lists of active, obsolete and small deltas. Allowed range is 0 to 500.</description> </property> <property> <name>metastore.deltametrics.delta.num.threshold</name> <value>100</value> <description>The minimum number of active delta files a table/partition must have in order to be included in the ACID metrics report.</description> </property> <property> <name>metastore.deltametrics.obsolete.delta.num.threshold</name> <value>100</value> <description>The minimum number of obsolete delta files a table/partition must have in order to be included in the ACID metrics report.</description> </property> <property> <name>metastore.deltametrics.delta.pct.threshold</name> <value>0.009999999776482582</value> <description>Percentage (fractional) size of the delta files relative to the base directory. Deltas smaller than this threshold count as small deltas. Default 0.01 = 1%.)</description> </property> <property> <name>metastore.compactor.initiator.on</name> <value>false</value> <description> Whether to run the initiator thread on this metastore instance or not. Set this to true on one instance of the Thrift metastore service as part of turning on Hive transactions. For a complete list of parameters required for turning on transactions, see hive.txn.manager. </description> </property> <property> <name>metastore.compactor.cleaner.on</name> <value>false</value> <description> Whether to run the cleaner thread on this metastore instance or not. Set this to true on one instance of the Thrift metastore service as part of turning on Hive transactions. For a complete list of parameters required for turning on transactions, see hive.txn.manager. </description> </property> <property> <name>metastore.compactor.initiator.tablecache.on</name> <value>true</value> <description>Enable table caching in the initiator. Currently the cache is cleaned after each cycle.</description> </property> <property> <name>metastore.compactor.worker.threads</name> <value>0</value> <description> How many compactor worker threads to run on this metastore instance. Set this to a positive number on one or more instances of the Thrift metastore service as part of turning on Hive transactions. For a complete list of parameters required for turning on transactions, see hive.txn.manager. Worker threads spawn MapReduce jobs to do compactions. They do not do the compactions themselves. Increasing the number of worker threads will decrease the time it takes tables or partitions to be compacted once they are determined to need compaction. It will also increase the background load on the Hadoop cluster as more MapReduce jobs will be running in the background. </description> </property> <property> <name>metastore.compactor.worker.detect.multiple.versions.threshold</name> <value>24h</value> <description> Defines a time-window in hours from the current time backwards ,in which a warning is being raised if multiple worker version are detected. The setting has no effect if the metastore.compactor.acid.metrics.logger.frequency is 0. </description> </property> <property> <name>metastore.compactor.enable.stats.compression</name> <value>true</value> <description>Can be used to disable compression and ORC indexes for files produced by minor compaction.</description> </property> <property> <name>hive.compactor.cleaner.retry.maxattempts</name> <value>5</value> <description>Maximum number of attempts to clean a table again after a failed cycle. Must be between 0 and 10,where 0 means the feature is turned off, the cleaner wont't retry after a failed cycle.</description> </property> <property> <name>hive.compactor.cleaner.retry.retention.time</name> <value>300s</value> <description>Initial value of the cleaner retry retention time. The delay has a backoff, and calculated the following way: pow(2, number_of_failed_attempts) * HIVE_COMPACTOR_CLEANER_RETRY_RETENTION_TIME.</description> </property> <property> <name>metastore.compactor.cleaner.tablecache.on</name> <value>true</value> <description>Enable table caching in the cleaner. Currently the cache is cleaned after each cycle.</description> </property> <property> <name>metastore.compactor.clean.aborts.using.cleaner</name> <value>true</value> <description> Whether to use cleaner for cleaning aborted directories or not. Set to true when cleaner is expected to clean delta/delete-delta directories from aborted transactions. Otherwise the cleanup of such directories will take place within the compaction cycle. </description> </property> <property> <name>metastore.compactor.connectionPool.maxPoolSize</name> <value>5</value> <description>Specify the maximum number of connections in the connection pool used by the compactor.</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>datanucleus.connectionPool.maxPoolSize</name> <value>10</value> <description> Specify the maximum number of connections in the connection pool. Note: The configured size will be used by 2 connection pools (TxnHandler and ObjectStore). When configuring the max connection pool size, it is recommended to take into account the number of metastore instances and the number of HiveServer2 instances configured with embedded metastore. To get optimal performance, set config to meet the following condition (2 * pool_size * metastore_instances + 2 * pool_size * HS2_instances_with_embedded_metastore) = (2 * physical_core_count + hard_disk_count). </description> </property> <property> <name>metastore.ds.connection.url.hook</name> <value/> <description>Name of the hook to use for retrieving the JDO connection URL. If empty, the value in javax.jdo.option.ConnectionURL is used</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. To use SSL to encrypt/authenticate the connection, provide database-specific SSL flag in the connection URL. For example, jdbc:postgresql://myhost/db?ssl=true for postgres database. </description> </property> <property> <name>datanucleus.connectionPoolingType</name> <value>HikariCP</value> <description>Specify connection pool library for datanucleus</description> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>APP</value> <description>Username to use against metastore database</description> </property> <property> <name>metastore.create.as.acid</name> <value>false</value> <description> Whether the eligible tables should be created as full ACID by default. Does not apply to external tables, the ones using storage handlers, etc. </description> </property> <property> <name>metastore.count.open.txns.interval</name> <value>1s</value> <description>Time in seconds between checks to count open transactions.</description> </property> <property> <name>datanucleus.autoStartMechanismMode</name> <value>ignored</value> <description>Autostart mechanism for datanucleus. Currently ignored is the only option supported.</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>none</value> <description/> </property> <property> <name>datanucleus.rdbms.initializeColumnInfo</name> <value>NONE</value> <description>initializeColumnInfo setting for DataNucleus; set to NONE at least on Postgres.</description> </property> <property> <name>datanucleus.plugin.pluginRegistryBundleCheck</name> <value>LOG</value> <description>Defines what happens when plugin bundles are found and are duplicated [EXCEPTION|LOG|NONE]</description> </property> <property> <name>datanucleus.transactionIsolation</name> <value>read-committed</value> <description>Default transaction isolation level for identity generation.</description> </property> <property> <name>datanucleus.rdbms.useLegacyNativeValueStrategy</name> <value>true</value> <description/> </property> <property> <name>datanucleus.query.sql.allowAll</name> <value>true</value> <description>In strict JDO all SQL queries must begin with "SELECT ...", and consequently it is not possible to execute queries that change data. This DataNucleus property when set to true allows insert, update and delete operations from JDO SQL. Default value is true.</description> </property> <property> <name>metastore.dbaccess.ssl.truststore.password</name> <value/> <description> Password for the Java truststore file that is used when encrypting the connection to the database store. metastore.dbaccess.ssl.use.SSL must be set to true for this property to take effect. This directly maps to the javax.net.ssl.trustStorePassword Java system property. Defaults to jssecacerts, if it exists, otherwise uses cacerts. It is recommended to specify the password using a credential provider so as to not expose it to discovery by other users. One way to do this is by using the Hadoop CredentialProvider API and provisioning credentials for this property. Refer to the Hadoop CredentialProvider API Guide for more details. </description> </property> <property> <name>metastore.dbaccess.ssl.truststore.path</name> <value/> <description> Location on disk of the Java truststore file to use when encrypting the connection to the database store. This file consists of a collection of certificates trusted by the metastore server. metastore.dbaccess.ssl.use.SSL must be set to true for this property to take effect. This directly maps to the javax.net.ssl.trustStore Java system property. Defaults to the default Java truststore file. </description> </property> <property> <name>metastore.dbaccess.ssl.truststore.type</name> <value>jks</value> <description> File type for the Java truststore file that is used when encrypting the connection to the database store. metastore.dbaccess.ssl.use.SSL must be set to true for this property to take effect. This directly maps to the javax.net.ssl.trustStoreType Java system property. Types jceks, jks, dks, pkcs11, and pkcs12 can be read from Java 8 and beyond. Defaults to jks. </description> </property> <property> <name>metastore.dbaccess.ssl.use.SSL</name> <value>false</value> <description>Set this to true to use SSL encryption to the database store.</description> </property> <property> <name>metastore.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 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. </description> </property> <property> <name>metastore.cluster.delegation.key.update-interval</name> <value>1d</value> <description/> </property> <property> <name>metastore.cluster.delegation.token.gc-interval</name> <value>15m</value> <description/> </property> <property> <name>metastore.cluster.delegation.token.max-lifetime</name> <value>7d</value> <description/> </property> <property> <name>metastore.cluster.delegation.token.renew-interval</name> <value>1d</value> <description/> </property> <property> <name>metastore.cluster.delegation.token.store.class</name> <value>org.apache.hadoop.hive.metastore.security.MetastoreDelegationTokenManager</value> <description>Class to store delegation tokens</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>metastore.direct.sql.max.elements.in.clause</name> <value>1000</value> <description> The maximum number of values in a IN clause. Once exceeded, it will be broken into multiple OR separated IN clauses. </description> </property> <property> <name>metastore.direct.sql.max.elements.values.clause</name> <value>1000</value> <description>The maximum number of values in a VALUES clause for INSERT statement.</description> </property> <property> <name>metastore.direct.sql.max.parameters</name> <value>1000</value> <description> The maximum query parameters backend sql engine can support. </description> </property> <property> <name>metastore.direct.sql.max.query.length</name> <value>100</value> <description> The maximum size of a query string (in KB). </description> </property> <property> <name>metastore.direct.sql.batch.size</name> <value>0</value> <description> Batch size for partition and other object retrieval from the underlying DB in direct SQL. For some DBs like Oracle and MSSQL, there are hardcoded or perf-based limitations that necessitate this. For DBs that can handle the queries, this isn't necessary and may impede performance. -1 means no batching, 0 means automatic batching. </description> </property> <property> <name>metastore.disallow.incompatible.col.type.changes</name> <value>true</value> <description> If true, ALTER TABLE operations which change the type of a column (say STRING) to an incompatible type (say MAP) are disallowed. RCFile default SerDe (ColumnarSerDe) serializes the values in such a way that the datatypes can be converted from string to any type. The map is also serialized as a string, which can be read as a string as well. However, with any binary serialization, this is not true. Blocking the ALTER TABLE prevents ClassCastExceptions when subsequently trying to access old partitions. Primitive types like INT, STRING, BIGINT, etc., are compatible with each other and are not blocked. See HIVE-4409 for more details. </description> </property> <property> <name>metastore.allow.incompatible.col.type.changes.serdes</name> <value>org.apache.hadoop.hive.kudu.KuduSerDe,org.apache.iceberg.mr.hive.HiveIcebergSerDe</value> <description> Comma-separated list of table serdes which are allowed to make incompatible column type changes. This configuration is only applicable if metastore.disallow.incompatible.col.type.changes is true. </description> </property> <property> <name>metastore.dump.config.on.creation</name> <value>true</value> <description>If true, a printout of the config file (minus sensitive values) will be dumped to the log whenever newMetastoreConf() is called. Can produce a lot of logs</description> </property> <property> <name>metastore.end.function.listeners</name> <value/> <description>List of comma separated listeners for the end of metastore functions.</description> </property> <property> <name>metastore.event.clean.freq</name> <value>0s</value> <description>Frequency at which timer task runs to purge expired events in metastore.</description> </property> <property> <name>metastore.event.expiry.duration</name> <value>0s</value> <description>Duration after which events expire from events table</description> </property> <property> <name>metastore.event.listeners</name> <value/> <description>A comma separated list of Java classes that implement the org.apache.riven.MetaStoreEventListener interface. The metastore event and corresponding listener method will be invoked in separate JDO transactions. Alternatively, configure hive.metastore.transactional.event.listeners to ensure both are invoked in same JDO transaction.</description> </property> <property> <name>metastore.event.message.factory</name> <value>org.apache.hadoop.hive.metastore.messaging.json.gzip.GzipJSONMessageEncoder</value> <description>Factory class for making encoding and decoding messages in the events generated.</description> </property> <property> <name>metastore.repl.message.factory</name> <value>org.apache.hadoop.hive.metastore.messaging.json.gzip.GzipJSONMessageEncoder</value> <description>Factory class to serialize and deserialize information in replication metrics table.</description> </property> <property> <name>metastore.notification.parameters.exclude.patterns</name> <value/> <description>List of comma-separated regexes that are used to reduced the size of HMS Notification messages. The regexes are matched against each key of parameters map in Table or Partition objectpresent in HMS Notification. Any key-value pair whose key is matched with any regex will be removed from Parameters map during Serialization of Table/Partition object.</description> </property> <property> <name>metastore.event.db.listener.timetolive</name> <value>1d</value> <description> time after which events will be removed from the database listener queue when repl.cm.enabled is set to false. When set to true, the conf repl.event.db.listener.timetolive is used instead. </description> </property> <property> <name>metastore.event.db.clean.maxevents</name> <value>10000</value> <description>Limit on number events to be cleaned at a time in metastore cleanNotificationEvents call, to avoid OOM. The configuration is not effective when set to zero or a negative value.</description> </property> <property> <name>metastore.event.db.listener.clean.interval</name> <value>7200s</value> <description>sleep interval between each run for cleanup of events from the database listener queue</description> </property> <property> <name>metastore.event.db.listener.clean.startup.wait.interval</name> <value>1d</value> <description>Wait interval post start of metastore after which the cleaner thread starts to work</description> </property> <property> <name>metastore.metastore.event.db.notification.api.auth</name> <value>true</value> <description> Should metastore do authorization against database notification related APIs such as get_next_notification. If set to true, then only the superusers in proxy settings have the permission </description> </property> <property> <name>metastore.execute.setugi</name> <value>true</value> <description> In unsecure mode, setting this property to 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 its best effort. If client sets its to true and server sets it to false, client setting will be ignored. </description> </property> <property> <name>metastore.expression.proxy</name> <value>org.apache.hadoop.hive.ql.optimizer.ppr.PartitionExpressionForMetastore</value> <description>Class to use to process expressions in partition pruning.</description> </property> <property> <name>metastore.decode.filter.expression.tostring</name> <value>false</value> <description> If set to true convertExprToFilter method of PartitionExpressionForMetastore will decode byte array into string rather than ExprNode. This is specially required for msck command when used with filter conditions </description> </property> <property> <name>metastore.file.metadata.threads</name> <value>1</value> <description>Number of threads to use to read file metadata in background to cache it.</description> </property> <property> <name>metastore.filter.hook</name> <value>org.apache.hadoop.hive.metastore.DefaultMetaStoreFilterHookImpl</value> <description>Metastore hook class for filtering the metadata read results. If hive.security.authorization.manageris set to instance of HiveAuthorizerFactory, then this value is ignored.</description> </property> <property> <name>metastore.fs.handler.class</name> <value>org.apache.hadoop.hive.metastore.HiveMetaStoreFsImpl</value> <description/> </property> <property> <name>metastore.fshandler.threads</name> <value>15</value> <description>Number of threads to be allocated for metastore handler for fs operations.</description> </property> <property> <name>metastore.hmshandler.retry.attempts</name> <value>10</value> <description>The number of times to retry a HMSHandler call if there were a connection error.</description> </property> <property> <name>metastore.hmshandler.force.reload.conf</name> <value>false</value> <description> Whether to force reloading of the HMSHandler configuration (including the connection URL, before the next metastore query that accesses the datastore. Once reloaded, this value is reset to false. Used for testing only. </description> </property> <property> <name>metastore.hmshandler.retry.interval</name> <value>2000ms</value> <description>The time between HMSHandler retry attempts on failure.</description> </property> <property> <name>metastore.hmshandler.proxy</name> <value>org.apache.hadoop.hive.metastore.RetryingHMSHandler</value> <description>The proxy class name of HMSHandler, default is RetryingHMSHandler.</description> </property> <property> <name>datanucleus.identifierFactory</name> <value>datanucleus1</value> <description> Name of the identifier factory to use when generating table/column names etc. 'datanucleus1' is used for backward compatibility with DataNucleus v1 </description> </property> <property> <name>metastore.init.hooks</name> <value/> <description> A comma separated list of hooks to be invoked at the beginning of HMSHandler initialization. An init hook is specified as the name of Java class which extends org.apache.riven.MetaStoreInitListener. </description> </property> <property> <name>metastore.integral.jdo.pushdown</name> <value>false</value> <description> Allow JDO query pushdown for integral partition columns in metastore. Off by default. This improves metastore perf 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 (e.g. have leading zeroes, like 0012). If metastore direct SQL is enabled and works, this optimization is also irrelevant. </description> </property> <property> <name>metastore.jdbc.max.batch.size</name> <value>1000</value> <description>Maximum number of update/delete/insert queries in a single JDBC batch statement (including Statement/PreparedStatement).</description> </property> <property> <name>metastore.kerberos.keytab.file</name> <value/> <description>The path to the Kerberos Keytab file containing the metastore Thrift server's service principal.</description> </property> <property> <name>metastore.kerberos.principal</name> <value>hive-metastore/[email protected]</value> <description> The service principal for the metastore Thrift server. The special string _HOST will be replaced automatically with the correct host name. </description> </property> <property> <name>metastore.authentication</name> <value>NOSASL</value> <description> Client authentication types. NONE: no authentication check LDAP: LDAP/AD based authentication KERBEROS: Kerberos/GSSAPI authentication CUSTOM: Custom authentication provider (Use with property metastore.custom.authentication.class) CONFIG: username and password is specified in the config NOSASL: Raw transport JWT: JSON Web Token authentication via JWT token. Only supported in Http/Https mode </description> </property> <property> <name>metastore.authentication.jwt.jwks.url</name> <value/> <description>File URL from where URLBasedJWKSProvider in metastore server will try to load JWKS to match a JWT sent in HTTP request header. Used only when Hive metastore server is running in JWT auth mode</description> </property> <property> <name>metastore.custom.authentication.class</name> <value/> <description> Custom authentication class. Used when property 'metastore.authentication' is set to 'CUSTOM'. Provided class must be a proper implementation of the interface org.apache.hadoop.hive.metastore.MetaStorePasswdAuthenticationProvider. MetaStore will call its Authenticate(user, passed) method to authenticate requests. The implementation may optionally implement Hadoop's org.apache.hadoop.conf.Configurable class to grab MetaStore's Configuration object. </description> </property> <property> <name>metastore.authentication.ldap.url</name> <value/> <description> LDAP connection URL(s), this value could contain URLs to multiple LDAP servers instances for HA, each LDAP URL is separated by a SPACE character. URLs are used in the order specified until a connection is successful. </description> </property> <property> <name>metastore.authentication.ldap.baseDN</name> <value/> <description>LDAP base DN</description> </property> <property> <name>metastore.authentication.ldap.Domain</name> <value/> <description/> </property> <property> <name>metastore.authentication.ldap.groupDNPattern</name> <value/> <description> COLON-separated list of patterns to use to find DNs for group entities in this directory. Use %s where the actual group name is to be substituted for. For example: CN=%s,CN=Groups,DC=subdomain,DC=domain,DC=com. </description> </property> <property> <name>metastore.authentication.ldap.groupFilter</name> <value/> <description> COMMA-separated list of LDAP Group names (short name not full DNs). For example: HiveAdmins,HadoopAdmins,Administrators </description> </property> <property> <name>metastore.authentication.ldap.userDNPattern</name> <value/> <description> COLON-separated list of patterns to use to find DNs for users in this directory. Use %s where the actual group name is to be substituted for. For example: CN=%s,CN=Users,DC=subdomain,DC=domain,DC=com. </description> </property> <property> <name>metastore.authentication.ldap.userFilter</name> <value/> <description> COMMA-separated list of LDAP usernames (just short names, not full DNs). For example: hiveuser,impalauser,hiveadmin,hadoopadmin </description> </property> <property> <name>metastore.authentication.ldap.guidKey</name> <value>uid</value> <description> LDAP attribute name whose values are unique in this LDAP server. For example: uid or CN. </description> </property> <property> <name>metastore.authentication.ldap.groupMembershipKey</name> <value>member</value> <description> LDAP attribute name on the group object that contains the list of distinguished names for the user, group, and contact objects that are members of the group. For example: member, uniqueMember or memberUid </description> </property> <property> <name>metastore.authentication.ldap.userMembershipKey</name> <value/> <description> LDAP attribute name on the user object that contains groups of which the user is a direct member, except for the primary group, which is represented by the primaryGroupId. For example: memberOf </description> </property> <property> <name>metastore.authentication.ldap.groupClassKey</name> <value>groupOfNames</value> <description> LDAP attribute name on the group entry that is to be used in LDAP group searches. For example: group, groupOfNames or groupOfUniqueNames. </description> </property> <property> <name>metastore.authentication.ldap.customLDAPQuery</name> <value/> <description> A full LDAP query that LDAP Atn provider uses to execute against LDAP Server. If this query returns a null resultset, the LDAP Provider fails the Authentication request, succeeds if the user is part of the resultset.For example: (&(objectClass=group)(objectClass=top)(instanceType=4)(cn=Domain*)) (&(objectClass=person)(|(sAMAccountName=admin)(|(memberOf=CN=Domain Admins,CN=Users,DC=domain,DC=com)(memberOf=CN=Administrators,CN=Builtin,DC=domain,DC=com)))) </description> </property> <property> <name>metastore.authentication.ldap.userSearchFilter</name> <value/> <description> User search filter to be used with baseDN to search for users For example: (&(uid={0})(objectClass=person)) </description> </property> <property> <name>metastore.authentication.ldap.groupBaseDN</name> <value/> <description> BaseDN for Group Search. This is used in conjunction with metastore.authentication.ldap.baseDN and request, succeeds if the group is part of the resultset. </description> </property> <property> <name>metastore.authentication.ldap.groupSearchFilter</name> <value/> <description> Group search filter to be used with baseDN, userSearchFilter, groupBaseDN to search for users in groups For example: (&(|(memberUid={0})(memberUid={1}))(objectClass=posixGroup)) </description> </property> <property> <name>metastore.authentication.ldap.binddn</name> <value/> <description> The user with which to bind to the LDAP server, and search for the full domain name of the user being authenticated. This should be the full domain name of the user, and should have search access across all users in the LDAP tree. If not specified, then the user being authenticated will be used as the bind user. For example: CN=bindUser,CN=Users,DC=subdomain,DC=domain,DC=com </description> </property> <property> <name>metastore.authentication.ldap.bindpw</name> <value/> <description> The password for the bind user, to be used to search for the full name of the user being authenticated. If the username is specified, this parameter must also be specified. </description> </property> <property> <name>metastore.limit.partition.request</name> <value>-1</value> <description> This limits the number of partitions (whole partition objects) that can be requested from the metastore for a give table. MetaStore API methods using this are: get_partitions, get_partitions_by_names, get_partitions_with_auth, get_partitions_by_filter, get_partitions_spec_by_expr, get_partitions_by_expr, get_partitions_ps, get_partitions_ps_with_auth. The default value "-1" means no limit. </description> </property> <property> <name>metastore.client.cache.v2.enabled</name> <value>true</value> <description>This property enables a Caffeine Cache for Metastore client</description> </property> <property> <name>metastore.client.cache.v2.maxSize</name> <value>1Gb</value> <description>Set the maximum size (number of bytes) of the metastore client cache (DEFAULT: 1GB). Only in effect when the cache is enabled</description> </property> <property> <name>metastore.client.cache.v2.recordStats</name> <value>false</value> <description>This property enables recording metastore client cache stats in DEBUG logs</description> </property> <property> <name>metastore.log4j.file</name> <value/> <description> Hive log4j configuration file. If the property is not set, then logging will be initialized using metastore-log4j2.properties found on the classpath. If the property is set, the value must be a valid URI (java.net.URI, e.g. "file:///tmp/my-logging.xml"), which you can then extract a URL from and pass to PropertyConfigurator.configure(URL). </description> </property> <property> <name>javax.jdo.PersistenceManagerFactoryClass</name> <value>org.datanucleus.api.jdo.JDOPersistenceManagerFactory</value> <description>class implementing the jdo persistence</description> </property> <property> <name>metastore.materializations.invalidation.impl</name> <value>DEFAULT</value> <description> The implementation that we should use for the materializations invalidation cache. DEFAULT: Default implementation for invalidation cache DISABLE: Disable invalidation cache (debugging purposes) </description> </property> <property> <name>metastore.materializations.invalidation.clean.frequency</name> <value>3600s</value> <description>Frequency at which timer task runs to remove unnecessary transaction entries frommaterializations invalidation cache.</description> </property> <property> <name>metastore.materializations.invalidation.max.duration</name> <value>86400s</value> <description>Maximum duration for query producing a materialization. After this time, transactionentries that are not relevant for materializations can be removed from invalidation cache.</description> </property> <property> <name>metastore.runtime.stats.clean.frequency</name> <value>3600s</value> <description>Frequency at which timer task runs to remove outdated runtime stat entries.</description> </property> <property> <name>metastore.runtime.stats.max.age</name> <value>259200s</value> <description>Stat entries which are older than this are removed.</description> </property> <property> <name>metastore.scheduled.queries.enabled</name> <value>true</value> <description>Wheter scheduled query metastore requests be processed</description> </property> <property> <name>metastore.scheduled.queries.execution.timeout</name> <value>120s</value> <description>If a scheduled query is not making progress for this amount of time it will be considered TIMED_OUT</description> </property> <property> <name>metastore.scheduled.queries.execution.maint.task.frequency</name> <value>60s</value> <description>Interval of scheduled query maintenance task. Which removes executions above max age;and marks executions as timed out if the condition is met</description> </property> <property> <name>metastore.scheduled.queries.execution.max.age</name> <value>2592000s</value> <description>Maximal age of a scheduled query execution entry before it is removed.</description> </property> <property> <name>metastore.scheduled.queries.autodisable.count</name> <value>0</value> <description>Scheduled queries will be automatically disabled after this number of consecutive failures.Setting it to a non-positive number disables the feature.</description> </property> <property> <name>metastore.scheduled.queries.skip.opportunities.after.failures</name> <value>0</value> <description> Causes to skip schedule opportunities after consequitive failures; taking into account the last N executions. For a scheduled query which have failed its last f execution; it's next schedule will be set to skip f-1 schedule opportunitites.Suppose that a scheduled query is scheduled to run every minute. Consider this setting to be set to 3 - which means it will only look at the last 3 executions.In case the query failed at 1:00 then it will skip 0 opportunities; and the next execution will be scheduled to 1:01 If that execution also fails it will skip 1 opportunities; next execution will happen at 1:03 In case that execution fails as well it will skip 2 opportunities; so next execution will be 1:06.If the query fails it will skip 2 opportunities again ; because it only cares with the last 3 executions based on the set value. </description> </property> <property> <name>metastore.metadata.export.location</name> <value/> <description> When used in conjunction with the org.apache.hadoop.hive.ql.parse.MetaDataExportListener pre event listener, it is the location to which the metadata will be exported. The default is an empty string, which results in the metadata being exported to the current user's home directory on HDFS. </description> </property> <property> <name>metastore.max.event.response</name> <value>1000000</value> <description>The parameter will decide the maximum number of events that HMS will respond.</description> </property> <property> <name>metastore.client.skip.columns.for.partitions</name> <value>false</value> <description> Config to disable field schema for partitions. Currently all the partitions in a table carries the field schema that is same as that of table schema. For a table with wider partitions fetching duplicated field schema in every partition increases memory footprint and thrift communication timeout errors. Set this config to 'true' to ignore column schema in partitions. </description> </property> <property> <name>metastore.partitions.parameters.exclude.pattern</name> <value/> <description> SQL pattern used to exclude the matched parameters for get-partitions APIs. Any key-value pair from parameters whose key matches with the pattern will be excluded from the partitions. This property doesn't work for the temporary table. </description> </property> <property> <name>metastore.partitions.parameters.include.pattern</name> <value/> <description> SQL pattern used to select the matched parameters for get-partitions APIs. Any key-value pair from parameters whose key matches with the pattern will be included in the partitions. This property doesn't work for the temporary table. </description> </property> <property> <name>metastore.client.filter.enabled</name> <value>true</value> <description>Enable filtering the metadata read results at HMS client. Default is true.</description> </property> <property> <name>metastore.server.filter.enabled</name> <value>false</value> <description>Enable filtering the metadata read results at HMS server. Default is false.</description> </property> <property> <name>metastore.metadata.move.exported.metadata.to.trash</name> <value>true</value> <description> When used in conjunction with the org.apache.hadoop.hive.ql.parse.MetaDataExportListener pre event listener, this setting determines if the metadata that is exported will subsequently be moved to the user's trash directory alongside the dropped table data. This ensures that the metadata will be cleaned up along with the dropped table data. </description> </property> <property> <name>metastore.metrics.enabled</name> <value>false</value> <description>Enable metrics on the metastore.</description> </property> <property> <name>metastore.metrics.class</name> <value>org.apache.hadoop.hive.common.metrics.metrics2.CodahaleMetrics</value> <description>Hive metrics subsystem implementation class.</description> </property> <property> <name>metastore.metrics.hadoop2.component</name> <value>hivemetastore</value> <description>Component name to provide to Hadoop2 Metrics system.</description> </property> <property> <name>metastore.metrics.hadoop2.component</name> <value>30s</value> <description>For metric class org.apache.hadoop.hive.common.metrics.metrics2.Metrics2Reporter the frequency of updating the HADOOP2 metrics system.</description> </property> <property> <name>metastore.metrics.file.frequency</name> <value>60000ms</value> <description>For json metric reporter, the frequency of updating JSON metrics file.</description> </property> <property> <name>metastore.metrics.file.location</name> <value>/tmp/report.json</value> <description>For metric class json metric reporter, the location of local JSON metrics file. This file will get overwritten at every interval.</description> </property> <property> <name>metastore.metrics.slf4j.frequency</name> <value>5m</value> <description>For SLF4J metric reporter, the frequency of logging metrics events. The default value is 5 mins.</description> </property> <property> <name>metastore.metrics.slf4j.logging.level</name> <value>INFO</value> <description>For SLF4J metric reporter, the logging level to be used for metrics event logs. The default level is INFO.</description> </property> <property> <name>metastore.metrics.reporters</name> <value>json,jmx</value> <description>A comma separated list of metrics reporters to start</description> </property> <property> <name>metastore.msck.path.validation</name> <value>throw</value> <description>The approach msck should take with HDFS directories that are partition-like but contain unsupported characters. 'throw' (an exception) is the default; 'skip' will skip the invalid directories and still repair the others; 'ignore' will skip the validation (legacy behavior, causes bugs in many cases)</description> </property> <property> <name>metastore.msck.repair.batch.size</name> <value>3000</value> <description> Batch size for the msck repair command. If the value is greater than zero, it will execute batch wise with the configured batch size. In case of errors while adding unknown partitions the batch size is automatically reduced by half in the subsequent retry attempt. The default value is 3000 which means it will execute in the batches of 3000. </description> </property> <property> <name>metastore.msck.repair.batch.max.retries</name> <value>4</value> <description> Maximum number of retries for the msck repair command when adding unknown partitions. If the value is greater than zero it will retry adding unknown partitions until the maximum number of attempts is reached or batch size is reduced to 0, whichever is earlier. In each retry attempt it will reduce the batch size by a factor of 2 until it reaches zero. If the value is set to zero it will retry until the batch size becomes zero as described above. </description> </property> <property> <name>metastore.msck.repair.enable.partition.retention</name> <value>false</value> <description> If 'partition.retention.period' table property is set, this flag determines whether MSCK REPAIR command should handle partition retention. If enabled, and if a specific partition's age exceeded retention period the partition will be dropped along with data </description> </property> <property> <name>metastore.getpartitions.batch.max.retries</name> <value>5</value> <description> Maximum number of retries for the Hive.GetAllPartitionsOf() when getting partitions in batches. If the value is greater than zero it will retry getting partitions until the maximum number of attempts is reached or batch size is reduced to 0, whichever is earlier. In each retry attempt it will reduce the batch size by a factor of 2 until it reaches zero. If the value is set to zero it will retry until the batch size becomes zero as described above. </description> </property> <property> <name>metastore.partition.management.task.frequency</name> <value>6h</value> <description> Frequency at which timer task runs to do automatic partition management for tables with table property 'discover.partitions'='true'. Partition management include 2 pieces. One is partition discovery and other is partition retention period. When 'discover.partitions'='true' is set, partition management will look for partitions in table location and add partitions objects for it in metastore. Similarly if partition object exists in metastore and partition location does not exist, partition object will be dropped. The second piece in partition management is retention period. When 'discover.partition' is set to true and if 'partition.retention.period' table property is defined, partitions that are older than the specified retention period will be automatically dropped from metastore along with the data. </description> </property> <property> <name>metastore.partition.management.table.types</name> <value>MANAGED_TABLE,EXTERNAL_TABLE</value> <description>Comma separated list of table types to use for partition management</description> </property> <property> <name>metastore.partition.management.task.thread.pool.size</name> <value>3</value> <description> Partition management uses thread pool on to which tasks are submitted for discovering and retaining the partitions. This determines the size of the thread pool. Note: Increasing the thread pool size will cause threadPoolSize * maxConnectionPoolSize connections to backend db </description> </property> <property> <name>metastore.partition.management.catalog.name</name> <value>hive</value> <description>Automatic partition management will look for tables under the specified catalog name</description> </property> <property> <name>metastore.partition.management.database.pattern</name> <value>*</value> <description>Automatic partition management will look for tables using the specified database pattern</description> </property> <property> <name>metastore.partition.management.table.pattern</name> <value>*</value> <description>Automatic partition management will look for tables using the specified table pattern</description> </property> <property> <name>metastore.metadata.transformer.class</name> <value>org.apache.hadoop.hive.metastore.MetastoreDefaultTransformer</value> <description> Fully qualified class name for the metastore metadata transformer class which is used by HMS Server to fetch the extended tables/partitions information based on the data processor capabilities This class should implement the IMetaStoreMetadataTransformer interface </description> </property> <property> <name>metastore.metadata.transformer.translated.to.external.follows.renames</name> <value>true</value> <description>Wether TRANSLATED_TO_EXTERNAL tables should follow renames. In case the default directory exists the strategy of metastore.metadata.transformer.location.mode is used</description> </property> <property> <name>metastore.metadata.transformer.location.mode</name> <value>force</value> <description> Defines the strategy to use in case the default location for a translated table already exists. seqsuffix: add a '_N' suffix to the table name to get a unique location (table,table_1,table_2,...) seqprefix: adds a 'N_' prefix to the table name to get a unique location (table,1_table,2_table,...) prohibit: do not consider alternate locations; throw error if the default is not available force: use the default location even in case the directory is already available </description> </property> <property> <name>javax.jdo.option.Multithreaded</name> <value>true</value> <description>Set this to true if multiple threads access metastore through JDO concurrently.</description> </property> <property> <name>metastore.max.open.txns</name> <value>100000</value> <description> Maximum number of open transactions. If current open transactions reach this limit, future open transaction requests will be rejected, until this number goes below the limit. </description> </property> <property> <name>javax.jdo.option.NonTransactionalRead</name> <value>true</value> <description>Reads outside of transactions</description> </property> <property> <name>metastore.notification.sequence.lock.max.retries</name> <value>10</value> <description>Number of retries required to acquire a lock when getting the next notification sequential ID for entries in the NOTIFICATION_LOG table.</description> </property> <property> <name>metastore.notification.sequence.lock.retry.sleep.interval</name> <value>10s</value> <description>Sleep interval between retries to acquire a notification lock as described part of property NOTIFICATION_SEQUENCE_LOCK_MAX_RETRIES</description> </property> <property> <name>metastore.orm.retrieveMapNullsAsEmptyStrings</name> <value>false</value> <description>Thrift does not support nulls in maps, so any nulls present in maps retrieved from ORM must either be pruned or converted to empty strings. Some backing dbs such as Oracle persist empty strings as nulls, so we should set this parameter if we wish to reverse that behaviour. For others, pruning is the correct behaviour</description> </property> <property> <name>metastore.partition.name.whitelist.pattern</name> <value/> <description>Partition names will be checked against this regex pattern and rejected if not matched.</description> </property> <property> <name>metastore.partition.order.expr</name> <value>"PART_NAME" asc</value> <description> The default partition order if the metastore does not return all partitions. It can be sorted based on any column in the PARTITIONS table (e.g., "PARTITIONS"."CREATE_TIME" desc, "PARTITIONS"."LAST_ACCESS_TIME" desc etc) </description> </property> <property> <name>metastore.partition.inherit.table.properties</name> <value/> <description> List of comma separated keys occurring in table properties which will get inherited to newly created partitions. * implies all the keys will get inherited. </description> </property> <property> <name>metastore.pre.event.listeners</name> <value/> <description>List of comma separated listeners for metastore events.</description> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>mine</value> <description>password to use against metastore database</description> </property> <property> <name>metastore.rawstore.impl</name> <value>org.apache.hadoop.hive.metastore.ObjectStore</value> <description> Name of the class that implements org.apache.riven.rawstore interface. This class is used to store and retrieval of raw metadata objects such as table, database </description> </property> <property> <name>metastore.repl.cmrootdir</name> <value>/user/${system:user.name}/cmroot/</value> <description>Root dir for ChangeManager, used for deleted files.</description> </property> <property> <name>metastore.repl.cm.encryptionzone.rootdir</name> <value>.cmroot</value> <description>Root dir for ChangeManager if encryption zones are enabled, used for deleted files.</description> </property> <property> <name>metastore.repl.cm.nonencryptionzone.rootdir</name> <value/> <description>Root dir for ChangeManager for non encrypted paths if hive.repl.cmrootdir is encrypted.</description> </property> <property> <name>metastore.repl.cm.retain</name> <value>240h</value> <description>Time to retain removed files in cmrootdir.</description> </property> <property> <name>metastore.repl.cm.interval</name> <value>3600s</value> <description>Inteval for cmroot cleanup thread.</description> </property> <property> <name>metastore.repl.cm.enabled</name> <value>false</value> <description>Turn on ChangeManager, so delete files will go to cmrootdir.</description> </property> <property> <name>metastore.repl.rootdir</name> <value>/user/${system:user.name}/repl/</value> <description>HDFS root dir for all replication dumps.</description> </property> <property> <name>metastore.repl.copyfile.maxnumfiles</name> <value>1</value> <description>Maximum number of files Hive uses to do sequential HDFS copies between directories.Distributed copies (distcp) will be used instead for larger numbers of files so that copies can be done faster.</description> </property> <property> <name>metastore.repl.copyfile.maxsize</name> <value>33554432</value> <description>Maximum file size (in bytes) that Hive uses to do single HDFS copies between directories.Distributed copies (distcp) will be used instead for bigger files so that copies can be done faster.</description> </property> <property> <name>metastore.repl.event.db.listener.timetolive</name> <value>10d</value> <description> time after which events will be removed from the database listener queue when repl.cm.enabled is set to true. When set to false, the conf event.db.listener.timetolive is used instead. </description> </property> <property> <name>metastore.repl.metrics.cache.maxsize</name> <value>10000</value> <description>Maximum in memory cache size to collect replication metrics. The metrics will be pushed to persistent storage at a frequency defined by config hive.repl.metrics.update.frequency. Till metrics are persisted to db, it will be stored in this cache. So set this property based on number of concurrent policies running and the frequency of persisting the metrics to persistent storage. </description> </property> <property> <name>metastore.repl.metrics.update.frequency</name> <value>1m</value> <description>Frequency at which replication Metrics will be stored in persistent storage. </description> </property> <property> <name>metastore.repl.metrics.cleanup.frequency</name> <value>1d</value> <description>Interval of scheduled metrics clean up task which removes metrics above max age; Max age is defined by the config metastore.repl.metrics.max.age. The max age should be greater than this frequency</description> </property> <property> <name>metastore.repl.metrics.max.age</name> <value>7d</value> <description>Maximal age of a replication metrics entry before it is removed.</description> </property> <property> <name>metastore.repl.txn.timeout</name> <value>11d</value> <description>Time after which replication transactions are declared aborted if the client has not sent a heartbeat. If this is a target cluster, value must be greater thanhive.repl.event.db.listener.timetolive on the source cluster (!), ideally by 1 day.</description> </property> <property> <name>metastore.schema.info.class</name> <value>org.apache.hadoop.hive.metastore.MetaStoreSchemaInfo</value> <description> Fully qualified class name for the metastore schema information class which is used by schematool to fetch the schema information. This class should implement the IMetaStoreSchemaInfo interface </description> </property> <property> <name>metastore.schema.verification</name> <value>true</value> <description> Enforce metastore schema version consistency. True: Verify that version information stored in is compatible with one from Hive jars. Also disable automatic schema migration attempt. Users are required to manually migrate schema after Hive upgrade which ensures proper metastore schema migration. (Default) False: Warn if the version information stored in metastore doesn't match with one from in Hive jars. </description> </property> <property> <name>metastore.schema.verification.record.version</name> <value>false</value> <description> When true the current MS version is recorded in the VERSION table. If this is disabled and verification is enabled the MS will be unusable. </description> </property> <property> <name>metastore.serdes.using.metastore.for.schema</name> <value>org.apache.hadoop.hive.ql.io.orc.OrcSerde,org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe,org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe,org.apache.hadoop.hive.serde2.MetadataTypedColumnsetSerDe,org.apache.hadoop.hive.serde2.columnar.LazyBinaryColumnarSerDe,org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe,org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe,org.apache.hadoop.hive.serde2.OpenCSVSerde,org.apache.iceberg.mr.hive.HiveIcebergSerDe</value> <description>SerDes retrieving schema from metastore. This is an internal parameter.</description> </property> <property> <name>metastore.serdes.without.from.deserializer</name> <value>org.apache.iceberg.mr.hive.HiveIcebergSerDe</value> <description>SerDes which are providing the schema but do not need the 'from deserializer' comment for the columns.</description> </property> <property> <name>metastore.server.max.message.size</name> <value>104857600</value> <description>Maximum message size in bytes a HMS will accept.</description> </property> <property> <name>metastore.server.max.threads</name> <value>1000</value> <description>Maximum number of worker threads in the Thrift server's pool.</description> </property> <property> <name>metastore.server.min.threads</name> <value>200</value> <description>Minimum number of worker threads in the Thrift server's pool.</description> </property> <property> <name>metastore.thrift.port</name> <value>9083</value> <description>Hive metastore listener port</description> </property> <property> <name>metastore.keystore.password</name> <value/> <description>Metastore SSL certificate keystore password.</description> </property> <property> <name>metastore.keystore.path</name> <value/> <description>Metastore SSL certificate keystore location.</description> </property> <property> <name>metastore.keystore.type</name> <value/> <description>Metastore SSL certificate keystore type.</description> </property> <property> <name>metastore.keymanagerfactory.algorithm</name> <value/> <description>Metastore SSL certificate keystore algorithm.</description> </property> <property> <name>metastore.ssl.protocol.blacklist</name> <value>SSLv2,SSLv3</value> <description>SSL Versions to disable for all Hive Servers</description> </property> <property> <name>metastore.truststore.path</name> <value/> <description>Metastore SSL certificate truststore location.</description> </property> <property> <name>metastore.truststore.password</name> <value/> <description>Metastore SSL certificate truststore password.</description> </property> <property> <name>metastore.truststore.type</name> <value/> <description>Metastore SSL certificate truststore type.</description> </property> <property> <name>metastore.trustmanagerfactory.algorithm</name> <value/> <description>Metastore SSL certificate truststore algorithm.</description> </property> <property> <name>metastore.stats.autogather</name> <value>true</value> <description>A flag to gather statistics (only basic) automatically during the INSERT OVERWRITE command.</description> </property> <property> <name>metastore.stats.fetch.bitvector</name> <value>false</value> <description>Whether we fetch bitvector when we compute ndv. Users can turn it off if they want to use old schema</description> </property> <property> <name>metastore.stats.fetch.kll</name> <value>false</value> <description>Whether we fetch KLL data sketches to enable histogram statistics</description> </property> <property> <name>metastore.stats.ndv.tuner</name> <value>0.0</value> <description> Provides a tunable parameter between the lower bound and the higher bound of ndv for aggregate ndv across all the partitions. The lower bound is equal to the maximum of ndv of all the partitions. The higher bound is equal to the sum of ndv of all the partitions. Its value should be between 0.0 (i.e., choose lower bound) and 1.0 (i.e., choose higher bound) </description> </property> <property> <name>metastore.stats.ndv.densityfunction</name> <value>false</value> <description>Whether to use density function to estimate the NDV for the whole table based on the NDV of partitions</description> </property> <property> <name>metastore.stats.default.aggregator</name> <value/> <description>The Java class (implementing the StatsAggregator interface) that is used by default if hive.stats.dbclass is custom type.</description> </property> <property> <name>metastore.stats.default.publisher</name> <value/> <description>The Java class (implementing the StatsPublisher interface) that is used by default if hive.stats.dbclass is custom type.</description> </property> <property> <name>metastore.stats.auto.analyze</name> <value>none</value> <description>Whether to update stats in the background; none - no, all - for all tables, existing - only existing, out of date, stats.</description> </property> <property> <name>metastore.stats.auto.analyze.noop.wait</name> <value>5m</value> <description> How long to sleep if there were no stats needing update during an update iteration. This is a setting to throttle table/partition checks when nothing is being changed; not the analyze queries themselves. </description> </property> <property> <name>metastore.stats.auto.analyze.worker.count</name> <value>1</value> <description>Number of parallel analyze commands to run for background stats update.</description> </property> <property> <name>metastore.storage.schema.reader.impl</name> <value>org.apache.hadoop.hive.metastore.SerDeStorageSchemaReader</value> <description>The class to use to read schemas from storage. It must implement org.apache.hadoop.hive.metastore.StorageSchemaReader</description> </property> <property> <name>datanucleus.storeManagerType</name> <value>rdbms</value> <description>metadata store type</description> </property> <property> <name>metastore.strict.managed.tables</name> <value>false</value> <description>Whether strict managed tables mode is enabled. With this mode enabled, only transactional tables (both full and insert-only) are allowed to be created as managed tables</description> </property> <property> <name>metastore.support.special.characters.tablename</name> <value>true</value> <description> This flag should be set to true to enable support for special characters in table names. When it is set to false, only [a-zA-Z_0-9]+ are supported. The supported special characters are %&'()*+,-./:;<=>?[]_|{}$^!~#@ and space. This flag applies only to quoted table names. The default value is true. </description> </property> <property> <name>metastore.task.threads.always</name> <value>org.apache.hadoop.hive.metastore.events.EventCleanerTask,org.apache.hadoop.hive.metastore.RuntimeStatsCleanerTask,org.apache.hadoop.hive.metastore.metrics.AcidMetricService,org.apache.hadoop.hive.metastore.metrics.AcidMetricLogger,org.apache.hadoop.hive.metastore.HiveProtoEventsCleanerTask,org.apache.hadoop.hive.metastore.ScheduledQueryExecutionsMaintTask,org.apache.hadoop.hive.metastore.ReplicationMetricsMaintTask</value> <description>Comma separated list of tasks that will be started in separate threads. These will always be started, regardless of whether the metastore is running in embedded mode or in server mode. They must implement org.apache.hadoop.hive.metastore.MetastoreTaskThread</description> </property> <property> <name>metastore.task.threads.remote</name> <value>org.apache.hadoop.hive.metastore.txn.service.AcidHouseKeeperService,org.apache.hadoop.hive.metastore.txn.service.CompactionHouseKeeperService,org.apache.hadoop.hive.metastore.txn.service.AcidTxnCleanerService,org.apache.hadoop.hive.metastore.txn.service.AcidOpenTxnsCounterService,org.apache.hadoop.hive.metastore.MaterializationsRebuildLockCleanerTask,org.apache.hadoop.hive.metastore.PartitionManagementTask</value> <description>Comma-separated list of tasks that will be started in separate threads. These will be started only when the metastore is running as a separate service. They must implement org.apache.hadoop.hive.metastore.MetastoreTaskThread</description> </property> <property> <name>metastore.server.thrift.transport.mode</name> <value>binary</value> <description>Transport mode for thrift server in Metastore. Can be binary or http</description> </property> <property> <name>metastore.server.thrift.http.path</name> <value>metastore</value> <description>Path component of URL endpoint when in HTTP mode</description> </property> <property> <name>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>metastore.thread.pool.size</name> <value>15</value> <description>Number of threads in the thread pool. These will be used to execute all background processes.</description> </property> <property> <name>metastore.connect.retries</name> <value>3</value> <description>Number of retries while opening a connection to metastore</description> </property> <property> <name>metastore.failure.retries</name> <value>1</value> <description>Number of retries upon failure of Thrift metastore calls</description> </property> <property> <name>metastore.thrift.bind.host</name> <value/> <description>Bind host on which to run the metastore thrift service.</description> </property> <property> <name>metastore.thrift.uris</name> <value/> <description> URIs Used by metastore client to connect to remotemetastore .If dynamic service discovery mode is set, the URIs are used to connect to the corresponding service discovery servers e.g. a zookeeper. Otherwise they are used as URIs for remote metastore. </description> </property> <property> <name>metastore.thrift.client.max.message.size</name> <value>2147483647b</value> <description>Thrift client configuration for max message size. 0 or -1 will use the default defined in the Thrift library. The upper limit is 2147483647 bytes</description> </property> <property> <name>metastore.service.discovery.mode</name> <value/> <description>Specifies which dynamic service discovery method to use. Currently we support only "zookeeper" to specify ZooKeeper based service discovery.</description> </property> <property> <name>metastore.zookeeper.kerberos.enabled</name> <value>true</value> <description> If ZooKeeper is configured for Kerberos authentication. This could be useful when cluster is kerberized, but Zookeeper is not. </description> </property> <property> <name>metastore.zookeeper.client.port</name> <value>2181</value> <description> The port of ZooKeeper servers to talk to. If the list of Zookeeper servers specified in hive.metastore.thrift.uris does not contain port numbers, this value is used. </description> </property> <property> <name>metastore.zookeeper.session.timeout</name> <value>120000ms</value> <description> ZooKeeper client's session timeout (in milliseconds). The client is disconnected if a heartbeat is not sent in the timeout. </description> </property> <property> <name>metastore.zookeeper.connection.timeout</name> <value>15s</value> <description> ZooKeeper client's connection timeout in seconds. Connection timeout * hive.metastore.zookeeper.connection.max.retries with exponential backoff is when curator client deems connection is lost to zookeeper. </description> </property> <property> <name>metastore.zookeeper.namespace</name> <value>hive_metastore</value> <description>The parent node under which all ZooKeeper nodes for metastores are created.</description> </property> <property> <name>metastore.zookeeper.connection.max.retries</name> <value>3</value> <description>Max number of times to retry when connecting to the ZooKeeper server.</description> </property> <property> <name>metastore.zookeeper.connection.basesleeptime</name> <value>1000ms</value> <description> Initial amount of time (in milliseconds) to wait between retries when connecting to the ZooKeeper server when using ExponentialBackoffRetry policy. </description> </property> <property> <name>metastore.zookeeper.ssl.client.enable</name> <value>false</value> <description>Set client to use TLS when connecting to ZooKeeper. An explicit value overrides any value set via the zookeeper.client.secure system property (note the different name). Defaults to false if neither is set.</description> </property> <property> <name>metastore.zookeeper.ssl.keystore.location</name> <value/> <description>Keystore location when using a client-side certificate with TLS connectivity to ZooKeeper. Overrides any explicit value set via the zookeeper.ssl.keyStore.location system property (note the camelCase).</description> </property> <property> <name>metastore.zookeeper.ssl.keystore.password</name> <value/> <description>Keystore password when using a client-side certificate with TLS connectivity to ZooKeeper.Overrides any explicit value set via the zookeeper.ssl.keyStore.passwordsystem property (note the camelCase).</description> </property> <property> <name>metastore.zookeeper.ssl.keystore.type</name> <value/> <description>Keystore type when using a client-side certificate with TLS connectivity to ZooKeeper.Overrides any explicit value set via the zookeeper.ssl.keyStore.typesystem property (note the camelCase).</description> </property> <property> <name>metastore.zookeeper.ssl.truststore.location</name> <value/> <description>Truststore location when using a client-side certificate with TLS connectivity to ZooKeeper. Overrides any explicit value set via the zookeeper.ssl.trustStore.location system property (note the camelCase).</description> </property> <property> <name>metastore.zookeeper.ssl.truststore.password</name> <value/> <description>Truststore password when using a client-side certificate with TLS connectivity to ZooKeeper.Overrides any explicit value set via the zookeeper.ssl.trustStore.password system property (note the camelCase).</description> </property> <property> <name>metastore.zookeeper.ssl.truststore.type</name> <value/> <description>Truststore type when using a client-side certificate with TLS connectivity to ZooKeeper.Overrides any explicit value set via the zookeeper.ssl.trustStore.typesystem property (note the camelCase).</description> </property> <property> <name>metastore.thrift.uri.selection</name> <value>RANDOM</value> <description>Determines the selection mechanism used by metastore client to connect to remote metastore. SEQUENTIAL implies that the first valid metastore from the URIs specified through hive.metastore.uris will be picked. RANDOM implies that the metastore will be picked randomly</description> </property> <property> <name>metastore.token.signature</name> <value/> <description>The delegation token service name to match when selecting a token from the current user's tokens.</description> </property> <property> <name>metastore.cache.can.use.event</name> <value>false</value> <description>Can notification events from notification log table be used for updating the metastore cache.</description> </property> <property> <name>metastore.transactional.event.listeners</name> <value/> <description>A comma separated list of Java classes that implement the org.apache.riven.MetaStoreEventListener interface. Both the metastore event and corresponding listener method will be invoked in the same JDO transaction. If org.apache.hive.hcatalog.listener.DbNotificationListener is configured along with other transactional event listener implementation classes, make sure org.apache.hive.hcatalog.listener.DbNotificationListener is placed at the end of the list.</description> </property> <property> <name>metastore.try.direct.sql</name> <value>true</value> <description> Whether the 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. </description> </property> <property> <name>metastore.try.direct.sql.ddl</name> <value>true</value> <description> 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. </description> </property> <property> <name>metastore.txn.max.open.batch</name> <value>1000</value> <description> Maximum number of transactions that can be fetched in one call to open_txns(). This controls how many transactions streaming agents such as Flume or Storm open simultaneously. The streaming agent then writes that number of entries into a single file (per Flume agent or Storm bolt). Thus increasing this value decreases the number of delta files created by streaming agents. But it also increases the number of open transactions that Hive has to track at any given time, which may negatively affect read performance. </description> </property> <property> <name>metastore.txn.retryable.sqlex.regex</name> <value/> <description> Comma separated list of regular expression patterns for SQL state, error code, and error message of retryable SQLExceptions, that's suitable for the metastore DB. For example: Can't serialize.*,40001$,^Deadlock,.*ORA-08176.* The string that the regex will be matched against is of the following form, where ex is a SQLException: ex.getMessage() + " (SQLState=" + ex.getSQLState() + ", ErrorCode=" + ex.getErrorCode() + ")" </description> </property> <property> <name>metastore.txn.store.impl</name> <value>org.apache.hadoop.hive.metastore.txn.CompactionTxnHandler</value> <description>Name of class that implements org.apache.riven.txn.TxnStore. This class is used to store and retrieve transactions and locks</description> </property> <property> <name>metastore.txn.timeout</name> <value>300s</value> <description>time after which transactions are declared aborted if the client has not sent a heartbeat.</description> </property> <property> <name>metastore.txn.opentxn.timeout</name> <value>1000ms</value> <description>Time before an open transaction operation should persist, otherwise it is considered invalid and rolled back</description> </property> <property> <name>metastore.txn.use.minhistorylevel</name> <value>true</value> <description> Set this to false, for the TxnHandler and Cleaner to not use MIN_HISTORY_LEVEL table and take advantage of openTxn optimisation. If the table is dropped HMS will switch this flag to false, any other value changes need a restart to take effect. </description> </property> <property> <name>metastore.txn.use.minhistorywriteid</name> <value>false</value> <description> Set this to true, to avoid global minOpenTxn check in Cleaner. If the table is dropped HMS will switch this flag to false. </description> </property> <property> <name>metastore.lock.numretries</name> <value>100</value> <description>The number of times you want to try to get all the locks</description> </property> <property> <name>metastore.lock.sleep.between.retries</name> <value>60s</value> <description>The maximum sleep time between various retries</description> </property> <property> <name>metastore.uri.resolver</name> <value/> <description>If set, fully qualified class name of resolver for hive metastore uri's</description> </property> <property> <name>metastore.users.in.admin.role</name> <value/> <description> Comma separated list of users who are in admin role for bootstrapping. More users can be added in ADMIN role later. </description> </property> <property> <name>metastore.client.thrift.transport.mode</name> <value>binary</value> <description>Transport mode to be used by the metastore client. It should be the same as metastore.server.thrift.transport.mode</description> </property> <property> <name>metastore.client.thrift.http.path</name> <value>metastore</value> <description>Path component of URL endpoint when in HTTP mode</description> </property> <property> <name>metastore.server.thrift.http.request.header.size</name> <value>6144</value> <description>Request header size in bytes when using HTTP transport mode for metastore thrift server. Defaults to jetty's defaults</description> </property> <property> <name>metastore.server.thrift.http.response.header.size</name> <value>6144</value> <description>Response header size in bytes when using HTTP transport mode for metastore thrift server. Defaults to jetty's defaults</description> </property> <property> <name>metastore.thrift.http.max.idle.time</name> <value>1800s</value> <description>Maximum idle time for a connection on the server when in HTTP mode.</description> </property> <property> <name>metastore.use.SSL</name> <value>false</value> <description>Set this to true for using SSL encryption in HMS server.</description> </property> <property> <name>metastore.sasl.enabled</name> <value>false</value> <description>If true, the metastore Thrift interface will be secured with SASL. Clients must authenticate with Kerberos.</description> </property> <property> <name>metastore.client.auth.mode</name> <value>NOSASL</value> <description>If PLAIN, clients will authenticate using plain authentication, by providing username and password. Any other value is ignored right now but may be used later.If JWT- Supported only in HTTP transport mode. If set, HMS Client will pick the value of JWT from environment variable HMS_JWT and set it in Authorization header in http request</description> </property> <property> <name>metastore.client.http.additional.headers</name> <value/> <description>Comma separated list of headers which are passed to the metastore service in the http headers</description> </property> <property> <name>metastore.client.plain.username</name> <value/> <description>The username used by the metastore client when metastore.client.auth.mode is true. The password is obtained from hadoop.security.credential.provider.path using username as the alias.</description> </property> <property> <name>metastore.authentication.config.username</name> <value/> <description>If metastore.authentication is set to CONFIG, username provided by client is matched against this value.</description> </property> <property> <name>metastore.authentication.config.password</name> <value/> <description>If metastore.authentication is set to CONFIG, password provided by the client is matched against this value.</description> </property> <property> <name>metastore.thrift.framed.transport.enabled</name> <value>false</value> <description>If true, the metastore Thrift interface will use TFramedTransport. When false (default) a standard TTransport is used.</description> </property> <property> <name>metastore.thrift.compact.protocol.enabled</name> <value>false</value> <description> If true, the metastore Thrift interface will use TCompactProtocol. When false (default) TBinaryProtocol will be used. Setting it to true will break compatibility with older clients running TBinaryProtocol. </description> </property> <property> <name>datanucleus.schema.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.schema.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.schema.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>metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> <description>location of default database for the warehouse</description> </property> <property> <name>metastore.warehouse.external.dir</name> <value/> <description>Default location for external tables created in the warehouse. If not set or null, then the normal warehouse location will be used as the default location.</description> </property> <property> <name>metastore.wm.default.pool.size</name> <value>4</value> <description> The size of a default pool to create when creating an empty resource plan; If not positive, no default pool will be created. </description> </property> <property> <name>metastore.rawstore.batch.size</name> <value>-1</value> <description> Batch size for partition and other object retrieval from the underlying DB in JDO. The JDO implementation such as DataNucleus may run into issues when the generated queries are too large. Use this parameter to break the query into multiple batches. -1 means no batching. </description> </property> <property> <name>hive.metastore.runworker.in</name> <value>hs2</value> <description> Deprecated. HMS side compaction workers doesn't support pooling. With the concept of compaction pools (HIVE-26443), running workers on HMS side is still supported but not suggested anymore. This config value will be removed in the future. Chooses where the compactor worker threads should run, Only possible values are "metastore" and "hs2" </description> </property> <property> <name>hive.in.test</name> <value>false</value> <description>internal usage only, true in test mode</description> </property> <property> <name>hive.in.tez.test</name> <value>false</value> <description>internal use only, true when in testing tez</description> </property> <property> <name>hive.security.authorization.manager</name> <value>org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactory</value> <description> The Hive client authorization manager class name. The user defined authorization class should implement interface org.apache.hadoop.hive.ql.security.authorization.HiveAuthorizationProvider. </description> </property> <property> <name>hive.security.metastore.authenticator.manager</name> <value>org.apache.hadoop.hive.ql.security.HadoopDefaultMetastoreAuthenticator</value> <description> authenticator manager class name to be used in the metastore for authentication. The user defined authenticator should implement interface org.apache.hadoop.hive.ql.security.HiveAuthenticationProvider. </description> </property> <property> <name>hive.security.metastore.authorization.auth.reads</name> <value>true</value> <description>If this is true, metastore authorizer authorizes read actions on database, table</description> </property> <property> <name>hive.txn.manager</name> <value>org.apache.hadoop.hive.ql.lockmgr.DummyTxnManager</value> <description> Set to org.apache.hadoop.hive.ql.lockmgr.DbTxnManager as part of turning on Hive transactions, which also requires appropriate settings for hive.compactor.initiator.on,hive.compactor.cleaner.on, hive.compactor.worker.threads, hive.support.concurrency (true), and hive.exec.dynamic.partition.mode (nonstrict). The default DummyTxnManager replicates pre-Hive-0.13 behavior and provides no transactions. </description> </property> <property> <name>hive.support.concurrency</name> <value>false</value> <description> Whether Hive supports concurrency control or not. A ZooKeeper instance must be up and running when using zookeeper Hive lock manager </description> </property> <property> <name>hive.txn.stats.enabled</name> <value>true</value> <description>Whether Hive supports transactional stats (accurate stats for transactional tables)</description> </property> <property> <name>metastore.use.custom.database.product</name> <value>false</value> <description> Use an external RDBMS which is not in the list of natively supported databases (Derby, Mysql, Oracle, Postgres, MSSQL), as defined by hive.metastore.db.type. If this configuration is true, the metastore.custom.database.product.classname must be set to a valid class name </description> </property> <property> <name>metastore.custom.database.product.classname</name> <value>none</value> <description>Hook for external RDBMS. This class will be instantiated only when metastore.use.custom.database.product is set to true.</description> </property> <property> <name>hive.blobstore.supported.schemes</name> <value>s3,s3a,s3n</value> <description>Comma-separated list of supported blobstore schemes.</description> </property> <property> <name>hive.metastore.properties.cache.capacity</name> <value>64</value> <description>Maximum number of property-maps (collection of properties for one entity) held in cache per store.</description> </property> <property> <name>hive.metastore.properties.cache.loadfactor</name> <value>0.75</value> <description>Property-maps cache map initial fill factor (> 0.0, < 1.0).</description> </property> <property> <name>hive.metastore.properties.servlet.path</name> <value>hmscli</value> <description>Property-maps servlet path component of URL endpoint.</description> </property> <property> <name>hive.metastore.properties.servlet.port</name> <value>-1</value> <description>Property-maps servlet server port. Negative value disables the servlet, 0 will let the system determine the servlet server port, positive value will be used as-is.</description> </property> <property> <name>hive.metastore.properties.servlet.auth</name> <value>jwt</value> <description>Property-maps servlet authentication method (simple or jwt).</description> </property> <property> <name>hive.service.metrics.codahale.reporter.classes</name> <value>org.apache.hadoop.hive.common.metrics.metrics2.JsonFileMetricsReporter, org.apache.hadoop.hive.common.metrics.metrics2.JmxMetricsReporter</value> <description>Use METRICS_REPORTERS instead. Comma separated list of reporter implementation classes for metric class org.apache.hadoop.hive.common.metrics.metrics2.CodahaleMetrics. Overrides HIVE_METRICS_REPORTER conf if present. This will be overridden by METRICS_REPORTERS if it is present</description> </property> <property> <name>hive.service.metrics.reporter</name> <value/> <description>Reporter implementations for metric class org.apache.hadoop.hive.common.metrics.metrics2.CodahaleMetrics;Deprecated, use METRICS_REPORTERS instead. This configuraiton will be overridden by HIVE_CODAHALE_METRICS_REPORTER_CLASSES and METRICS_REPORTERS if present. Comma separated list of JMX, CONSOLE, JSON_FILE, HADOOP2</description> </property> <property> <name>metastore.dbaccess.ssl.properties</name> <value/> <description> Deprecated. Use the metastore.dbaccess.ssl.* properties instead. Comma-separated SSL properties for metastore to access database when JDO connection URL enables SSL access. e.g. javax.net.ssl.trustStore=/tmp/truststore,javax.net.ssl.trustStorePassword=pwd. If both this and the metastore.dbaccess.ssl.* properties are set, then the latter properties will overwrite what was set in the deprecated property. </description> </property> <property> <name>metastore.num.striped.table.locks</name> <value>32</value> <description>Number of striped locks available to provide exclusive operation support for critical table operations like add_partitions.</description> </property> <property> <name>metastore.colstats.retain.on.column.removal</name> <value>true</value> <description>Whether to retain column statistics during column removals in partitioned tables - disabling this purges all column statistics data for all partition to retain working consistency</description> </property> <property> <name>test.str</name> <value>defaultval</value> <description>comment</description> </property> <property> <name>test.str.set</name> <value>a</value> <description/> </property> <property> <name>test.str.list</name> <value>a,b,c</value> <description>no comment</description> </property> <property> <name>test.long</name> <value>42</value> <description>comment</description> </property> <property> <name>test.double</name> <value>3.141592653589793</value> <description>comment</description> </property> <property> <name>test.time</name> <value>1s</value> <description>comment</description> </property> <property> <name>test.deprecated</name> <value>0</value> <description>comment</description> </property> <property> <name>test.time.validator.inclusive</name> <value>1s</value> <description>comment</description> </property> <property> <name>test.time.validator.exclusive</name> <value>1s</value> <description>comment</description> </property> <property> <name>test.bool</name> <value>true</value> <description>comment</description> </property> <property> <name>test.class</name> <value/> <description>comment</description> </property> </configuration>
© 2015 - 2025 Weber Informatics LLC | Privacy Policy