2013-04-21 66 views
1

我是AWS和Hive的新手,我試圖使用Hive來分析Google Ngrams數據。我試圖在S3存儲桶中將製表保存爲製表符分隔的CSV,但現在我不知道如何查看它或下載它以查看我的作業是否正確執行。無法下載或閱讀Amazon S3存儲桶中的Hive輸出

我用來創建該表的查詢是

CREATE EXTERNAL TABLE test_table2 (
gram string, 
year int, 
occurrences bigint, 
pages bigint, 
books bigint 
) 
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' 
LINES TERMINATED BY '\n' 
STORED AS TEXTFILE 
LOCATION 's3://mybucket/sub-bucket/test-table2.txt'; 

我然後填充表與數據:

INSERT OVERWRITE TABLE test_table2 
SELECT 
gram, 
year, 
occurrences, 
pages, 
books 
FROM 
eng1m_5grams_normed 
WHERE 
gram = 'early bird gets the worm'; 

查詢運行得很好,我覺得一切運行正常。但是,當我在S3管理控制檯中聯機導航到我的存儲桶時,文本文件顯示爲包含一堆文件的文件夾。這些文件具有很長的十六進制字符名稱,並且大小爲0字節。

這只是表示文本文件的目錄?有沒有一種方法可以查看或下載文件以查看我的查詢是否有效?我試圖將該目錄設置爲公開,以便我可以下載它,但「操作」下拉菜單中的下載按鈕仍爲灰色。

回答

0

發生了什麼事情是,很少的行可能會限制where子句中的謂詞。所以很少(或沒有)行被選擇並輸出到輸出中(因此也是零大小的文件)。 EMR不提供簡單的方法來下載查詢結果。

0

在Hive/S3中,將S3目錄視爲表。這些目錄中包含的文件是這些表格的內容(即行)。你在目錄中有多個文件的原因是因爲多個還原器正在寫入「表」。

S3 Browser是使用S3的一個非常好的工具。