如何解决显示最近创建的空表时在HIVE中出现“错误:列表索引超出范围”
我正在使用虚拟盒来运行cloudera v5.4.2-0。 我按照在线课程的说明使用以下HIVEQL创建空表:
create table sales_all_years (RowID smallint,OrderID int,OrderDate date,OrderMonthYear date,Quantity int,Quote float,DiscountPct float,Rate float,SaleAmount float,CustomerName string,CompanyName string,Sector string,Industry string,City string,ZipCode string,State string,Region string,ProjectCompleteDate date,DaystoComplete int,ProductKey string,ProductCategory string,ProductSubCategory string,Consultant string,Manager string,HourlyWage float,RowCount int,WageMargin float)
partitioned by (yr int) -- partitioning
row format serde 'com.bizo.hive.serde.csv.CSVSerde'
stored as textfile;
我做了一些实验,意识到对表进行分区会导致错误,但我无法弄清原因。
P.S。我对此有些陌生。抱歉,如果是我的问题,格式可能有误
解决方法
问题可能出在com.bizo.hive.serde.csv.CSVSerde
上。尝试用不同的SerDe创建表,例如
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES (
"separatorChar" = ",","quoteChar" = "'","escapeChar" = "\\"
)
STORED AS TEXTFILE
或者只是带有相应分隔符的文本文件
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。