2015-11-24 2 views
0

Я хочу передать местоположение файла hive-site.xml в моей программе java.Найти местоположение hive-site.xml в java-коде

Каков наилучший способ узнать местоположение этого файла автоматически в java-коде?

Я не хочу жесткий код путь к /etc/hive/conf/hive-site.xml для Cloudera

от дистрибутива

ответ

1

По умолчанию в Hadoop Configuration Конструкторы поиск файлов конфигурации «blahblah-site.xml» в каталогах присутствует в CLASSPATH. Если он их не найдет, он возвращается к жестко закодированным «значениям по умолчанию» без предупреждения (!).

Поэтому убедитесь, что CLASSPATH содержит соответствующие каталоги на передней панели, например. /etc/hadoop/conf/:/etc/hive/conf/:/etc/tez/conf/:...

Тогда единственное, что вы должны сделать в коде Java, чтобы проверить, что критические свойства устанавливаются с чем-то еще, что трудно закодированных по умолчанию (и поднять PleaseSetupProperClasspathYouSuckerException, если это не так).

0
  • указан путь HIVE_HOME как/и т.д./улей/бина системной переменной среды и получить его в Java коде следующим образом,

Строка путь = System.getenv ("HIVE_HOME");

Смежные вопросы