我正试图在配置单元中创建表,但出现了下面提到的错误。有人能帮我什么问题吗?
CREATE EXTERNAL TABLE IF NOT EXISTS flightInfo2008
(Year INT,
Month INT,
DayofMonth INT,
DayOfWeek INT,
DepTime INT,
CRSDepTime INT,
ArrTime INT,
CRSArrTime INT,
UniqueCarrier STRING,
FlightNum INT,
TailNum STRING,
ActualElapsedTime INT,
CRSElapsedTime INT,
AirTime INT,
ArrDelay INT,
DepDelay INT,
Origin STRING,
Dest STRING,
Distance INT,
TaxiIn INT,
TaxiOut INT,
Cancelled INT,
CancellationCode INT,
Diverted INT,
CarrierDelay INT,
WeatherDelay INT,
NASDelay INT,
SecurityDelay INT,
LateAircraftDelay INT)
COMMENT 'mydb flightInfo2008'
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ';'
STORED AS TEXTFILE
LOCATION '/user/hadoop/mydata';
失败:parseexception行15:10无法识别列类型中“,”“arrdelay”“int”附近的输入
Hive>
2条答案
按热度按时间eaf3rand1#
查找从记事本复制文本时可能添加的一些特殊字符。
syqv5f0l2#
从配置单元运行create语句:
失败:parseexception行33:22输入“”不匹配,表行格式的字段分隔符中的stringliteral应在“by”附近
从直线:
错误:编译语句时出错:失败:parseexception行33:22不匹配的输入“”在表行格式的字段分隔符(state=42000,code=40000)中要求stringliteral靠近“by”
在这两种情况下,问题在于
以“;”结尾的字段
应该写为
以“\;”结尾的字段
在这个修改之后,我从hive和beeline创建了表。
Impala 壳接受两个';'和“\;”并成功创建表。
但是你的错误信息和我的不一样。因此,我同意已经给出的答案,显然问题是看不见的特殊字符(s)近延迟。