pig能处理ebcdic格式的文件吗?

70gysomp  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(323)

我的问题很简单。pig(hadoop)能处理ebcdic文件吗?我有一些,我想在hadoop平台上使用pig来处理它们。
目前,我已保存文件并尝试按以下方式加载:

A = LOAD '/user/enrico/FilesForPigs/IRIS.txt' AS (f1,f2,f3);

它似乎工作,但当我试图键入:转储;我收到一个错误。
编辑:
按照donald的建议,我正在尝试创建一个java程序来进行转换,特别是我正在尝试创建自己的load函数。
实际上,代码中有以下问题:

@Override
    public InputFormat getInputFormat() {

        return new TextInputFormat();
    }

这是我找到的示例,但textinputformat不适合我的情况。你知道我该怎么解决吗?
谢谢

ffx8fchx

ffx8fchx1#

不,默认的存储机制假设数据是由标签分隔的ascii。你可以用 PigStorage(',') 把分隔符改成逗号之类的。
您有两种选择:
将ebcdic中的数据转换为某种csv格式(如果数据量不是问题,则可以使用单线程程序,如果是问题,则使用mapreduce作业)
编写自定义ebcdic加载函数。你可以看看这里怎么做。
也许是其他人实现了这一点,但在谷歌快速搜索后,我什么也没看到。

相关问题