簡體   English   中英

Hive throws:WstxParsingException:非法字符實體:擴展字符(代碼0x8)

[英]Hive throws: WstxParsingException: Illegal character entity: expansion character (code 0x8)

我按照教程安裝了hadoop和hive。 該教程已過時,因此我使用了當前版本。 當我啟動配置單元時,我收到以下錯誤:

hive SLF4J:實際綁定的類型為[org.apache.logging.slf4j.Log4jLoggerFactory]線程“main”中的異常java.lang.RuntimeException:com.ctc.wstx.exc.WstxParsingException:非法字符實體:擴展字符(代碼0x8)在[row,col,system-id]:org.apache.hadoop的[3210,96,“file:... / software / apache-hive-3.1.0-bin / conf / hive-site.xml”]位於org.apache.hadoop.conf.confo.conf.:::::: org.apache.hadoop.conf.Configuration.getProps上的org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:2931)中的.conf.Configuration.loadResource(Configuration.java:3003),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的org.apache.hadoop.hive.conf.HiveConf.initialize(HiveConf.java:5150)。(HiveConf.java) :5093)在org.apache.hadoop.hive上的org.apache.hadoop.hive.common.LogUtils.initHiveLog4jCommon(LogUtils.java:97) .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(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)org.apache.hadoop.util.RunJar.run(RunJar.java:318)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 version“1.8.0_181”。 我在教程中添加了一些行文件以進行配置,但我根本沒有觸及這一行。 我是否必須下載不同版本的配置單元?

你在hive-site.xml有這樣的東西

確保使用OVERWRITE(例如INSERT OVERWRITE)的命令獲取?事務表的Exclusive鎖。 這可確保INSERT OVERWRITE不會隱藏並發運行的插入(無覆蓋)。

它拋出了這個錯誤,因為在fortransactional之間有一個特殊的字符()。 刪除該字符或復制並粘貼(替換)在<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>

刪除3210,96行和列的特殊章程,然后重新運行配置單元。 [3210,96, “文件:/usr/local/hive/conf/hive-site.xml”]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM