cdmikechen opened a new issue #736: hoodie-hive-hundle don't have hive jars
URL: https://github.com/apache/incubator-hudi/issues/736
 
 
   when using `run_sync_tool.sh` to sync a table like that:
   ```shell
   ./run_sync_tool.sh --user hdfs --database xxx --jdbc-url 
"jdbc:hive2://ip:10000/" --base-path /hive/warehouse/xxx/xx/ --table xx --pass  
""
   ```
   hoodie return this error:
   ```log
   2019-06-14 04:33:25,746 ERROR [main] metastore.RetryingHMSHandler 
(RetryingHMSHandler.java:invokeInternal(204)) - java.lang.NoClassDefFoundError: 
org/datanucleus/NucleusContext
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:348)
        at 
org.apache.hadoop.hive.metastore.MetaStoreUtils.getClass(MetaStoreUtils.java:1674)
        at 
org.apache.hadoop.hive.metastore.RawStoreProxy.getProxy(RawStoreProxy.java:64)
        at 
org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.newRawStoreForConf(HiveMetaStore.java:628)
        at 
org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.getMSForConf(HiveMetaStore.java:594)
        at 
org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.getMS(HiveMetaStore.java:588)
        at 
org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.createDefaultDB(HiveMetaStore.java:655)
        at 
org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.init(HiveMetaStore.java:431)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at 
org.apache.hadoop.hive.metastore.RetryingHMSHandler.invokeInternal(RetryingHMSHandler.java:148)
        at 
org.apache.hadoop.hive.metastore.RetryingHMSHandler.invoke(RetryingHMSHandler.java:107)
        at 
org.apache.hadoop.hive.metastore.RetryingHMSHandler.<init>(RetryingHMSHandler.java:79)
        at 
org.apache.hadoop.hive.metastore.RetryingHMSHandler.getProxy(RetryingHMSHandler.java:92)
        at 
org.apache.hadoop.hive.metastore.HiveMetaStore.newRetryingHMSHandler(HiveMetaStore.java:6891)
        at 
org.apache.hadoop.hive.metastore.HiveMetaStoreClient.<init>(HiveMetaStoreClient.java:164)
        at 
org.apache.hadoop.hive.metastore.HiveMetaStoreClient.<init>(HiveMetaStoreClient.java:129)
        at 
com.uber.hoodie.hive.HoodieHiveClient.<init>(HoodieHiveClient.java:102)
        at com.uber.hoodie.hive.HiveSyncTool.<init>(HiveSyncTool.java:61)
        at com.uber.hoodie.hive.HiveSyncTool.main(HiveSyncTool.java:189)
   Caused by: java.lang.ClassNotFoundException: org.datanucleus.NucleusContext
        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 23 more
   ```
   I found this class is in in `hoodie-hive-bundle` pom (`hive-metastore`), but 
when packaged a `hoodie-hive-bundle-0.4.8-SNAPSHOT.jar`, this class is missing. 
And in `run_sync_tool.sh`, it doesn't include hive lib about `hive-metastore` 
and its dependencies lib.
   I think maybe we can include hive jars in `hoodie-hive-bundle` pom.

----------------------------------------------------------------
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:
[email protected]


With regards,
Apache Git Services

Reply via email to