gpt4 book ai didi

hadoop - 元模型hadoop-ExcelDataContext的HdfsResource问题

转载 作者:行者123 更新时间:2023-12-02 21:35:36 24 4
gpt4 key购买 nike

一点背景:
我的程序用来支持普通的文件系统,并使用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 = null;

最佳答案

经过两天的调查研究,我发现我走错了方向。不是资源无法正确关闭的问题,而是相反的问题。 “HdfsResource”已正确关闭HDFS,这会导致Oozie工作流由于关闭连接而无法获取HDFS。

解决方案:
我已经在MetaModel-Hadoop中克隆了HDFSResource的相同副本,该副本使用 FileHelper.SafeClose(fs)修改了所有功能以将其注释掉。我不确定这是否是正确的方法,但我的目的是让HDFS连接始终可用,直到Oozie在完成工作后结束连接本身为止。

关于hadoop - 元模型hadoop-ExcelDataContext的HdfsResource问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32522972/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com