[ 
https://issues.apache.org/jira/browse/DRILL-6604?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17065483#comment-17065483
 ] 

ASF GitHub Bot commented on DRILL-6604:
---------------------------------------

vvysotskyi commented on pull request #2038: DRILL-6604: Upgrade Drill Hive 
client to Hive3.1 version
URL: https://github.com/apache/drill/pull/2038
 
 
   # [DRILL-6604](https://issues.apache.org/jira/browse/DRILL-6604): Upgrade 
Drill Hive client to Hive3.1 version
   
   ## Description
   
   One of the major changes in this PR is cleaning up the output for Hive 
tests. Now, almost all hive-related stuff is not printed to the stdout.
   
   Additionally, the Hive version was updated to the latest (at the current 
time) version 3.1.2.
   New Hive version introduced new `ObjectInspector` classes for date and 
timestamp values, so to be able to compile with other versions, code was 
updated to use correct class names (see changes in `tdd` files and related 
changes.
   
   As for any other Hive update, Dill wouldn't be able to work with previous 
Hive versions, but for users, who still want to do it, it is possible to 
compile manually Drill with setting the following properties:
   `hive.version=2.3.2` (or any other version in range [2.3.2-3.1.2]), 
`freemarker.conf.file=src/main/codegen/config.fmpp` (or 
`src/main/codegen/configHive3.fmpp` for versions where new date / timestamp 
classes were introduced).
   Example of usage:
   ```
   mvn clean install -DskipTests -Dhive.version=2.3.2 
-Dfreemarker.conf.file=src/main/codegen/config.fmpp
   ```
   
   ## Documentation
   A new supported Hive version should be documented.
   
   ## Testing
   Ran all tests suite, checked manually that Drill is able to select from new 
Hive.
   
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Upgrade Drill Hive client to Hive3.1 version
> --------------------------------------------
>
>                 Key: DRILL-6604
>                 URL: https://issues.apache.org/jira/browse/DRILL-6604
>             Project: Apache Drill
>          Issue Type: Improvement
>    Affects Versions: 1.14.0
>            Reporter: Vitalii Diravka
>            Assignee: Vova Vysotskyi
>            Priority: Major
>             Fix For: 1.18.0
>
>
> Recently the Hive3.1 version is released.
>  3.1 versions of {{hive-exec}} and {{hive-metastore}} (main Drill Hive client 
> libraries) are the last available artifacts in maven repo for now:
>  [https://mvnrepository.com/artifact/org.apache.hive/hive-exec/3.1.0]
>  [https://mvnrepository.com/artifact/org.apache.hive/hive-metastore/3.1.0]
> It is necessary to investigate what impact of update onto the newer major 
> Hive client version.
> The initial conflicts after changing the {{hive.version}} in Drill root pom 
> file from 2.3.2 to 3.1.0 are:
> {code}
> [ERROR] COMPILATION ERROR : 
> [INFO] -------------------------------------------------------------
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveUtilities.java:[58,39]
>  error: cannot find symbol
> [ERROR]   symbol:   class MetaStoreUtils
>   location: package org.apache.hadoop.hive.metastore
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveMetadataProvider.java:[34,39]
>  error: cannot find symbol
> [INFO] 2 errors
> {code}
> {code}
> [ERROR] COMPILATION ERROR : 
> [INFO] -------------------------------------------------------------
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveUtilities.java:[575,15]
>  error: cannot find symbol
> [ERROR]   symbol:   method setTransactionalTableScan(JobConf,boolean)
>   location: class AcidUtils
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveFieldConverter.java:[216,92]
>  error: incompatible types: org.apache.hadoop.hive.common.type.Timestamp 
> cannot be converted to java.sql.Timestamp
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveFieldConverter.java:[225,82]
>  error: incompatible types: org.apache.hadoop.hive.common.type.Date cannot be 
> converted to java.sql.Date
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/DrillHiveMetaStoreClient.java:[100,17]
>  error: cannot find symbol
> [ERROR]   symbol:   method setTokenStr(UserGroupInformation,String,String)
>   location: class Utils
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillTimeStampTimestampObjectInspector.java:[29,16]
>  error: Required is not abstract and does not override abstract method 
> getPrimitiveJavaObject(Object) in TimestampObjectInspector
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillTimeStampTimestampObjectInspector.java:[35,30]
>  error: getPrimitiveJavaObject(Object) in Required cannot implement 
> getPrimitiveJavaObject(Object) in TimestampObjectInspector
> [ERROR]   return type java.sql.Timestamp is not compatible with 
> org.apache.hadoop.hive.common.type.Timestamp
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillTimeStampTimestampObjectInspector.java:[44,29]
>  error: getPrimitiveWritableObject(Object) in Required cannot implement 
> getPrimitiveWritableObject(Object) in TimestampObjectInspector
> [ERROR]   return type TimestampWritable is not compatible with 
> TimestampWritableV2
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillTimeStampTimestampObjectInspector.java:[54,16]
>  error: Optional is not abstract and does not override abstract method 
> getPrimitiveJavaObject(Object) in TimestampObjectInspector
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillTimeStampTimestampObjectInspector.java:[60,30]
>  error: getPrimitiveJavaObject(Object) in Optional cannot implement 
> getPrimitiveJavaObject(Object) in TimestampObjectInspector
> [ERROR]   return type java.sql.Timestamp is not compatible with 
> org.apache.hadoop.hive.common.type.Timestamp
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillTimeStampTimestampObjectInspector.java:[72,29]
>  error: getPrimitiveWritableObject(Object) in Optional cannot implement 
> getPrimitiveWritableObject(Object) in TimestampObjectInspector
> [ERROR]   return type TimestampWritable is not compatible with 
> TimestampWritableV2
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillDateDateObjectInspector.java:[29,16]
>  error: Required is not abstract and does not override abstract method 
> getPrimitiveJavaObject(Object) in DateObjectInspector
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillDateDateObjectInspector.java:[35,25]
>  error: getPrimitiveJavaObject(Object) in Required cannot implement 
> getPrimitiveJavaObject(Object) in DateObjectInspector
> [ERROR]   return type java.sql.Date is not compatible with 
> org.apache.hadoop.hive.common.type.Date
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillDateDateObjectInspector.java:[44,24]
>  error: getPrimitiveWritableObject(Object) in Required cannot implement 
> getPrimitiveWritableObject(Object) in DateObjectInspector
> [ERROR]   return type DateWritable is not compatible with DateWritableV2
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillDateDateObjectInspector.java:[54,16]
>  error: Optional is not abstract and does not override abstract method 
> getPrimitiveJavaObject(Object) in DateObjectInspector
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillDateDateObjectInspector.java:[60,25]
>  error: getPrimitiveJavaObject(Object) in Optional cannot implement 
> getPrimitiveJavaObject(Object) in DateObjectInspector
> [ERROR]   return type java.sql.Date is not compatible with 
> org.apache.hadoop.hive.common.type.Date
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillDateDateObjectInspector.java:[72,24]
>  error: getPrimitiveWritableObject(Object) in Optional cannot implement 
> getPrimitiveWritableObject(Object) in DateObjectInspector
> [INFO] 16 errors
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to