Yeah... check out what we do in HBaseStorage to pass the config
around. It's a bit gnarly.

D

On Wed, Mar 7, 2012 at 9:49 AM, Mark Kerzner <[email protected]> wrote:
> Raghu,
>
> it almost works. It just gives me ZooKeeper exception, probably because Pig
> environment does not know enough about HBase, so that
>
> Configuration hConf = HBaseConfiguration.create();
>
> does not have all that it needs for the HBase connection. Here is my code
> snippet
>
>        Configuration hConf = HBaseConfiguration.create();
>        hConf.set(HBASE_CONFIGURATION_ZOOKEEPER_QUORUM, zookeeperUrl);
>        hConf.set(HBASE_CONFIGURATION_ZOOKEEPER_CLIENTPORT, zookeeperPort);
>        HTable hTable = new HTable(hConf, tableName);
>
> Thank you,
> Mark
>
> On Wed, Mar 7, 2012 at 2:27 AM, Raghu Angadi <[email protected]> wrote:
>
>> On Tue, Mar 6, 2012 at 5:02 PM, Mark Kerzner <[email protected]
>> >wrote:
>>
>> > Hi,
>> >
>> > I need to initialize the HBase connection, which I normally do in
>> > configure() in the Mapper, and then my mapper uses it. How do I do it in
>> > Pig?
>> >
>> > I am ready to define a UDF that will return a handle, but is it a best
>> > practice?
>> >
>>
>> yes. you can initialize inside the first call to UDF.exec(). The same UDF
>> object is used for the entire mapper.
>>
>> Don't initialize inside the constructor for UDF. AFIK there is no way to
>> tell how many times and when the constructor is called (though it is no
>> more than a handful of times on the front end).
>>
>> Raghu.
>>
>> > Thank you,
>> > Mark
>> >
>>

Reply via email to