Access Hive Data Using Python

前端 未结 4 1690
有刺的猬
有刺的猬 2020-12-09 19:13

I have some data in HDFS,i need to access that data using python,can anyone tell me how data is accessed from hive using python?

4条回答
  •  慢半拍i
    慢半拍i (楼主)
    2020-12-09 19:29

    You can use hive library for access hive from python,for that you want to import hive Class from hive import ThriftHive

    Below the Example

    import sys
    
    from hive import ThriftHive
    from hive.ttypes import HiveServerException
    
    from thrift import Thrift
    from thrift.transport import TSocket
    from thrift.transport import TTransport
    from thrift.protocol import TBinaryProtocol
    
    try:
      transport = TSocket.TSocket('localhost', 10000)
      transport = TTransport.TBufferedTransport(transport)
      protocol = TBinaryProtocol.TBinaryProtocol(transport)
      client = ThriftHive.Client(protocol)
      transport.open()
      client.execute("CREATE TABLE r(a STRING, b INT, c DOUBLE)")
      client.execute("LOAD TABLE LOCAL INPATH '/path' INTO TABLE r")
      client.execute("SELECT * FROM r")
      while (1):
        row = client.fetchOne()
        if (row == None):
           break
        print row
    
      client.execute("SELECT * FROM r")
      print client.fetchAll()
      transport.close()
    except Thrift.TException, tx:
      print '%s' % (tx.message)
    

提交回复
热议问题