2015-05-13 52 views
-1

我試圖在磁盤上的.csv文件加載到蜂巢表。加載.csv文件到HIVE產生具有單一的長排

CREATE TABLE mytable 
(
id_number STRING, 
country STRING 
) 
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' 
STORED AS TEXTFILE; 

我然後傾倒在文件中的數據到蜂巢使用以下查詢:

每本answer在計算器上,我使用下面的查詢創建表

LOAD DATA LOCAL INPATH /mytable.csv OVERWRITE INTO TABLE mytable; 

不幸的是,在配置單元中的結果表包括單個行,其中每個元件(如下所示)是從該.csv文件中的一行的一個搗爛在一起版本的:

「aDXLS23M \ tRussia」

我一直堅持這個幾個小時,無法弄清楚如何讓配置單元識別.csv文件中的列分隔符。有什麼建議麼?

在此先感謝。

+0

'\ t'是製表符分隔。試試'...「由‘\ T’由「\ t'' – gobrewers14

+0

您好,我試圖取代」,終止場,可惜沒有解決的問題。 – monkeybiz7

+0

發佈您的csv內容。只需3至4條線就足夠了。 –

回答

1

在蜂巢外殼做到這一點:

DROP TABLE IF EXISTS mytable; 

CREATE TABLE mytable (id_number STRING,country STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' STORED AS TEXTFILE; 

LOAD DATA LOCAL INPATH /mytable.csv OVERWRITE INTO TABLE mytable; 

只是在你創建命令\t替換,。如果可能,請發佈您的csv內容。

如果仍然沒有工作,請嘗試從加載數據的命令是這樣去除overwrite

LOAD DATA LOCAL INPATH /mytable.csv INTO TABLE mytable; 
-1

加載。CSV數據文件到蜂巢表

如。 創建表薪水(yrsofexp十進制(10,2),工資十進制(10,2))通過終止 行格式分隔的字段「」存儲爲文本文件;

LOAD DATA LOCAL INPATH '/home/Test/SalaryData.csv' 
OVERWRITE INTO TABLE salary; 

它加載完美