HiveServer2 uses Thrift SASL transport by default. AFAIK, Thrift doesn't
support sasl transport for perl. In order to connect from a perl thrift
client, you need to turn off the SASL in HiveServer2. This can be done by
setting a property hive.server2.authentication to NOSASL in the
hive-site.xml. Note that with this change, all other clients like JDBC
applications and beeline, will also need to make non-sasl connection to
HiveServer2. The JDBC connection URL should
be jdbc:hive2://<host>:<port>/default;auth=noSasl
thanks
Prasad

On Tue, May 14, 2013 at 3:35 AM, Dave Cardwell <d...@davecardwell.co.uk>wrote:

> I wrote a few reporting scripts in Perl that connected to Hive via the
> Thrift interface.
>
> Since we upgraded CDH to 4.2.0 and hiveserver2 was installed (with Hive
> 0.10.0) the scripts no longer ran due to the API changes.
>
> I regenerated the Perl modules from the .thrift files and have tried to
> translate the Java examples I’ve found online, but cannot for the life of
> me get it working with the new interface.
>
> The Java examples seem to use a TOpenSessionReq class but I cannot find
> this anywhere in the generated Perl modules. If I try to skip that part and
> go straight to $client->OpenSession() without an argument, the TCLIService
> module itself complains that it cannot create a TOpenSessionResp object
> because the class is not loaded.
>
> I have attached example code. Can anyone advise me on how to get past this
> block?
>
> --
> Best wishes,
> Dave Cardwell.
>
> http://davecardwell.co.uk/
>

Reply via email to