Michael Kjellman > perlcassa-0.04 > perlcassa

Download:
perlcassa-0.04.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.04   Source   Latest Release: perlcassa-0.041

NAME ^

perlcassa - Perl Client for Apache Cassandra

VERSION ^

v0.04

SYNOPSIS ^

use perlcassa;

my $obj = new perlcassa( 'columnfamily' => 'myCF', 'keyspace' => 'myKeyspace', 'hosts' => ['host1.cassandra.local', 'host2.cassandra.local', 'host3.cassandra.local'],

        #optional
        'write_consistency_level' => Cassandra::ConsistencyLevel::QUORUM,
        'read_consistency_level'  => Cassandra::ConsistencyLevel::QUORUM,
        'port'                    => '9160'
);

my %composite = ('values' => ['name_pt1', 'name_pt2']);

$obj->insert( 'key' => 'myKey', 'columnname' => \%composite, 'value' => 'myVal' );

$obj->get( 'key' => 'myKey', 'columnname' => 'myColumn' );

$obj->get_slice( 'key' => 'myKey', 'start' => ['name_pt1'], 'finish' => ['name_pt2','name_pt2_c'], 'start_equality' => 'equal', #optional (defaults to equal, options: equal, less_than_equal, or greater_than_equal) 'finish_equality'=> 'greater_than_equal' #optional (defaults to greater_than_equal, options: equal, less_than_equal, or greater_than_equal) );

$obj->get_range_slices( key_start => '', key_finish => '', column_start => ['colpt1','a'], column_finish => ['thiscol'], key_max_count => 10000, buffer_size => 100 );

my %bulk = ( #value => [columnname] 'test' => ['name_pt1', 'name_pt2'], 'test2' => ['name_pt3', 'name_pr4'] );

$obj->bulk_insert( 'key' => 'testkey' 'columns' => \%bulk );

REQUIRES ^

Perl5.10, Thrift::XS, Time::HiRes

EXPORTS ^

Nothing

DESCRIPTION ^

perlcassa is a native Perl client for interfacing with Apache Cassandra. It is essentially an API for Apache Thrift. It intelligently deals with CompositeType columns and ValidationClasses and encodes and packs them appropriately for the columnfamily specified.

Note: This package does not support SuperColumns. Please look into CompositeType Comparators instead.

METHODS ^

Creation

new perlcassa()

Creates a new Apache Cassandra Perl Client

* better documentation * better handling thrift exceptions to try from another provided Cassandra instance/host automagically * general performance optimizations * auto retry failures where the node is up when the client is created but there is an exception such as a timeout on insert

ACKNOWLEDGEMENTS ^

This wouldn't have been possible without help from my friend and colleague BJ Black.

AUTHOR ^

Michael Kjellman, mkjellman@barracuda.com

COPYRIGHT & LICENSE ^

Copyright 2012 Michael Kjellman

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

syntax highlighting: