2015-03-31 40 views
0

我有兩個分號分隔的輸入文件。我將這些文件加載​​到兩個表中。兩張表都包含有關書籍的信息。我加入了ISBN字段的兩個表格。爲了創建這些表我用下面的查詢跳過頭和讀分號分隔的文件: - 現在沒有通過Hive查詢獲得所需的輸出

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。請讓我知道可以做些什麼。提前致謝。

回答

0

您的DDL腳本不正確。

您提到

以'\;'結尾的行格式定界字段

但實際上它應該是通過終止

行格式分隔的字段「;」

試試這個,讓我知道

+0

蘇尼爾你好,我測試你之前提到的方式,但它不能正常工作。如果我這樣做,我會得到一個錯誤。這就是我用'/'的原因。請讓我知道如果我在這裏錯了。 – 2015-03-31 15:14:15

0

yearofpublication介於一個字符串,所以你需要將其更改爲

WHERE b.YearOfPublication = '2002' 
+0

嗨,你會嘗試,讓你知道。謝謝 – 2015-03-31 16:18:55

+0

嗨我試過了,但也沒有奏效。在運行查詢之後,我只是得到OK和Time Taken,沒有別的。請建議。 – 2015-03-31 16:57:06