Я хочу получить доступ к значениям из hive-site.xml в моем классе ToolRunner hadoop (а именно, чтобы получить маркер делегирования куста).
Но когда я делаю new HiveConf()
или new HiveConf(configuration, HiveConf.class)
, созданный HiveConf содержит только значения по умолчанию и ни один из параметров из hive-site.xml
Я обнаружил упоминания о том, что решением должно быть добавление / etc / hive / conf к HADOOP_CLASSPATH в hadoop-env.sh, но это не исправило загрузку значений конфигурации и привело к исключению при попытке получить соединение JDBC HiveConnection.
Caused by: org.datanucleus.exceptions.NucleusUserException: Persistence process has been specified to use a ClassLoaderResolver of name "datanucleus" yet this has not been found by the DataNucleus plugin mechanism. Please check your CLASSPATH and plugin specification.
at org.datanucleus.NucleusContext.<init>(NucleusContext.java:283)
at org.datanucleus.NucleusContext.<init>(NucleusContext.java:247)
at org.datanucleus.NucleusContext.<init>(NucleusContext.java:225)
at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.<init>(JDOPersistenceManagerFactory.java:416)
at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.createPersistenceManagerFactory(JDOPersistenceManagerFactory.java:301)
at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.getPersistenceManagerFactory(JDOPersistenceManagerFactory.java:202)
Что похоже на то, что на пути к классам требуется больше кода улья, но оно отсутствует.
Как правильно узнать адрес HiveServer2 и другие настройки?