Почему бы вместо этого не использовать API Hive Thrift?Затем вы получите исключения, возвращенные с правильными сообщениями.
В ruby это так же просто, как:
require 'rubygems'
require 'rbhive'
RBHive.connect(host, port) do |connection|
begin
connection.fetch("select * from table1") #this throws various exceptions
rescue Exception => ex
puts "oh no! An error: #{ex.message}"
end
end