猪是否支持没有分隔符的负载?
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);
我想用 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);