当前位置: 首页 > 知识库问答 >
问题:

从大型机EBCDIC文件读取页眉和页脚

田慈
2023-03-14

有一些可以读取EDCDIC文件的解决方案,比如-https://github.com/rbheemana/cobol-to-hive,但是当EDCDIC文件包含偏移长度不相等的行时,这种方法就失败了。

我编写了MapReduce作业来读取EBCDIC文件,并通过读取基于偏移量值的每一行来转换为CSV/Parquet,因此所有行的长度都是固定的,下面是示例代码

Configuration conf = new Configuration();
conf.setInt(FixedLengthInputFormat.FIXED_RECORD_LENGTH, 100);
Job job = Job.getInstance(conf);
job.setInputFormatClass(FixedLengthInputFormat.class);

当输入的EBCDIC文件不能被偏移量(记录)长度整除时,这也会失败。

有什么方法可以读取和转换带有页眉和页脚的EBCDIC文件到ASCII文件吗?

共有1个答案

司寇望
2023-03-14

我不太了解hadoop,我推测该文件来自IBM大型机(Z-OS)。同时查看https://github.com/rbheemana/cobol-to-hive,它似乎可以处理VB文件,所以应该有一种方法。

如果文件是大型机上的VB文件,则每个记录都将有一个记录描述符字(RDW)。默认情况下,一些文件传输函数会删除RDW。您可能需要RDW。JRecord当然可以使用它

可能的解决办法包括:

  • 在传输之前将文件转换为主机上的固定宽度/AS400-非常容易。
  • 在大型机上提取页眉/页脚详细信息-非常容易
  • 使用JRecord提取页眉/页脚或转换为固定宽度-非常简单
  • 看看project CopybookInputFormat它是基于JRecord的,它可能工作得更好。它应该有更好的Cobol支持。
  • 使用JRecord读取文件(需要执行自己的代码才能加载到hadoop中)。
 类似资料:
  • 也许以前有人问过这个问题,但我似乎找不到一个准确的答案或解决办法。我开始使用RecycerView,并使用LinearLayoutManager实现了它。现在,我想添加自定义的页眉和页脚项,这些项不同于RecycerView中的其他项。页眉和页脚不应该粘,我希望他们滚动与其余的项目。有人能指出一些例子如何做到这一点或只是分享想法。我会非常感激的。THX

  • 问题内容: 如何在我的PDF页面中添加 页眉 和 页脚 ?我想要一个表,表头中有3列,其他表中,页脚中有3列。我的页面可能是A3或A4,并且是横向或纵向。 谁能帮我?我在互联网上找不到很好的例子。 谢谢! mas正 问题答案: 创建一个MyPageEventListener类,该类扩展了 PdfPageEventHelper 将页面事件侦听器添加到PdfWriter对象 在MyPageEventL

  • 问题内容: 我想创建包含在多个html页面中的通用页眉和页脚页面。 我想使用JavaScript。有没有办法只使用html和JavaScript来做到这一点? 我想在另一个html页面中加载页眉和页脚页面。 问题答案: 您可以使用jquery完成此操作。 将此代码放在 并将此代码放在和中,与 现在,当您访问时,您应该可以单击链接标记。

  • 问题内容: 我真的不喜欢在每个控制器中编写代码: 是否可以这样做,将自动包含页眉和页脚,如果需要更改它,我们也可以这样做吗?你怎么处理?还是您认为这不是问题?谢谢。 问题答案: 这是我的工作: 对于CI 3.x: 然后,在您的控制器中,这就是您要做的一切:

  • 问题内容: 在我的ListActivity中,我需要页眉和页脚视图(在列表的顶部和底部)分别用作列表上的上一页和下一页按钮,因为我一次只想显示20个项目。 我通过执行以下操作来设置标题和脚位视图: 这可以正常工作,但是我需要动态删除并添加这些页眉和页脚视图,因为列表中的某些页面可能没有下一页按钮或上一页按钮。 问题是,调用setListAdapter之后,我无法调用addHeaderView或ad

  • 我正在用CSS来创建具有固定页眉和页脚以及可滚动内容的可滚动“窗口”。这里被接受的答案是我已经得出的最接近解决这个问题的答案,但这需要设置“内容”类div的高度。 我的目标是:1。如果内容小于机身高度,则不滚动2。如果内容长于正文高度减去页眉和页脚,则滚动。 如何实现这一点?