2

Does apache hive have a contact place where I can ask them questions? I've tried everything I could but it still does not work.

Now when I start hiveserver I still get errors. Using the hive_service library I get the error

Invalid method name: 'execute'

when I call client.execute


and when I try to use pyhs2 I get this output

Traceback (most recent call last):
  File "test1.py", line 8, in <module>
    database='default') as conn:
  File "/home/sakib/anaconda/lib/python2.7/site-packages/pyhs2/__init__.py", line 7, in connect
    return Connection(*args, **kwargs)
  File "/home/sakib/anaconda/lib/python2.7/site-packages/pyhs2/connections.py", line 46, in __init__
    transport.open()
  File "/home/sakib/anaconda/lib/python2.7/site-packages/pyhs2/cloudera/thrift_sasl.py", line 74, in open
    status, payload = self._recv_sasl_message()
  File "/home/sakib/anaconda/lib/python2.7/site-packages/pyhs2/cloudera/thrift_sasl.py", line 92, in _recv_sasl_message
    header = self._trans.readAll(5)
  File "/home/sakib/anaconda/lib/python2.7/site-packages/thrift/transport/TTransport.py", line 58, in readAll
    chunk = self.read(sz-have)
  File "/home/sakib/anaconda/lib/python2.7/site-packages/thrift/transport/TSocket.py", line 94, in read
    raise TTransportException('TSocket read 0 bytes')
thrift.transport.TTransport.TTransportException: None

Here is my sample python scripts to connect with hive

import sys

from hive_service import ThriftHive
from hive_service.ttypes import HiveServerException
from thrift import Thrift
from thrift.transport import TSocket
from thrift.transport import TTransport
from thrift.protocol import TBinaryProtocol

try:
  print "1111"
  transport = TSocket.TSocket('localhost', 10000)
  transport = TTransport.TBufferedTransport(transport)
  protocol = TBinaryProtocol.TBinaryProtocol(transport)
  print "2222"
  client = ThriftHive.Client(protocol)
  transport.open()
  print "3333"

  client.execute("CREATE TABLE r(a STRING, b INT, c DOUBLE)")

  print "4444"
  transport.close()
except Thrift.TException, tx:
  print '%s' % (tx.message)

and

import pyhs2

with pyhs2.connect(host='localhost',
               port=10000,
               authMechanism="PLAIN",
               user='root',
               password='',
               database='default') as conn:
    with conn.cursor() as cur:
        #Show databases
        print cur.getDatabases()
Community
  • 1
  • 1
Sakib
  • 1,503
  • 4
  • 26
  • 39

0 Answers0