开发者社区 问答 正文

EMR的HIVE支持CTAS吗?或者HIVE的运行结果如何导入OSS?

OSS接入EMR,用hive处理数据,create table as select ,结果报错
Error creating temporary folder on: hdfs://
好像输出路径有问题,
求大神指教

展开
收起
lwf1596 2017-12-01 17:39:27 2905 分享 版权
阿里云 AI 助理回答

当您在使用阿里云E-MapReduce(EMR)中的Hive处理数据,并尝试通过CREATE TABLE AS SELECT语句将查询结果保存到一个新的表时,遇到“Error creating temporary folder on: hdfs://”这样的错误,这通常意味着Hive在尝试写入或创建临时文件夹时遇到了权限问题或者配置问题。以下是一些可能的解决方法:

  1. 检查HDFS权限: 确保Hive服务的用户(通常是hadoophive用户)有权限在指定的HDFS路径上创建目录。您可以使用Hadoop的hdfs dfs命令检查和修改权限,例如:

    hdfs dfs -ls /path/to/your/directory
    hdfs dfs -chmod 777 /path/to/your/directory
    

    或者给特定用户/组分配权限:

    hdfs dfs -chown hive:hive /path/to/your/directory
    hdfs dfs -chmod 775 /path/to/your/directory
    
  2. 检查Hive配置: Hive的配置文件(如hive-site.xml)中可能需要设置或确认几个关键参数,确保Hive知道如何与HDFS交互。特别是hive.exec.local.scratchdirhive.downloaded.resources.dir等涉及临时文件夹的配置项,要确保这些目录存在且Hive用户有写权限。

  3. EMR集群配置: 在阿里云EMR控制台,检查您的集群配置,确保HDFS服务与Hive服务之间的交互没有被错误的网络策略或安全组规则限制。

  4. OSS与HDFS集成: 如果您提到的路径是尝试直接写入阿里云对象存储OSS,那么需要确保您正确配置了Hadoop的OSS插件,使得Hive可以通过HDFS接口访问OSS。这通常涉及到在Hadoop配置中设置fs.oss.*相关的属性,比如fs.oss.accessKeyIdfs.oss.accessKeySecret以及fs.defaultFS等。请参考阿里云官方文档来正确配置OSS与Hadoop的集成。

  5. 查看日志: 查看Hive和HDFS的日志文件,可以提供更详细的错误信息,帮助定位问题。在EMR集群中,日志通常位于特定的目录下,可以通过EMR管理界面或SSH登录到集群节点后查看。

如果以上步骤不能解决问题,建议详细查看错误日志并考虑联系阿里云技术支持获取进一步的帮助。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答