perlでcassandra 1

Thriftを通してCassandraを操作します。
まだいまいち分かっていないので少しずつ。

必要なpmはhttp://shin-yuan.blogspot.jp/2011/05/cassandraperl.htmlを参考に揃えた。

ドキュメントはhttp://wiki.apache.org/cassandra/API10

#!/usr/bin/perl

use strict;
use warnings;

use Cassandra::Cassandra;
use Cassandra::Constants;
use Cassandra::Types;

use Thrift;
use Thrift::BinaryProtocol;
use Thrift::Socket;
use Thrift::FramedTransport;


#初期設定
my $socket = new Thrift::Socket( 'localhost', 9160 );  #cassandraが動いているホスト、ポート
my $transport = new Thrift::FramedTransport( $socket, 1024, 1024 );
my $protocol  = new Thrift::BinaryProtocol($transport);
my $client    = new Cassandra::CassandraClient($protocol);

my $keyspace = 'test';    #keyspaceはcassandra-cliから作成
my $consistency_level = Cassandra::ConsistencyLevel::ONE;


#cassandraに接続
$transport->open();

#認証
my $auth = Cassandra::AuthenticationRequest->new(
	{ credentials => {} }          #defaultでは認証なしなので何もいらない
);
$client->login($auth);

# keyspace "test" で作業する
$client->set_keyspace($keyspace);


#
# ここで実際の処理
#


$transport->close();  #接続終了