2016-05-18 69 views
0

我想使用java代碼執行配置單元命令。我的配置單元安裝在linux虛擬機上,java代碼位於作爲客戶端的遠程Windows機器上。我能夠成功調用配置單元命令,如:
hive -e'Select * from mytable;'

但是,當我嘗試使用加載命令的語法如下:
hive -e'LOAD DATA LOCAL INPATH'/home/mapr/file.csv'INTO TABLE mytable;'

這引發了我一個錯誤說「失敗:ParseException的線不匹配1:23輸入‘/’負載聲明中預期近串文字‘INPATH’」
使用hive -e'<hive命令>'執行配置單元加載命令'

這似乎是一個可能的文件路徑附近的語法錯誤轉義字符問題,因爲我能夠執行「Select * from mytable」而沒有錯誤。 任何人都可以幫我使用配置單元加載命令的語法使用配置單元-e?

回答

0

通過查看您的錯誤消息,很明顯,您正在使用單引號轉義字符兩次,並擴大您的配置單元命令。

因此,現在使用單引號和雙引號來區分轉義字符,它將起作用。

新蜂箱聲明可以在下面給出:

hive -e 'LOAD DATA LOCAL INPATH "/home/mapr/file.csv" INTO TABLE mytable;' 

希望這可以幫助您!

+0

榮譽@Farooque,它的工作,非常感謝。 –