Hive 2.3.7 - 2101 (EEP 7.0.1) Release Notes

The notes below relate specifically to the HPE Ezmeral Data Fabric Distribution for Apache Hive. You may also be interested in the Apache Hive-2.3.7 Release Notes and the Apache Hive homepage.
Hive Version 2.3.7
Release Date January 2021
HPE Version Interoperability See Hive and HCatalog Support Matrix andEcosystem Support Matrix andMEP Components and OS Support.
Source on GitHub https://github.com/mapr/hive
GitHub Release Tag 2.3.7-mapr-2101
Maven Artifacts https://repository.mapr.com/maven/
Package Names Navigate tohttp://package.ezmeral.hpe.com/releases/MEP/, and select your MEP and OS to view the list of package names.
ODBC/JDBC Drivers
Hive 2.3.7 works with the following HPE Hive drivers:

For additional driver information, see Connecting to HiveServer2.

Feature support

The following list describes support of various components and functionality with Hive 2.3.7 - 2101:

  • Supports Hive-2.3.7 on Tez-0.9.2 For more information, see Tez 0.9.2-2101 (MEP 7.0.1) Release Notes.

  • Does not support Hive on Spark. You cannot use Spark as an query engine for Hive. However, you can run Hive and Spark on the same cluster. You can also use Spark SQL and Drill to query Hive tables.

  • Does not support HDFS encryption in Hive tables.

  • Does not support LLAP with Hive-2.3.7 because Apache Slider is not an HPE supported ecosystem component.

  • Starting from Hive 2.1, Hive needs to run the schematool command as an initialization step.

Changes in default security configuration

The following list describes changes in default security for Hive 2.3.7 - 2101:
  • None.

New in This Release

Hive 2.3.7 - 2101 introduces the following enhancements or HPE platform-specific behavior changes:

  • None.

Fixes

This HPE release includes the following fixes on the base release:
Commit Date (YYYY-MM-DD) Comment
7365788 2021-01-06 MAPR-HIVE-859 : ERROR Unable to invoke factory method in class class org.apache.logging.log4j.core.appender.RandomAccessFileAppender for element RandomAccessFile. java.lang.reflect.InvocationTargetException
6793d50 2021-01-06 MAPR-HIVE-738 : Set hive.exec.submit.local.task.via.child to true by default
20b0c86 2020-12-28 MAPR-HIVE-854 : Update Hadoop version to 2.7.4.0-mapr-700
42ee1f8 2020-12-28 MAPR-HIVE-853 : Compilation error: cannot find symbol class HBaseCommonTestingUtility
9d5412f 2020-12-14 MAPR-HIVE-852: Fix Netty vulnerability in Hive
7b844f9 2020-12-09 MAPR-HIVE-850 : CLONE - CVE-2018-11771, CVE-2019-12402: commons-compress vulnerabilities
a859e66 2020-12-09 MAPR-HIVE-848 : CLONE - WS-2019-0490: jcommander vulnerability
efc4c99 2020-12-07 MAPR-HIVE-844 : CVE-2020-9484 etc.: Tomcat vulnerabilities
cce8662 2020-12-04 MAPR-HIVE-845 : CVE-2009-2625,CVE-2012-0881 etc. vulnerabilities in xerces
6dd7f7b 2020-12-03 MAPR-HIVE-843 : CVE-2020-13692: PostreSQL JDBC driver vulnerability
b48b161 2020-12-03 MAPR-HIVE-700 : CVE-2014-0114: Vulnerability with commons-beanutils
8f08881 2020-12-03 MAPR-HIVE-757 : Do not send server (jetty) details
3e8cbe6 2020-12-03 MAPR-HIVE-841 : CVE-2020-27216: jetty vulnerability
ccca1c3 2020-11-27 MAPR-HIVE-839 : IF NOT EXISTS statement does not work for external tables when StorageBasedAuthorizationProvider is used
9cefaee 2020-11-05 MAPR-HIVE-836 : Validate MapR Ticket (expiry date) before connecting from Beeline to HiveServer2
4769494 2020-10-21 MAPR-HIVE-835 : PAM authentication requires MapR SASL ticket on secure cluster
204958b 2020-10-27 MAPR-HIVE-733 : CLONE - configure.sh backup config files indefinitely without any cleanup
60a2313 2020-10-28 MAPR-HIVE-791 : Unnecessary WARNINGs during hive CLI start
2748a6b 2020-09-29 MAPR-HIVE-746: Upgrade/Remove tomcat jasper library dependencies
ffc0475 2020-09-18 MAPR-HIVE-689: Hive date/timestamp miscalculation while crossing daylight savings time
This release from HPE also includes the following back-ported issues. For complete details, refer to the commit log for this project in GitHub.
Commit Date (YYYY-MM-DD) Comment
ef91ccf 2020-12-23 HIVE-15444 : tez.queue.name is invalid after tez job running on CLI
018dfec 2020-12-10 HIVE-21489 : EXPLAIN command throws ClassCastException in Hive
2b2bb7f 2020-12-18 HIVE-22144 : HiveServer Web UI: Adding secure flag to the cookies options
147d8d6 2020-12-16 HIVE-23583 : Upgrade to ant 1.10.9 due to CVEs

Known Issues and Limitations

  • HIVE-19502 Unable to insert values into table stored by JdbcStorageHandler

  • HIVE-19286 NPE in MERGE operator on MR mode

  • HIVE-789 [Hive-Hbase integration] Unable to run queries against hive-hbase tables. ClassNotFoundException: HiveHBaseTableInputFormat [MEP-7.0.0]

If you run an HBase + Hive + Tez integration in MEP 7.0.1, you may encounter the following exception:
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.client.mapr.BaseTableMappingRules
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
    ... 39 more

This exception can occur due to the new Tez classloader implemented in the Tez project. To resolve this issue, put the following additional JAR files in the /apps/tez/tez-0.9 folder.

Issue the following commands before you run HBase + Hive + Tez integration in MEP 7.0.1:
hadoop fs -mkdir /apps/tez/tez-0.9/hbase
hadoop fs -put /opt/mapr/hbase/hbase-1.4.12/lib/* /apps/tez/tez-0.9/hbase/
Add the following property to /opt/mapr/tez/tez-0.9/conf/tez-site.xml:
<property>
<name>tez.lib.uris</name>
<value>${fs.defaultFS}/apps/tez/tez-0.9,${fs.defaultFS}/apps/tez/tez-0.9/lib,${fs.defaultFS}/apps/tez/tez-0.9/hbase/</value>
 </property>

It is assumed that the Hive version is 2.3, Hbase version is 1.4.12, Tez version is 0.9, Hadoop version is 2.7.4, Zookeeper version is 3.5.6.0, and ecosystem release is 2009.

HIVE-760 [Hive-2.3] Could not start hive-metastore on Centos 8 MetaException(message:Version information not found in metastore)

Starting in MEP 7.0.1, use the MySQL driver with MariaDB.
<property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
  </property>
 <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore</description>
 </property>
Some SELECT queries can be converted to a single FETCH task minimizing latency. Currently, the query should be single sourced and should not have a subquery or any aggregations or distincts (which incurs RS), lateral views and joins:
none : disable hive.fetch.task.conversion
minimal : SELECT star, filter on partition columns, LIMIT only
more :  SELECT, filter, LIMIT only (support TABLESAMPLE and virtual columns)

Resolved Issues

  • None.