Current storage plugin is using Hive 0.12 APIs. From the build errors it looks like the version of hive jar that you replaced is >= 0.13.0. Hive 0.13 (and above) have few API changes compared Hive 0.12. In order to resolve the kerberos error use jars built from Apache Hive 0.12 source + HIVE-7620 patch.
On Tue, Oct 7, 2014 at 8:57 PM, Li HM <[email protected]> wrote: > after I replaced the hive jar in local maven repo, and change the > hadoop version from 2.4.1 to 2.5.0 in pom.xml. > > The build failed with the following error: > > [INFO] --- maven-compiler-plugin:3.0:compile (default-compile) @ > drill-storage-hive-core --- > [INFO] Changes detected - recompiling the module! > [INFO] Compiling 34 source files to > /home/lih/incubator-drill/contrib/storage-hive/core/target/classes > [INFO] ------------------------------------------------------------- > [ERROR] COMPILATION ERROR : > [INFO] ------------------------------------------------------------- > [ERROR] > /home/lih/incubator-drill/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveRecordReader.java:[192,29] > error: cannot find symbol > [ERROR] symbol: method appendReadColumnIDs(JobConf,List<Integer>) > location: class ColumnProjectionUtils > > /home/lih/incubator-drill/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveRecordReader.java:[193,29] > error: appendReadColumnNames(Configuration,List<String>) has private > access in ColumnProjectionUtils > [ERROR] > /home/lih/incubator-drill/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveRecordReader.java:[524,15] > error: constructor HiveDecimal in class HiveDecimal cannot be applied > to given types; > [ERROR] required: BigDecimal > found: String > reason: actual argument String cannot be converted to BigDecimal by > method invocation conversion > > /home/lih/incubator-drill/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillDecimal38SparseObjectInspector.java:[58,13] > error: HiveDecimal(BigDecimal) has private access in HiveDecimal > [ERROR] > /home/lih/incubator-drill/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillDecimal38SparseObjectInspector.java:[66,13] > error: HiveDecimal(BigDecimal) has private access in HiveDecimal > [ERROR] > /home/lih/incubator-drill/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/expr/fn/HiveFunctionRegistry.java:[189,31] > error: no suitable constructor found for > GenericUDFBridge(String,boolean,Class<CAP#1>) > [INFO] 6 errors > [INFO] ------------------------------------------------------------- > [INFO] > ------------------------------------------------------------------------ > [INFO] Reactor Summary: > [INFO] > [INFO] Apache Drill Root POM ............................. SUCCESS > [18.888s] > [INFO] Drill Protocol .................................... SUCCESS > [26.133s] > [INFO] Common (Logical Plan, Base expressions) ........... SUCCESS > [26.195s] > [INFO] contrib/Parent Pom ................................ SUCCESS [1.563s] > [INFO] contrib/data/Parent Pom ........................... SUCCESS [0.970s] > [INFO] contrib/data/tpch-sample-data ..................... SUCCESS [9.590s] > [INFO] exec/Parent Pom ................................... SUCCESS [1.966s] > [INFO] exec/Java Execution Engine ........................ SUCCESS > [5:18.113s] > [INFO] contrib/hbase-storage-plugin ...................... SUCCESS > [22.751s] > [INFO] contrib/hive-storage-plugin/Parent Pom ............ SUCCESS [1.304s] > [INFO] contrib/hive-storage-plugin/hive-exec-shaded ...... SUCCESS > [28.498s] > [INFO] contrib/hive-storage-plugin/core .................. FAILURE > [12.699s] > [INFO] contrib/mongo-storage-plugin ...................... SKIPPED > [INFO] exec/JDBC Driver using dependencies ............... SKIPPED > [INFO] contrib/sqlline ................................... SKIPPED > [INFO] JDBC JAR with all dependencies .................... SKIPPED > [INFO] exec/Drill expression interpreter ................. SKIPPED > [INFO] Packaging and Distribution Assembly ............... SKIPPED > [INFO] > ------------------------------------------------------------------------ > [INFO] BUILD FAILURE > [INFO] > ------------------------------------------------------------------------ > [INFO] Total time: 7:50.911s > [INFO] Finished at: Wed Oct 08 03:48:06 UTC 2014 > [INFO] Final Memory: 72M/294M > [INFO] > ------------------------------------------------------------------------ > [ERROR] Failed to execute goal > org.apache.maven.plugins:maven-compiler-plugin:3.0:compile > (default-compile) on project drill-storage-hive-core: Compilation > failure: Compilation failure: > [ERROR] > /home/lih/incubator-drill/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveRecordReader.java:[192,29] > error: cannot find symbol > [ERROR] symbol: method appendReadColumnIDs(JobConf,List<Integer>) > [ERROR] location: class ColumnProjectionUtils > [ERROR] > /home/lih/incubator-drill/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveRecordReader.java:[193,29] > error: appendReadColumnNames(Configuration,List<String>) has private > access in ColumnProjectionUtils > [ERROR] > /home/lih/incubator-drill/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveRecordReader.java:[524,15] > error: constructor HiveDecimal in class HiveDecimal cannot be applied > to given types; > [ERROR] required: BigDecimal > [ERROR] found: String > [ERROR] reason: actual argument String cannot be converted to > BigDecimal by method invocation conversion > [ERROR] > /home/lih/incubator-drill/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillDecimal38SparseObjectInspector.java:[58,13] > error: HiveDecimal(BigDecimal) has private access in HiveDecimal > [ERROR] > /home/lih/incubator-drill/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillDecimal38SparseObjectInspector.java:[66,13] > error: HiveDecimal(BigDecimal) has private access in HiveDecimal > [ERROR] > /home/lih/incubator-drill/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/expr/fn/HiveFunctionRegistry.java:[189,31] > error: no suitable constructor found for > GenericUDFBridge(String,boolean,Class<CAP#1>) > [ERROR] -> [Help 1] > [ERROR] > [ERROR] To see the full stack trace of the errors, re-run Maven with > the -e switch. > [ERROR] Re-run Maven using the -X switch to enable full debug logging. > [ERROR] > [ERROR] For more information about the errors and possible solutions, > please read the following articles: > [ERROR] [Help 1] > http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException > [ERROR] > [ERROR] After correcting the problems, you can resume the build with the > command > [ERROR] mvn <goals> -rf :drill-storage-hive-core > > On Mon, Oct 6, 2014 at 11:07 PM, Venki Korukanti > <[email protected]> wrote: > > Hi, > > > > Hive 0.12 with kerberos is incompatible with Hadoop 2.5.0 due to API > > changes in Hadoop 2.5.0. More details are here: > > https://issues.apache.org/jira/browse/HIVE-7620. One way to make it > work is > > port HIVE-7620 patch to hive 0.12, build Hive and install hive jars in > > local maven repo, then build drill which picks ups hive jars in local > maven > > repo. > > > > Thanks > > Venki > > > > On Mon, Oct 6, 2014 at 10:21 PM, Li HM <[email protected]> wrote: > > > >> Does Drill support Hive 0.12.0 on top of hadoop 2.5.0 with kerberos? > >> > >> Anybody ever made it work? > >> >
