/** * Get multiple values * @param keys * @return */ public Map<String, String> getMulti(String columnName, String... keys) { MultigetSliceQuery<String, String,String> q = createMultigetSliceQuery(keyspace, serializer, serializer, serializer); q.setColumnFamily(columnFamilyName); q.setKeys(keys); q.setColumnNames(columnName); QueryResult<Rows<String,String,String>> r = q.execute(); Rows<String,String,String> rows = r.get(); Map<String, String> ret = new HashMap<String, String>(keys.length); for (String k: keys) { HColumn<String, String> c = rows.getByKey(k).getColumnSlice().getColumnByName(columnName); if (c != null && c.getValue() != null) { ret.put(k, c.getValue()); } } return ret; }
/** * Get multiple values * @param keys * @return */ public <K> Map<K, String> getMulti(Serializer<K> keySerializer, K... keys) { MultigetSliceQuery<K, String,String> q = createMultigetSliceQuery(keyspace, keySerializer, serializer, serializer); q.setColumnFamily(CF_NAME); q.setKeys(keys); q.setColumnNames(COLUMN_NAME); QueryResult<Rows<K, String,String>> r = q.execute(); Rows<K, String,String> rows = r.get(); Map<K, String> ret = new HashMap<K, String>(keys.length); for (K k: keys) { HColumn<String,String> c = rows.getByKey(k).getColumnSlice().getColumnByName(COLUMN_NAME); if (c != null && c.getValue() != null) { ret.put(k, c.getValue()); } } return ret; }
@Test public void testNullKeyInList() { MultigetSliceQuery<String, String, Long> msq = HFactory.createMultigetSliceQuery(keyspace, se, se, le); msq.setColumnFamily(cf); msq.setKeys("multigetSliceTest_key1",null); msq.setColumnNames("birthyear"); QueryResult<Rows<String, String, Long>> result = msq.execute(); assertEquals(1,result.get().getCount()); } }
@Override public QueryResult<Rows<String,String,String>> execute() { MultigetSliceQuery<String, String, String> multigetSlicesQuery = HFactory.createMultigetSliceQuery(keyspace, stringSerializer, stringSerializer, stringSerializer); multigetSlicesQuery.setColumnFamily("Npanxx"); multigetSlicesQuery.setColumnNames("city","state","lat","lng"); multigetSlicesQuery.setKeys("512202","512203","512205","512206"); QueryResult<Rows<String, String, String>> results = multigetSlicesQuery.execute(); return results; }
q.setKeys("testMultigetSliceQuery1", "testMultigetSliceQuery2"); q.setColumnNames("testMultigetSliceQueryColumn1", "testMultigetSliceQueryColumn2"); QueryResult<Rows<String, String, String>> r = q.execute();
/** * Get multiple values * @param keys * @return */ public <K> Map<K, String> getMulti(Serializer<K> keySerializer, K... keys) { MultigetSliceQuery<K, String,String> q = createMultigetSliceQuery(keyspace, keySerializer, serializer, serializer); q.setColumnFamily(CF_NAME); q.setKeys(keys); q.setColumnNames(COLUMN_NAME); QueryResult<Rows<K, String,String>> r = q.execute(); Rows<K, String,String> rows = r.get(); Map<K, String> ret = new HashMap<K, String>(keys.length); for (K k: keys) { HColumn<String,String> c = rows.getByKey(k).getColumnSlice().getColumnByName(COLUMN_NAME); if (c != null && c.getValue() != null) { ret.put(k, c.getValue()); } } return ret; }
/** * Get multiple values * @param keys * @return */ public Map<String, String> getMulti(String columnName, String... keys) { MultigetSliceQuery<String, String,String> q = createMultigetSliceQuery(keyspace, serializer, serializer, serializer); q.setColumnFamily(columnFamilyName); q.setKeys(keys); q.setColumnNames(columnName); QueryResult<Rows<String,String,String>> r = q.execute(); Rows<String,String,String> rows = r.get(); Map<String, String> ret = new HashMap<String, String>(keys.length); for (String k: keys) { HColumn<String, String> c = rows.getByKey(k).getColumnSlice().getColumnByName(columnName); if (c != null && c.getValue() != null) { ret.put(k, c.getValue()); } } return ret; }
/** * Get multiple values * @param keys * @return */ public Map<String, String> getMulti(String columnName, String... keys) { MultigetSliceQuery<String, String,String> q = createMultigetSliceQuery(keyspace, serializer, serializer, serializer); q.setColumnFamily(columnFamilyName); q.setKeys(keys); q.setColumnNames(columnName); QueryResult<Rows<String,String,String>> r = q.execute(); Rows<String,String,String> rows = r.get(); Map<String, String> ret = new HashMap<String, String>(keys.length); for (String k: keys) { HColumn<String, String> c = rows.getByKey(k).getColumnSlice().getColumnByName(columnName); if (c != null && c.getValue() != null) { ret.put(k, c.getValue()); } } return ret; }
/** * Get multiple values * @param keys * @return */ public <K> Map<K, String> getMulti(Serializer<K> keySerializer, K... keys) { MultigetSliceQuery<K, String,String> q = createMultigetSliceQuery(keyspace, keySerializer, serializer, serializer); q.setColumnFamily(CF_NAME); q.setKeys(keys); q.setColumnNames(COLUMN_NAME); QueryResult<Rows<K, String,String>> r = q.execute(); Rows<K, String,String> rows = r.get(); Map<K, String> ret = new HashMap<K, String>(keys.length); for (K k: keys) { HColumn<String,String> c = rows.getByKey(k).getColumnSlice().getColumnByName(COLUMN_NAME); if (c != null && c.getValue() != null) { ret.put(k, c.getValue()); } } return ret; }