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