hive - Hive 无法将查询结果移动到文件夹
问题描述
我在 hive 中编写了一个选择查询,以将数据移动到特定文件夹。但我收到一个错误。请帮忙。
将数据移动到本地目录 /Dataproviders/DataSurgery/Order/out/jul24msngtxn/negtxns 失败并出现异常无法移动源 hdfs://mycluster/tmp/hive/sshuser/253d3089-fcc0-4656-82ca-ccbe893196ed/hive_2018-08- 16_06-58-29_220_388527949811395742-1/-mr-10000 到目的地 /Dataproviders/DataSurgery/Order/out/jul24msngtxn/negtxns 失败:执行错误,从 org.apache.hadoop.hive.ql.exec.MoveTask 返回代码 1
INSERT OVERWRITE LOCAL DIRECTORY '/Dataproviders/DataSurgery/Order/out/jul24msngtxn/negtxns/'
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\034'
STORED AS TEXTFILE
select * from sourcetable;
我已授予以下文件夹的完全权限。但问题依然存在
hdfs dfs -chmod 777 /tmp/hive
hdfs dfs -chmod -R 777 /Dataproviders/DataSurgery/
解决方案
我犯了一个可怕的错误。不应该存在关键字 LOCAL 来写入 hdfs 目录。我删除了它并且查询工作正常。请找到正确的查询。
INSERT OVERWRITE DIRECTORY '/Dataproviders/DataSurgery/Order/out/jul24msngtxn/negtxns/'
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\034'
STORED AS TEXTFILE
select * from sourcetable;
推荐阅读
- python - 如何在 PyGears 中获得位宽?
- python - Numpy 内存映射加载不拥有数据
- vue.js - 无法读取未定义的属性“$cookies”
- mysql - MySQL - N-Gram 解析器导致 CPU 使用率高
- tcl - tcl 错误:rong # args:应该是“set varName ?newValue?”
- sql - 将名称中带有空格的列从存储过程映射到 .net 模型
- html - 是否可以将 1fr 填充添加到 CSS 中的网格元素?
- android - 从图库中挑选后图像未通过 Glide 加载
- ruby-on-rails - 如何在rails 6上重置ruby中的主键ID?
- java - 带有语言环境的 com.badlogic.gdx.utils.I18NBundle.createBundleImpl 处的 LibGDX NullPointerException