使用hive执行hive load命令-e'<hive command =“”>'

时间:2016-05-18 06:27:08

标签: linux hive

我正在尝试使用java代码执行hive命令。我的hive安装在linux虚拟机上,java代码在远程windows机器上,作为客户端。我能够成功调用hive命令,如:
hive -e'从mytable中选择*;'

但是当我尝试使用带语法的load命令时:
hive -e'LOAD DATA LOCAL INPATH'/home/mapr/file.csv'INTO TABLE mytable;'

它抛出一个错误,说“FAILED:ParseException行1:23不匹配的输入'/'期望在加载语句中'INPATH'附近的StringLiteral”

这似乎是文件路径附近可能出现转义字符问题的语法错误,因为我能够无错误地执行“Select * from mytable”。 任何人都可以使用hive -e?

帮助我使用hive load命令的语法

1 个答案:

答案 0 :(得分:0)

通过查看您的错误消息,很明显您使用单引号转义字符两次并将您的hive命令组合起来。

所以现在使用单引号和双引号来区分转义字符,它会起作用。

新的蜂巢声明如下:

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

希望这能帮到你!!!