Hadoop 无法将数据加载到配置单元表中

Hadoop 无法将数据加载到配置单元表中,hadoop,hive,cloudera-cdh,Hadoop,Hive,Cloudera Cdh,在CDH5.13中,我使用HiveShell创建了一个内部表。但是,当我尝试将数据加载到其中时,会出现以下错误: hive> LOAD DATA INPATH '/user/tom/data.txt' INTO TABLE managed_table; Loading data to table demo.managed_table FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.Move

在CDH5.13中,我使用HiveShell创建了一个内部表。但是,当我尝试将数据加载到其中时,会出现以下错误:

hive> LOAD DATA INPATH '/user/tom/data.txt' INTO TABLE managed_table;
Loading data to table demo.managed_table
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask. org.apache.hadoop.hive.ql.metadata.HiveException: Access denied: Unable to move source hdfs://quickstart.cloudera:8020/user/tom/data.txt to destination hdfs://quickstart.cloudera:8020/user/hive/warehouse/demo.db/managed_table: Permission denied: user=cloudera, access=WRITE, inode="/user/tom":hdfs:supergroup:drwxr-xr-x
我尝试执行以下操作,但仍然无法加载文件

[cloudera@quickstart /]$ sudo -u hdfs hadoop fs -chmod 777 /user/tom/data.txt
[cloudera@quickstart /]$ hdfs dfs -ls /user/tom/
Found 1 items
-rwxrwxrwx   1 hdfs supergroup         64 2020-01-24 00:57 /user/tom/data.txt


从错误中可以看出,似乎需要在目录级别进行访问
/user/tom

权限被拒绝:user=cloudera,access=WRITE,inode=“/user/tom”:hdfs:supergroup:drwxr-xr-x

从描述来看,似乎对目录
/user/tom
下的
.txt
文件而不是目录本身执行了
chmod 777

尝试运行下面的,看看它是否解决了问题


sudo-uhdfs-hadoop-fs-chmod-r777/user/tom/

是的,它对我有用。现在我可以加载文件了。
[cloudera@quickstart /]$ sudo -u hdfs hadoop fs -chmod 777 /user/hive/warehouse/demo.db/managed_table
[cloudera@quickstart /]$ hdfs dfs -ls /user/hive/warehouse/demo.db/
Found 1 items
drwxrwxrwx   - cloudera supergroup          0 2020-01-24 05:28 /user/hive/warehouse/demo.db/managed_table