0

我需要解析 EBCDIC 输入文件格式。使用 Java,我可以像下面这样阅读它:

InputStreamReader rdr = new InputStreamReader(new FileInputStream("/Users/rr/Documents/workspace/EBCDIC_TO_ASCII/ebcdic.txt"), java.nio.charset.Charset.forName("ibm500"));

但是在 Hadoop Mapreduce 中,我需要解析RecordReader到目前为止还没有工作的方法。

任何人都可以提供解决此问题的方法吗?

4

3 回答 3

1

您可以尝试通过 Spark 解析它,也许可以使用Cobrix,它是 Spark 的开源 COBOL 数据源。

于 2018-08-22T19:26:19.573 回答
0

您可以做的最好的事情是先将数据转换为 ASCII,然后再加载到 HDFS。

于 2016-01-19T06:00:13.530 回答
0

为什么EBCDIC中的文件是???,它需要是 ???

如果只是文本数据,为什么不从 Mainframe/AS400发送/拉取文件时将其转换为ascii ???。

如果文件包含二进制或 Cobol 数字字段,那么您有几个选项

  1. 将文件转换为大型机上的普通文本(大型机排序实用程序擅长此操作),然后发送文件并将其转换(转换为 ascii)。
  2. 如果是 Cobol 文件,可以查看一些开源项目https://github.com/tmalaska/CopybookInputFormathttps://github.com/ianbuss/CopybookHadoop
  3. 有用于将大型机 Cobol 数据加载到 hadoop 中的商业软件包。
于 2016-01-19T07:14:48.123 回答