MapReduce服务 MRS-执行load data inpath命令报错:解决方案

时间:2023-11-01 16:19:38

解决方案

Hive对load data inpath命令有如下权限要求,请对照下述要求是否满足:
  • 文件的owner需要为执行命令的用户。
  • 当前用户需要对该文件有读、写权限。
  • 当前用户需要对该文件的目录有执行权限。
  • 由于load操作会将该文件移动到表对应的目录中,所以要求当前用户需要对表的对应目录有写权限。
  • 要求文件的格式与表指定的存储格式相同。如创建表时指定stored as rcfile,但是文件格式为txt,则不符合要求。
  • 文件必须是HDFS上的文件,不可以用file://的形式指定本地文件系统上的文件。
  • 文件名不能以下横线(_)或点(.)开头,以这些开头的文件会被忽略。

    如下所示,如果用户test_hive load数据,正确的权限如下:

    [root@192-168-1-18 duan]# hdfs dfs -ls /tmp/input216/03/21 14:45:07 INFO hdfs.PeerCache: SocketCache disabled.Found 1 items-rw-r--r--   3 test_hive hive          6 2016-03-21 14:44 /tmp/input2/input.txt
support.huaweicloud.com/trouble-mrs/mrs_03_0161.html