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