Thanks for your great work.
--
Regards,

Sreejith K


On Sat, Feb 13, 2010 at 3:35 PM, Stanislav Yudin <[email protected]> wrote:

> This is great. Thanks for such awesome ting!
>
>
> On Sat, Feb 13, 2010 at 1:54 PM, Mateusz Berezecki <[email protected]>wrote:
>
>> Hi Masha
>>
>> This is awesome news. I'll check it out and prepare patches if you don't
>> mind.
>>
>> Thanks for a great job!
>>
>> And yes, thrift does not feel solid at all!;-)
>>
>> Mateusz
>>
>> On Feb 13, 2010, at 0:14, Masha <[email protected]> wrote:
>>
>>  Hello
>>>
>>> I have fixed the Python bindings to reflect the modern Hypertable and
>>> boost versions.
>>>
>>> Using the python bindings, 'select *' over a large dataset is about 20
>>> times faster than using the Thrift (I tested in on a single Linux-x64
>>> server, Thrift client eat CPU a lot).
>>>
>>>
>>> Also, The API is slightly improved:
>>> 1. TableScanner can act as an iterable object emitting Cell
>>>
>>> # how it was
>>>
>>> scanner = table.create_scanner(scan_spec)
>>> cell = ht.Cell()
>>> while scanner.next(cell):
>>>  print "%s:%s %s" % (cell.row_key, cell.column_family, cell.value())
>>>
>>> # how it is
>>>
>>> for cell in table.create_scanner(scan_spec):
>>>  print "%s:%s %s" % (cell.row_key, cell.column_family, cell.value)
>>>
>>> # or even simpler
>>>
>>> for cell in client.hql("select * from table"):
>>>  print "%s:%s %s" % (cell.row_key, cell.column_family, cell.value)
>>>
>>> #--------------------------
>>>
>>> 2. client.hql("select ...") returns TableScanner
>>>  client.hql("show tables") returns python list, both of them are
>>> iterables
>>>
>>> 3. cell.value now is a getter, the parenthesis are not required.
>>>
>>> 4. Parameter of Client constructor is a path to 'hypertable.cfg', not
>>> the path to the installation directory.
>>>  Hypertable libraries deep inside use path to the executable as a
>>> starting point to find 'hypertable.cfg'.
>>>  It fails in case if the executable is '/usr/bin/python'.
>>>
>>>  As it is intended to be used on a client, it must work without full
>>> Hypertable installation, and must work with more than one hypertable
>>> server.
>>>
>>>  Required files are to copy from the full installation: 'ht.so'
>>> 'libHyperComm.so' 'libHyperCommon.so' 'libHyperTools.so'
>>> 'libHyperspace.so' 'libHypertable.so'
>>>  And, of course, 'hypertable.cfg'
>>>
>>> It is my first experience with boost:python and I'm not sure if it is
>>> correct to wrap pointers (TablePtr, TableMutatorPtr) instead of the
>>> the objects.
>>> So I suppose there could be some memory leaks, I have not investigated
>>> it yet.
>>> (I tried to wrap the objects  - Table, TableMutator, TableScanner -
>>> but then I do not know how to return either TableScanner or list from
>>> client.hql(), with the pointers it is easy, so I get back to use
>>> them).
>>>
>>> Compiling of the python bindings does not depend on hypertable
>>> compilation process and can be done independently later.
>>> Just run 'python setup.py build'.
>>> But note that hypertable libraries must be compiled with -
>>> DBUILD_SHARED_LIBS=ON (precompiled binaries from hypertable.org do
>>> not).
>>>
>>> I put the code here for a while (sorry, I do not know how to use
>>> git):
>>> http://code.google.com/p/python-hypertable/source/browse/trunk/
>>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Hypertable Development" group.
>> To post to this group, send email to [email protected].
>> To unsubscribe from this group, send email to
>> [email protected]<hypertable-dev%[email protected]>
>> .
>> For more options, visit this group at
>> http://groups.google.com/group/hypertable-dev?hl=en.
>>
>>
>  --
> You received this message because you are subscribed to the Google Groups
> "Hypertable Development" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<hypertable-dev%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/hypertable-dev?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Hypertable Development" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/hypertable-dev?hl=en.

Reply via email to