Java 从Hector QueryResult对象获取字符串

Java 从Hector QueryResult对象获取字符串,java,cassandra,hector,cassandra-cli,Java,Cassandra,Hector,Cassandra Cli,我使用Java Hector API从Cassandra数据库检索数据,如下所示: public static void retrieveData() { try { //Create a cluster object from your existing Cassandra cluster Cluster cluster = HFactory.getOrCreateCluster("Test Cluster", "localhost:9160");

我使用Java Hector API从Cassandra数据库检索数据,如下所示:

public static void retrieveData() {
    try {
        //Create a cluster object from your existing Cassandra cluster
        Cluster cluster = HFactory.getOrCreateCluster("Test Cluster", "localhost:9160");

        //Create a keyspace object from the existing keyspace we created using CLI
        Keyspace keyspace = HFactory.createKeyspace("TestDB", cluster);

        SliceQuery<String, String, String> sliceQuery = HFactory.createSliceQuery(keyspace, stringSerializer, stringSerializer, stringSerializer);
        sliceQuery.setColumnFamily("ClientHeaders").setKey("1234");
        sliceQuery.setRange("", "", false, 10);
        sliceQuery.setColumnNames("ip_address","uuid");
        QueryResult<ColumnSlice<String, String>> result = sliceQuery.execute();                 
        System.out.println("\nInserted data is as follows:\n" + result.get());   
    } catch (Exception ex) {
        System.out.println("Error encountered while retrieving data!!");
        ex.printStackTrace() ;
    }
publicstaticvoidretrievedata(){
试一试{
//从现有Cassandra群集创建群集对象
Cluster Cluster=HFactory.getOrCreateCluster(“测试集群”,“本地主机:9160”);
//从使用CLI创建的现有密钥空间创建密钥空间对象
Keyspace Keyspace=HFactory.createKeyspace(“TestDB”,集群);
SliceQuery SliceQuery=HFactory.createSliceQuery(键空间、stringSerializer、stringSerializer、stringSerializer);
sliceQuery.setColumnFamily(“ClientHeaders”).setKey(“1234”);
sliceQuery.setRange(“,”,false,10);
sliceQuery.setColumnNames(“ip_地址”、“uuid”);
QueryResult result=sliceQuery.execute();
System.out.println(“\n插入的数据如下:\n”+result.get());
}捕获(例外情况除外){
System.out.println(“检索数据时遇到错误!!”;
例如printStackTrace();
}
因此,我根据查询按以下顺序获取检索到的值:

列切片([H列(ip_地址=203.110.85.171), H柱(uuid=a3363400-abfd-0130-e2cf-07b5c765964c)])

但是,我想在一些字符串变量(字符串ip=ip\U地址等)中提取结果并使用。但我找不到如何执行此操作?请帮助。谢谢。

基于Hector的JavaDoc(,和),您应该能够执行以下操作:

ColumnSlice columnSlice = result.get();
HColumn<String, String> column = columnSlice.getColumnByName("ip_address");
System.out.println("The value of ip_address is " + column.getValue());
columnsice columnsice=result.get();
HColumn column=columnsicle.getColumnByName(“ip_地址”);
System.out.println(“ip_地址的值是”+column.getValue());

for(HColumn列:result.get().getColumns()){
System.out.println(““+column.getName()+”的值是“+column.getValue()”);
}
尝试执行以下操作:

 if (result != null && result.get() != null) {
            List<HColumn<String, String>> resultCols = result.get().getColumns();
            for (HColumn<String, String> col : resultCols)
            {
               System.out.println(col.getValue());
            }
if(result!=null&&result.get()!=null){
List resultCols=result.get().getColumns();
for(HColumn列:resultCols)
{
System.out.println(col.getValue());
}
 if (result != null && result.get() != null) {
            List<HColumn<String, String>> resultCols = result.get().getColumns();
            for (HColumn<String, String> col : resultCols)
            {
               System.out.println(col.getValue());
            }