我在 hdfs 中有 ebcdic 文件我想加载数据以触发数据帧,对其进行处理并将结果加载为 orc 文件,我发现有一个开源解决方案是 cobrix cobrix,它允许从 ebcdic 文件中获取数据,但开发人员必须提供一个作为模式定义的字帖文件。
附图中显示了我的 ebcedic 文件的几行。我想得到ebcdic文件的字帖格式,本质上我想读取vin的长度是17,vin_data的长度是3,最后vin_val的长度是100。
我在 hdfs 中有 ebcdic 文件我想加载数据以触发数据帧,对其进行处理并将结果加载为 orc 文件,我发现有一个开源解决方案是 cobrix cobrix,它允许从 ebcdic 文件中获取数据,但开发人员必须提供一个作为模式定义的字帖文件。
附图中显示了我的 ebcedic 文件的几行。我想得到ebcdic文件的字帖格式,本质上我想读取vin的长度是17,vin_data的长度是3,最后vin_val的长度是100。
如何定义ebcdic数据的copybook文件?
你没有。
抄写本可以用作记录定义(=数据的存储方式),它与可能存储在其中的数据的编码无关。
这留下了一个问题“我如何定义记录结构?”
您需要字段的数量、它们的长度和类型(可能不仅是USAGE DISPLAY
),然后用一些花哨的名称来定义它。理想情况下,您只需从编写文件的 COBOL 程序中获取原始记录定义,如果尚未将其放入副本簿中,然后使用它。
您的链接中的示例实际上显示了字帖的外观,如果您在定义上遇到困难,请使用您定义的字帖编辑您的问题,我们可能会提供帮助。
根据您在问题中的评论,并查看输入文件,您可以从这个开始。
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 值。
第三个字段是可变长度的,右边用空格填充。