-Re: Reading Kafka directly from Pig?
David Arthur 2013-08-07, 15:20
Right now it only terminates if SimpleConsumer hits the timeout. So, in
theory it can forever. To bound the InputFormat, I would probably add a
max time or max number of messages to consume (in addition to the timeout).
I started by looking at the Camus code, but it was easier to whip up a
simple InputFormat for testing. If this becomes a real thing, I would
probably figure out how to utilize Camus.
On 8/7/13 10:49 AM, Jun Rao wrote:
> That's interesting. Kafka provides an infinite stream of data whereas Pig
> works on a finite amount of data. How did you solve the mismatch?
> On Wed, Aug 7, 2013 at 7:41 AM, David Arthur <[EMAIL PROTECTED]> wrote:
>> I've thrown together a Pig LoadFunc to read data from Kafka, so you could
>> load data like:
>> QUERY_LOGS = load 'kafka://localhost:9092/logs.**query#8' using
>> The path part of the uri is the Kafka topic, and the fragment is the
>> number of partitions. In the implementation I have, it makes one input
>> split per partition. Offsets are not really dealt with at this point - it's
>> a rough prototype.
>> Anyone have thoughts on whether or not this is a good idea? I know usually
>> the pattern is: kafka -> hdfs -> mapreduce. If I'm only reading from this
>> data from Kafka once, is there any reason why I can't skip writing to HDFS?