命令:
load data local inpath '/root/my_data/01_cookie.txt' into table test.t_cookie;
在linux系统hive中执行,把/root/my_data/01_cookie.txt文件加载到集群中hdfs的/user/hive/warehouse下test库t_cookie表,命令成功。
但是该语句放到datagrip上或者Hue上执行,显示“路径错误,找不到文件”
①首先排除路径问题
能在Linux系统下执行,则说明路径没有问题。
local关键字表示Hive在本地寻找文件(即Linux系统下)(拷贝文件),本地文件路径也可以指定完整的URI:
'file:///root/my_data/01_cookie.txt'
若从hdfs上导数据,完整URI为:(移动文件,非拷贝,)
'hdfs://namenode:端口号/root/my_data/01_cookie.txt'
如果没有Local关键字,Hive会根据完整的URI加载数据。
如果没有Local关键字,文件路径没有指定完整的URI,Hive默认从HDFS的目录下寻找文件(参数fs.default.name指定)
补充:如果对HiveServer2服务运行此命令。这里的本地文件系统指的是Hiveserver2服务所在