2013-11-24 57 views
2

我試圖從'製表符分隔的文件'中插入一些數據到已經創建的HIVE表中。我在名爲'users'的HIVE表中創建了4個基本列。我使用下面的命令:將數據插入到HIVE表中時出錯

load data local inpath 'D:\users.txt' 
into table users; 

我收到以下錯誤信息運行上面的命令後:

FAILED: SemanticException [Error 10028]: Line 1:23 Path is not legal ''D:\users.txt'': Source file system should be "file" if "local" is specified 

我使用Windows 7,並通過PUTTY運行在Amazon Web Services的HIVE。 任何幫助將不勝感激。

TIA

+1

我不知道這是如何工作的窗口..但它看起來像你必須給file:/// D://users.txt –

+0

聲波是正確的:java與'/'作爲文件分隔符,而不是像windoes一樣'\' – xhudik

+0

無論如何你不能直接從本地計算機加載文件以在AWS上配置。 local關鍵字在運行配置單元的文件服務器上與本地的hdfs文件相對。將文件複製到服務器(例如,使用winscp),然後使用服務器中的本地路徑發出加載命令 – dimamah

回答

1

所以最後,如果有人試圖將值添加到從製表符分隔文本文件中的表格,下面的命令應該工作:

hive> create table test_table(k string, v string) row format delimited fields terminated by '\t' stored as textfile; 
+0

將製表符分隔文件複製到服務器後,上述命令將生效。我用WinSCP做了這個。 – Patthebug