Hadoop 加载文件时避免解析

Hadoop 加载文件时避免解析,hadoop,apache-pig,Hadoop,Apache Pig,假设我有以下文件(input.txt): i、 e.一种以制表符分隔的文件,其中每行由两个字符串组成,表示一个整数,第三个字符串表示任意文本 此文件是PigLatin脚本的输入: input = load 'input.txt' as (a:int, b:int, c:chararray); 我的假设是Pig将浪费时间解析文本文件以生成相应的整数。我说得对吗 我想将三个整数的二进制表示形式存储在一个二进制文件中 我怎样才能让猪理解这样的二进制文件?我应该简单地扩展LoadFunc还是需要使用B

假设我有以下文件(input.txt):

i、 e.一种以制表符分隔的文件,其中每行由两个字符串组成,表示一个
整数
,第三个字符串表示任意文本

此文件是
PigLatin
脚本的输入:

input = load 'input.txt' as (a:int, b:int, c:chararray);
我的假设是Pig将浪费时间解析文本文件以生成相应的整数。我说得对吗

我想将三个整数的二进制表示形式存储在一个二进制文件中


我怎样才能让猪理解这样的二进制文件?我应该简单地扩展
LoadFunc
还是需要使用
BinStorage

您担心在这里浪费多少时间?假设脚本的其余部分做了任何有意义的事情,或者文件足够大(因此IO会很严重),那么与其他内容相比,解析工作可以忽略不计

您可能需要小心将整数存储在原始二进制文件中,因为这样您就必须考虑诸如big-endian和little-endian之类的内容。如果将使用此功能的所有系统都位于同一体系结构上,则忽略此注释。
input = load 'input.txt' as (a:int, b:int, c:chararray);