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

qjp7pelc  于 2021-06-29  发布在  Hive
关注(0)|答案(1)|浏览(505)

我正在尝试使用java代码执行hive命令。我的配置单元安装在linux虚拟机上,java代码安装在充当客户端的远程windows机器上。我能够成功地调用配置单元命令,如:
hive-e'selectfrom mytable;'
但当我尝试使用load命令时,语法如下:
hive-e'load data local inpath'/home/mapr/file.csv'到表mytable;'
它向我抛出一个错误:“failed:parseexception行1:23不匹配的输入“/”在load语句的“inpath”附近需要stringliteral”
这似乎是文件路径附近的语法错误,可能是转义符问题,因为我能够执行“select
from mytable”而没有错误。有人能帮助我使用hive-e的hive-load命令的语法吗?

cgyqldqp

cgyqldqp1#

通过查看错误消息,可以清楚地看到,您使用了两次单引号转义字符,并将配置单元命令集合起来。
所以现在使用单引号和双引号来区分转义字符,它将起作用。
新的配置单元语句如下所示:

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

希望这对你有帮助!!!

相关问题