1.3. Configure HiveServer2 Settings

HiveServer2 is used for remote concurrent access to Hive. HiveServer2 settings can be accessed from Ambari >Tez > Configs > Advanced or in hive-site.xml. You must restart HiveServer2 in order for updated settings to take effect.

  • Hive Execution Engine -- Set this to "tez" to execute Hive queries using Tez:

    hive.execution.engine=tez

  • Enable Default Sessions -- Uses a default session for jobs using HiveServer2 even if they don’t use Tez. Set this to “true”.

    hive.server2.tez.initialize.default.sessions=true

  • Specify the HiveServer2 Queues -- A comma-separated list of queues. For example, to specify queues “hive1” and “hive2”:

    hive.server2.tez.default.queues=hive1,hive2

  • Set the Number of Sessions in each Queue -- Sets the number of sessions for each queue named in hive.server2.tez.default.queues.

    hive.server2.tez.sessions.per.default.queue=1

  • Set enable.doAs to False -- We want enable.doAs to be false since this uses the Hive user identity rather than the individual user identities for YARN. This helps with security and reuse.

    hive.server2.enable.doAs=false

  • Configure Query Vectorization -- The following two settings help reduce execution time for interactive queries on small datasets, but are also okay for large datasets.

    hive.vectorized.groupby.maxentries=10240
    hive.vectorized.groupby.flush.percent=0.1

For more information on these and other HiveServer2-on-Tez configuration settings, see Configure Hive and HiveServer2 for Tez.