Perl Thrift客户到Hive?
我想使用Perl连接到基于Hadoop的Hive数据存储区.
Hive允许使用Thrift接口( http://wiki.apache.org/hadoop/Hive/HiveClient)进行连接,并且Perl有一个Thrift实现(例如 http://metacpan.org/pod/Thrift::XS).但是,我找到的唯一一个Thrift客户端是Cassandra客户端. 如果这样的客户存在,或者如何创建它的任何想法? (PS – 还有一个到Hive的ODBC / JDBC接口,但是安装这些模块是一个令人头痛的问题,并且将是最后的手段) 谢谢! 解决方法
经过一些阅读(最值得注意的是:
blog.fingertap.org/?1a253760),我成功创建了一个Perl Thrift客户端,并使用它来查询我的服务器.
脚步: >下载,构建和安装Thrift:http://incubator.apache.org/thrift/download/. 现在,以下Perl代码,围绕Hive的客户端Wiki中的python示例行编写,对我有用: use Thrift; use Thrift::Socket; use Thrift::FramedTransport; use Thrift::BinaryProtocol; use lib <LOCATION OF GENERATED PERL CODE>; use ThriftHive; # init variables ($host,$port,$query) # my $socket = Thrift::Socket->new($host,$port); my $transport = Thrift::BufferedTransport->new($socket); my $protocol = Thrift::BinaryProtocol->new($transport); my $client = ThriftHiveClient->new($protocol); eval {$transport->open()}; #do something with Exceptions eval {$client->execute($query)}; for (my $i = 0; $i < $count; $i++) { my $row; eval {$row = $client->fetchOne()}; #use $row } $transport->close(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |