Hive 无法通过配置单元查询获取所需的输出

Hive 无法通过配置单元查询获取所需的输出,hive,Hive,我有两个以分号分隔的输入文件。我将这些文件加载到两个表中。两个表都包含有关书籍的信息。我加入了ISBN字段上的两个表。为了创建这些表,我使用以下查询跳过标题并读取分号分隔的文件:- Create table books (ISBN STRING,BookTitle STRING,BookAuthor STRING,YearOfPublication STRING,Publisher STRING,ImageURLS STRING,ImageURLM STRING,ImageURLL STRING

我有两个以分号分隔的输入文件。我将这些文件加载到两个表中。两个表都包含有关书籍的信息。我加入了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。请告诉我可以做什么。提前感谢。

您的DDL脚本不正确

你提到

以“\;”结尾的行格式分隔字段

但实际上应该是这样

以“;”结尾的行格式分隔字段


试试这个,让我知道发布年份是一个字符串,所以您需要将其更改为

WHERE b.YearOfPublication = '2002'

你好,Sunil,我测试了你之前提到的方法,但它不起作用。如果我这样做,就会出错。这就是我使用“/;”的原因。如果我错了,请告诉我。他会试试,然后告诉你。谢谢,我试过了,但也没用。在运行查询之后,我只得到OK和所花费的时间,其他什么都没有。请建议。