Please file a Jira in that case. this should work. There is a check to verify 
that the file type is consistent with the table storage format - but I believe 
this should only kick in for sequencefiles ..

________________________________
From: Josh Ferguson [mailto:[EMAIL PROTECTED]
Sent: Tuesday, December 02, 2008 7:55 PM
To: [email protected]
Subject: Re: Compression

I'm pretty sure that when I tried to load a .bz2 file into a TEXTFILE type 
table using LOAD LOCAL DATA that it complained at me. I'll have to try it out 
again but I'm pretty sure it wasn't working.

Josh

On Dec 2, 2008, at 10:30 AM, Joydeep Sen Sarma wrote:


Yes - from the jiras - bz2 is splitable in hadoop-0.19.

Hive doesn't have to do anything to support this (although we haven't tested 
it). please mark ur tables as 'stored as textfile' (not sure if that's the 
default). As long as the file as bz2 extension and hadoop has the codec that 
matches that extension - hive will just rely on hadoop to open these files. We 
punt on hadoop to decide when/how to split files - so it should 'just work'.

But we never tested it :) - so please let us know if it actually worked out.

I am curious if there's a native codec for bz2 in hadoop? (java codecs are too 
slow)

________________________________
From: Josh Ferguson [mailto:[EMAIL PROTECTED]
Sent: Tuesday, December 02, 2008 1:38 AM
To: [email protected]<mailto:[EMAIL PROTECTED]>
Subject: Re: Compression

I'm not sure, from their wiki:

Compressed Input

Compressed files are difficult to process in parallel, since they cannot, in 
general, be split into fragments and independently decompressed. However, if 
the compression is block-oriented (e.g. bz2), the splitting and parallel 
processing is easy to do.

Pig has inbuilt support for processing .bz2 files in parallel (.gz support is 
coming soon). If the input file name extension is .bz2, Pig decompresses the 
file on the fly and passes the decompressed input stream to your load function. 
For example,

A = LOAD 'input.bz2' USING myLoad();

Multiple instances of myLoad() (as dictated by the degree of parallelism) will 
be created and each will be given a fragment of the *decompressed* version of 
input.bz2 to process.

On Dec 2, 2008, at 1:32 AM, Zheng Shao wrote:



Can you give a little more details?
For example, you tried a single .bz file as input, and the pig job has 2 or 
more mappers?

I didn't know bz2 was splittable.

Zheng
On Tue, Dec 2, 2008 at 1:18 AM, Josh Ferguson <[EMAIL PROTECTED]<mailto:[EMAIL 
PROTECTED]>> wrote:
It is splittable because of how the compression uses blocks, Pig does this out 
of the box.

Josh


On Dec 2, 2008, at 1:14 AM, Zheng Shao wrote:
It shouldn't be a problem for Hive to support it (by defining your own 
input/output file format that does the decompression on the flyer), but we 
won't be able to parallelize the execution as we do with uncompressed text 
files, and sequence files, since bz2 compression is not splittable.




--
Yours,
Zheng


Reply via email to