#include <string> #include <sstream> #include <iostream> #include "Cassandra.h" #include "cassandra_types.h" #include <protocol/TBinaryProtocol.h> #include <transport/TSocket.h> #include <transport/TTransportUtils.h> const int port= 9160; int main() { using namespace apache::thrift; using namespace apache::thrift::protocol; using namespace apache::thrift::transport; using namespace org::apache::cassandra; boost::shared_ptr<TSocket> socket(new TSocket("localhost", port)); // cassandra version 7.0 interface needs to TFramedTransport !!! boost::shared_ptr<TTransport> transport(new TFramedTransport(socket)); boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport)); CassandraClient client(protocol); try { transport->open(); client.set_keyspace( "Keyspace1" ); ColumnPath path; path.__isset.column = true; // this is required! path.column_family = "Users"; path.column = "last"; ColumnOrSuperColumn ret_val; client.get(ret_val, "jsmith", path, ConsistencyLevel::ONE); std::cout << "name : " << ret_val.column.name.c_str() << std::endl; std::cout << "value: " << ret_val.column.value.c_str() << std::endl; transport->close(); } catch (InvalidRequestException &re) { std::cerr << "invalid request: " << re.why.c_str() << std::endl; } catch (TException &tx) { std::cerr << "ERROR: " << tx.what() << std::endl; } }
2011年3月23日水曜日
Cassandra C++ であそぼ
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿