我正在使用cloudera并在配置单元中运行查询

insert overwrite local directory '/home/cloudera/Documents/test' row
format delimited fields terminated by ',' select * from stocks sort
by close desc;

但是我给我的错误是
Copying data to local directory /home/cloudera/Documents/test
Failed with exception Unable to delete the existing destination
directory: /home/cloudera/Documents/test
FAILED: Execution Error, return code 1 from
org.apache.hadoop.hive.ql.exec.MoveTask

最佳答案

执行命令的用户需要对父目录(在本例中为/ home / cloudera / Documents)具有写权限,才能删除整个目录并创建一个新目录。此外,用户需要具有写许可权才能删除目录中当前存在的所有文件。

  • 检查哪个用户正在执行命令
  • 确保父目录/ home / cloudera / Documents具有允许用户写
  • 的权限设置
  • 确保用户对/ home / cloudera / Documents / test
  • 内部的所有文件都具有写权限

    为确保此方法有效,您可以:
  • 成为执行命令
  • 的用户
  • 导航到/ home / cloudera / Documents / test并删除所有文件
  • 导航到/ home / cloudera / Documents并删除目录“test”

  • 如果这样可以进行查询。如果不是,则需要检查哪个特定的权限设置与您的计划混淆。

    关于hadoop - 如何从Hive表覆盖到本地目录?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57164204/

    10-16 10:41