John Zhuang 2022-01-13 17:34 采纳率: 0%
浏览 67

Hive操作后,log报错:Nested exception: java.io.FileNotFoundException

问题遇到的现象和发生背景

用java编写hive的拼接操作时,拼接失败了,查看log报错:Nested exception: java.io.FileNotFoundException: hdfs:/master:9000/export/landMark.xml (没有那个文件或目录)

img


img


可是我的xml文件就在这个目录下面,并且权限也都打开了。

img

问题相关代码,请勿粘贴截图

这里是我java编写的代码,路径写得是new File("/export/landMark.xml"),按道理也没有毛病??

package cn.itcast.telecom.landmark;

import cn.itcast.telecom.entity.LandMark;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * @author John
 * @Date 2022/1/13 10:25
 */
public class LandMarkUtil {
    public LandMarkUtil() {
    }

    public static List<LandMark> parseLandMark() throws DocumentException {
        SAXReader reader = new SAXReader();
        Document document = null;
        document = reader.read(new File("/export/landMark.xml"));//此处需将landMark.xml配置文件上传至jar所在节点的/ export目录下
        Element root = document.getRootElement();
        List list = root.elements("resourceitem");
        List<LandMark> landMarkBeans = new ArrayList();
        Iterator i = list.iterator();

        while(i.hasNext()) {
            Element landMark = (Element)i.next();
            LandMark bean = new LandMark();
            bean.setLowerLeftLon(Double.valueOf(landMark.element("lowerLeftLon").getText()));
            bean.setLowerLeftLat(Double.valueOf(landMark.element("lowerLeftLat").getText()));
            bean.setTopRightLon(Double.valueOf(landMark.element("topRightLon").getText()));
            bean.setTopRightLat(Double.valueOf(landMark.element("topRightLat").getText()));
            bean.setCategory(landMark.element("category").getText());
            bean.setLandMarkName(landMark.element("landMarkName").getText());
            landMarkBeans.add(bean);
        }

        return landMarkBeans;
    }

    public static void main(String[] args) {
        LandMarkUtil var1 = new LandMarkUtil();

        try {
            parseLandMark();
        } catch (DocumentException var3) {
            var3.printStackTrace();
        }

    }
}


希望指导指导!!

  • 写回答

2条回答 默认 最新

  • AlexChenKing 2022-01-13 20:13
    关注

    你的程序不是在root用户下运行的吧

    评论

报告相同问题?

问题事件

  • 创建了问题 1月13日

悬赏问题

  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 matlab(相关搜索:紧聚焦)