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)

Reply via email to