想要编写(或使用现有的?)UDF来读取具有多字符分隔符的文件

时间:2016-02-03 15:57:10

标签: apache-pig udf

我想在Pig中读取一个数据文件,该文件使用多字符分隔符来分隔字段(我没有要求以这种方式写文件)。所以我的猪脚本看起来像是:

myData = LOAD 'myFile' USING PigStorage(‘~|~’) as (col1:chararray, col2:chararray); 

我的问题是PigStorage不支持多字符分隔符。

可能的解决方案是:

  1. 现有的UDF。一个存在吗?
  2. 基于读取文件的UDF 工作示例的自定义UDF。
  3. 关于第二点,我已经看到了很多复制的pig.apache.org example,但问题是这段代码无法编译(除了明显的语法错误,所有的import语句都丢失了所以我不知道需要导入哪个版本的类!)

1 个答案:

答案 0 :(得分:0)

如果您知道预期的字段数,可以使用org.apache.pig.piggybank.storage.MyRegExLoader 1

但是你需要编写一个可以解析整行的正则表达式,所以它不如PigStorage那么方便。