- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
一点背景:
我的程序用来支持普通的文件系统,并使用ExcelDataContext读取Excel文件(并对数据进行一些操作)。一切都很好。
现在:
我的程序必须进行修改以支持Hadoop Oozie并与之一起工作。使用 Metamodel-hadoop 4.3.5版本,我设法使用 HdfsResource 从hadoop读取了excel文件。 ExcelDataContext能够支持资源,可以像以前一样完成相同的工作。
问题:
但是,即使我的程序完成运行,我的oozie作业工作流程也无法结束/压缩。经过几个小时的调试,我发现这是使用HdfsResource初始化ExcelDataContext的问题。
这是我定义 HdfsResource 的方法。
...
Resource hdfsResource = new HdfsResource(hdfsExcelFilePath);
ExcelDataContext dc = new ExcelDataContext(hdfsResource, excelConfiguration);
....
hdfsResource = null;
最佳答案
经过两天的调查研究,我发现我走错了方向。不是资源无法正确关闭的问题,而是相反的问题。 “HdfsResource”已正确关闭HDFS,这会导致Oozie工作流由于关闭连接而无法获取HDFS。
解决方案:
我已经在MetaModel-Hadoop中克隆了HDFSResource的相同副本,该副本使用 FileHelper.SafeClose(fs)修改了所有功能以将其注释掉。我不确定这是否是正确的方法,但我的目的是让HDFS连接始终可用,直到Oozie在完成工作后结束连接本身为止。
关于hadoop - 元模型hadoop-ExcelDataContext的HdfsResource问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32522972/
我是一名优秀的程序员,十分优秀!