我是apache hive的新手并且正在对样本数据运行查询,这些查询保存在csv文件中,如下所示:
0195153448;"Classical Mythology";"Mark P. O. Morford";"2002";"Oxford University Press";"//images.amazon.com/images/P/0195153448.01.THUMBZZZ.jpg";"http://images.amazon.com/images/P/0195153448.01.MZZZZZZZ.jpg";"images.amazon.com/images/P/0195153448.01.LZZZZZZZ.jpg"
我创建的表格是
hive> describe book;
OK
isbn bigint
title string
author string
year string
publ string
img1 string
img2 string
img3 string
Time taken: 0.085 seconds, Fetched: 8 row(s)
我用来创建表的脚本是:
create table book(isbn int,title string,author string, year string,publ string,img1 string,img2 string,img3 string) row format delimited fields terminated by '\;' lines terminated by '\n' location 'path';
当我尝试使用以下查询从表中检索数据时:
select *from book limit 1;
我得到以下结果:
NULL "Classical Mythology" "Mark P. O. Morford" "2002" "Oxford University Press" "http://images.amazon.com/images/P/0195153448.01.THUMBZZZ.jpg" "images.amazon.com/images/P/0195153448.01.MZZZZZZZ.jpg" "images.amazon.com/images/P/0195153448.01.LZZZZZZZ.jpg"
即使我将第一列类型指定为int或bigint,表中的数据也会被加载为NULL。
我尝试在互联网上搜索,可能会发现我必须指定行分隔符。我也使用了它,但表中的数据没有变化。
我有什么问题吗?请帮忙。