#!/usr/bin/perl use strict; use Thrift::API::HiveClient2; use Data::Dumper; use Try::Tiny; print "\ncreate hive client\n"; my $client = Thrift::API::HiveClient2->new( host => 'hadoop03', port => 10000, timeout => 300); print "\nconnect to hive client\n"; $client->connect() or die "\nFailed to connect\n"; try sub { print "\ngetting COUNT(*) with Hive\n"; my $sql = "SELECT COUNT(*) AS `RowCount` FROM DaysTable WHERE TransactionDate = '2018-07-01';"; my $rowCnt = 0; print "\n before execute \n"; my $rows = $client->execute( "$sql" ) or die "\nexecute failed\n"; print "\n after execute \n"; while (my $row = $client->fetch_hashref( $rows )) { print "\n before rowCnt \n"; $rowCnt = $row->{ 'RowCount' }; } print "\n\n\tRows from <$sql>\n\t<$rowCnt>\n\n"; }, catch sub { print "\n at the catch\n"; print Dumper( $_ ); exit; };