猪是否支持没有分隔符的负载?

Does pig support load with no delimiter?

我想用 Pig 从 HDFS 加载很多小文件并将它们处理为元组(文件名、文件内容)。

a=LOAD 'mydir' USING PigStorage('','-tagPath') AS (filepath:chararray, filecontents:chararray);

不过,似乎我不能省略指定分隔符。 Pig 中是否有某种 "NULL" 或者是否有任何其他方法来确保文件的内容不会被拆分?

您必须通过扩展 LoadFunc 来编写自己的自定义加载器。

您的问题的简短回答是 no.In 为了确保内容不被分割,使用 content.In 中不存在的定界符 这样,整个内容将被加载到字段 filecontents:chararray。因此,假设您的输入文件没有特殊字符“~”

a=LOAD 'mydir' USING PigStorage('~','-tagPath') AS (filepath:chararray, filecontents:chararray);