Quanlong Huang created IMPALA-10871:
---------------------------------------
Summary: Add MetastoreShim to support Apache Hive 3.x
Key: IMPALA-10871
URL: https://issues.apache.org/jira/browse/IMPALA-10871
Project: IMPALA
Issue Type: Task
Reporter: Quanlong Huang
Impala 3.x supports both Hive 2 and 3 by a MetastoreShim that is chose at
compilation time:
{code:bash}
fe/src/compat-hive-2
└── java/org/apache
├── hadoop/hive/common/ValidWriteIdList.java
└── impala/compat/MetastoreShim.java
fe/src/compat-hive-3
└── java/org/apache/impala/compat
├── HiveMetadataFormatUtils.java
└── MetastoreShim.java {code}
In pom.xml:
{code:xml}
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.5</version>
<executions>
<!-- Tell maven about our generated files -->
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
...
<source>${project.basedir}/src/compat-hive-${hive.major.version}/java</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
{code}
Now MetastoreShim evolves to only support CDP Hive which contains some breaking
changes of Hive 4.x.
To support Apache Hive 3.x, we need another MetastoreShim. Some codes that
directly use Hive 4 APIs may need to be ignored in compilation, e.g.
fe/src/main/java/org/apache/impala/catalog/metastore/*.java
--
This message was sent by Atlassian Jira
(v8.3.4#803005)