Броски улья: WstxParsingException: недопустимая символьная сущность: символ расширения (код 0x8) - PullRequest
0 голосов
/ 12 октября 2018

Я установил hadoop и hive, следуя этому руководству.Учебник устарел, поэтому я использовал текущие версии.Когда я запускаю куст, я получаю следующую ошибку:

куст SLF4J: фактическое связывание имеет тип [org.apache.logging.slf4j.Log4jLoggerFactory] Исключение в потоке "main" java.lang.RuntimeException:com.ctc.wstx.exc.WstxParsingException: недопустимая символьная сущность: символ расширения (код 0x8 в [row, col, system-id]: [3210,96, "file: ... / software / apache-hive-3.1.0-bin / conf / hive-site.xml "] в org.apache.hadoop.conf.Configuration.loadResource (Configuration.java:3003) в org.apache.hadoop.conf.Configuration.loadResources (Configuration.java:2931) в org.apache.hadoop.conf.Configuration.getProps (Configuration.java:2806) в org.apache.hadoop.conf.Configuration.get (Configuration.java:1460) в org.apache.hadoop.hive.conf.HiveConf.getVar (HiveConf.java:4990) в org.apache.hadoop.hive.conf.HiveConf.getVar (HiveConf.java:5063) в org.apache.hadoop.hive.conf.HiveConf.initialize (HiveConf.java:5150) на org.apache.hadoop.hive.conf.HiveConf. (HiveConf.java:5093) на org.apache.hadoop.hive.common.LogUtils.initHiveLog4jCommon (LogUtils.java:97) в org.apache.hadoop.hive.common.LogUtils.initHiveLog4j (LogUtils.java:81) в org.apache.hadoop.hive.cli.CliDriver.run (CliDriver.java:699) в org.apache.hadoop.hive.cli.CliDriver.main (CliDriver.java:683) в sun.reflect.NativeMethodAccessorImpl.invoke0 (нативный метод) в sun.reflect.NativeMethodAccessorImpl.invoke (NativeMmp)в sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) в java.lang.reflect.Method.invoke (Method.java:498) в org.apache.hadoop.util.RunJar.run: RunJar8) в org.apache.hadoop.util.RunJar.main (RunJar.java:232)

Я посмотрел на указанный файл и нашел эту запись:

<description>
  Ensures commands with OVERWRITE (such as INSERT OVERWRITE) acquire Exclusive locks for&#8;transactional tables.  This ensures that inserts (w/o overwrite) running concurrently
  are not hidden by the INSERT OVERWRITE.
</description>

Я работаю на Ubuntu 16.04, hive 3.1.0, derby 10.8.1.2, hadoop 3.1.1, Java: версия openjdk "1.8.0_181".Я добавил несколько строк в файл для настройки, как описано в руководстве, хотя я вообще не трогал эти строки.Нужно ли загружать другую версию улья?

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

Удалите специальные чартеры в 3210,96 строке и столбце и просто повторно запустите улей.[3210,96, "Файл: /usr/local/hive/conf/hive-site.xml"]

0 голосов
/ 12 октября 2018

У вас есть что-то подобное в hive-site.xml

Гарантирует, что команды с OVERWRITE (например, INSERT OVERWRITE) получат эксклюзивные блокировки для транзакционных таблиц.Это гарантирует, что вставки (без перезаписи), работающие одновременно, не будут скрыты командой INSERT OVERWRITE.

Выдает эту ошибку, поскольку между словами для и транзакции есть специальный символ ().Удалите этот символ или скопируйте и вставьте (замените), который находится между <description> и </description>.

<description>
     Ensures commands with OVERWRITE (such as INSERT OVERWRITE) acquire Exclusive locks for 
     transactional tables. This ensures that inserts (w/o overwrite) running concurrently
     are not hidden by the INSERT OVERWRITE.
</description>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...