Cassandraでのデータ取得
提供: LunaBiblos
Software > DataBase > KeyValueストア > Cassandraの利用方法 > Cassandraでのデータ取得
public class CassandraReadTest {
public void run() {
TTransport tr = new TSocket("192.168.0.1", 9160);
TProtocol proto = new TBinaryProtocol(tr);
Cassandra.Client client = new Cassandra.Client(proto);
try {
tr.open();
} catch (TTransportException e) {
e.printStackTrace();
System.out.println(e.toString());
}
// ===================================================================
String key_user_id = "1";
// 開始行、終了行、逆転、取得サイズ?
SliceRange sr = new SliceRange(new byte[0], new byte[0], false, 10);
SlicePredicate predicate = new SlicePredicate().setSlice_range(sr);
ColumnParent parent = new ColumnParent("Standard1");
List<ColumnOrSuperColumn> results = null;
// ===================================================================
try {
results = client.get_slice("Keyspace1", key_user_id, parent, predicate, ConsistencyLevel.ONE);
} catch (InvalidRequestException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (UnavailableException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (TimedOutException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (TException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
for (ColumnOrSuperColumn result : results) {
Column column = result.column;
try {
System.out.println(new String(column.name, "UTF-8") + " -> " + new String(column.value, "UTF-8"));
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
tr.close();
}
}