解析异常 EOF Hive

Posted

技术标签:

【中文标题】解析异常 EOF Hive【英文标题】:Parse Exception EOF Hive 【发布时间】:2017-04-17 19:40:54 【问题描述】:

查询:

hive> CREATE TABLE GREENTAXI(VendorID INT, pick_up_date DATE,drop_date DATE,Flag CHAR(1),rate_code INT, pick_up_long STRING,pick_up_lat STRING,drop_off_long STRING,drop_off_lat STRING,passenger_count INT,trip_distance DECIMAL,fare_amount DECIMAL,Extra DECIMAL,Tax DECIMAL,Tip DECIMAL,Tolls INT,Fee INT,Surcharge DECIMAL,total_amount DECIMAL,payment_type INT,trip_type INT)COMMENT 'Data about Green NYC Taxi for the year 2016-Jan’ ROW FORMAT DELIMITED FIELDS TERMINATED BY ','STORED AS TEXTFILE;

我收到此错误。请指教

【问题讨论】:

更改2016-Jan附近的结束语。 看起来是字符编码。使用简单的文本编辑器再试一次。 请用文字替换图片。 @Harish,你接受了错误的答案。 我已将 Jan 之后的报价替换为另一个报价,并且有效 【参考方案1】:

看起来像一些字符编码问题。使用简单的编辑器。试过这个并且工作:

CREATE TABLE greentaxi 
  ( 
     vendorid        INT, 
     pick_up_date    DATE, 
     drop_date       DATE, 
     flag            CHAR(1), 
     rate_code       INT, 
     pick_up_long    STRING, 
     pick_up_lat     STRING, 
     drop_off_long   STRING, 
     drop_off_lat    STRING, 
     passenger_count INT, 
     trip_distance   DECIMAL, 
     fare_amount     DECIMAL, 
     extra           DECIMAL, 
     tax             DECIMAL, 
     tip             DECIMAL, 
     tolls           INT, 
     fee             INT, 
     surcharge       DECIMAL, 
     total_amount    DECIMAL, 
     payment_type    INT, 
     trip_type       INT 
  ) 
comment 'Data about Green NYC Taxi for the year 2016-Jan'
ROW FORMAT DELIMITED 
FIELDS TERMINATED BY ','
STORED AS TEXTFILE;

【讨论】:

正如@franklinsijo 评论的那样,这里的问题(唯一的问题)是应该更改为'的评论的结束引号( @Dudu Markovitz,投反对票的原因是什么?你错了(关于唯一的问题),看看错误信息。它显示字符 487。我尝试了此代码并通过仅更改最后一个字符使其工作。收回你的反对票,伙计。 错字不是“字符编码问题”。除了替换该单个字符外,无需进行任何更改。 “ not supported here”,因为评论的开头限定符不匹配。文件结束的时间比预期的要早。 正文到此结束。解析器正在寻找匹配的 ' 并在找到之前到达文本的末尾。 第 1 行,字符 487

以上是关于解析异常 EOF Hive的主要内容,如果未能解决你的问题,请参考以下文章

序列化和反序列化原理解析及ObjectOutputStream出现EOF异常分析解决

Hive解析Json数据

Hive 创建表:解析 json 文件时解析错误缺少“>”

hive 错误日志在cli上显示问题

行错误解析异常的配置单元查询错误

HDFS oiv解析Fsimage OOM异常处理