0

我在 hdfs 中有 ebcdic 文件我想加载数据以触发数据帧,对其进行处理并将结果加载为 orc 文件,我发现有一个开源解决方案是 cobrix cobrix,它允许从 ebcdic 文件中获取数据,但开发人员必须提供一个作为模式定义的字帖文件。

附图中显示了我的 ebcedic 文件的几行。我想得到ebcdic文件的字帖格式,本质上我想读取vin的长度是17,vin_data的长度是3,最后vin_val的长度是100。

在此处输入图像描述

4

2 回答 2

2

如何定义ebcdic数据的copybook文件?

你没有。

抄写本可以用作记录定义(=数据的存储方式),它与可能存储在其中的数据的编码无关。

这留下了一个问题“我如何定义记录结构?”

您需要字段的数量、它们的长度和类型(可能不仅是USAGE DISPLAY),然后用一些花哨的名称来定义它。理想情况下,您只需从编写文件的 COBOL 程序中获取原始记录定义,如果尚未将其放入副本簿中,然后使用它。

您的链接中的示例实际上显示了字帖的外观,如果您在定义上遇到困难,请使用您定义的字帖编辑您的问题,我们可能会提供帮助。

于 2020-09-21T10:46:49.673 回答
1

根据您在问题中的评论,并查看输入文件,您可以从这个开始。

01  VIN-RECORD.
    05  VIN                 PIC X(17).
    05  VIN-COUNT           PIC S9(5) COMP-3.
    05  VIN-VALUE           PIC X(100).

我猜第二个字段是 COMP-3,基于六个示例,所有示例都以 C 字节结尾。这表明 COMP-3 值为正。AD 字节将是负 COMP-3 值。F 字节表示无符号 COMP-3 值。

第三个字段是可变长度的,右边用空格填充。

于 2020-09-21T11:16:03.380 回答