使用Hive查询无法获得所需的输出

时间:2015-03-31 09:28:31

标签: hive

我有两个以分号分隔的输入文件。我将这些文件加载​​到两个表中。两个表都包含有关书籍的信息。我加入了ISBN字段的两个表格。为了创建这些表,我使用以下查询跳过标题并读取半冒号分隔文件: -

Create table books (ISBN STRING,BookTitle STRING,BookAuthor STRING,YearOfPublication STRING,Publisher STRING,ImageURLS STRING,ImageURLM STRING,ImageURLL STRING) row format delimited fields terminated by '\;' lines terminated by '\n'  tblproperties ("skip.header.line.count"="1");

现在,当我尝试以下查询但我没有得到所需的输出时: -

SELECT a.BookRating, COUNT(BookTitle) 
FROM Books b 
JOIN Rating a 
on (b.ISBN = a.ISBN) 
WHERE b.YearOfPublication = 2002 
GROUP BY a.BookRating;

我什么都没得到。查询完全运行后,它在终端上显示OK。请告诉我可以做些什么。提前谢谢。

2 个答案:

答案 0 :(得分:0)

您的DDL脚本不正确。

您已提及

由'\;'

终止的行格式分隔字段

但实际上它应该是

行格式分隔的字段以';'

结尾

试试这个并告诉我

答案 1 :(得分:0)

YearOfPublication是一个字符串,因此您需要将其更改为

WHERE b.YearOfPublication = '2002'