Hey guys, im a hbase and python newbie, and im stuck with the mutateRow()
command.
I'm using Centos 5.5, python 2.6 & Hbase 0.90.4-cdh3u3. This is running in
a virtualbox, the original image file for the VM is the one provided by
Cloudera.
I've downloaded the hbase-0.90.4-cdh3u3.tar.gz file from cloudera,
extracted the Hbase.thrift file from there and ran:
/usr/local/bin/thrift --gen py Hbase.thrift.
I've moved the gen-py/hbase to myproject/hbase

Here's the code that reproduces the problem:


   1. from thrift.transport import TTransport
   2.  from thrift.transport import TSocket
   3.  from thrift.transport import THttpClient
   4.  from thrift.protocol import TBinaryProtocol
   5.
   6. from hbase import Hbase
   7.  from hbase.ttypes import *
   8.
   9. socket = TSocket.TSocket('localhost', 9090)
   10. transport = TTransport.TBufferedTransport(socket)
   11. protocol = TBinaryProtocol.TBinaryProtocol(transport)
   12.  client = Hbase.Client(protocol)
   13.  transport.open()
   14.
   15.
   16. m = Mutation(column='byHour:asaa', value='aaa')
   17. client.mutateRow('hits','r1',m)



I get this in return:

*Traceback (most recent call last):*
*  File "test.py", line 17, in <module>*
*    client.mutateRow('hits_per_site','r1',m)*
*  File "/**somedir**/hbase/Hbase.py", line 1355, in mutateRow*
*    self.send_mutateRow(tableName, row, mutations)*
*  File "/**somedir**/hbase/Hbase.py", line 1364, in send_mutateRow*
*    args.write(self._oprot)*
*  File "/somedir/hbase/Hbase.py", line 5964, in write*
*    oprot.writeListBegin(TType.STRUCT, len(self.mutations))*

Any ideas on what might be wrong? Am i missing something basic?

Thanks a lot everybody.

-- 
Ezequiel Golub

Reply via email to