当前位置: 首页>>代码示例>>Java>>正文


Java MultigetSliceQuery.setColumnFamily方法代码示例

本文整理汇总了Java中me.prettyprint.hector.api.query.MultigetSliceQuery.setColumnFamily方法的典型用法代码示例。如果您正苦于以下问题:Java MultigetSliceQuery.setColumnFamily方法的具体用法?Java MultigetSliceQuery.setColumnFamily怎么用?Java MultigetSliceQuery.setColumnFamily使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在me.prettyprint.hector.api.query.MultigetSliceQuery的用法示例。


在下文中一共展示了MultigetSliceQuery.setColumnFamily方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getMulti

import me.prettyprint.hector.api.query.MultigetSliceQuery; //导入方法依赖的package包/类
/**
 * 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;
}
 
开发者ID:xuzhikethinker,项目名称:t4f-data,代码行数:23,代码来源:HectorCassandraDao.java

示例2: batchGetSubList

import me.prettyprint.hector.api.query.MultigetSliceQuery; //导入方法依赖的package包/类
/** Implements a batch get operation for a list of keys. */
private List<byte[]> batchGetSubList(List<byte[]> keys) {
	MultigetSliceQuery<byte[], String, byte[]> multigetSliceQuery = HFactory
			.createMultigetSliceQuery(keyspace, BytesArraySerializer.get(),
					StringSerializer.get(), BytesArraySerializer.get());
	multigetSliceQuery
			.setColumnFamily(CassandraStorageSystem.COLUMN_FAMILY_NAME);
	multigetSliceQuery.setKeys(keys);
	multigetSliceQuery.setColumnNames(CassandraStorageSystem.COLUMN_NAME);

	Map<ByteArrayWrapper, Integer> keyToIndex = new HashMap<ByteArrayWrapper, Integer>();
	int index = 0;
	for (byte[] key : keys) {
		keyToIndex.put(new ByteArrayWrapper(key), index);
		index += 1;
	}

	List<byte[]> resultList = new ArrayList<byte[]>(
			Collections.<byte[]> nCopies(keys.size(), null));
	for (Row<byte[], String, byte[]> row : multigetSliceQuery.execute()
			.get()) {
		List<HColumn<String, byte[]>> columns = row.getColumnSlice()
				.getColumns();
		if (!columns.isEmpty()) {
			int i = keyToIndex.get(new ByteArrayWrapper(row.getKey()));
			resultList.set(i, columns.get(0).getValue());
		}
	}
	return resultList;
}
 
开发者ID:vimaier,项目名称:conqat,代码行数:31,代码来源:CassandraStore.java

示例3: getSlice

import me.prettyprint.hector.api.query.MultigetSliceQuery; //导入方法依赖的package包/类
@Override
public <R, T> HerculesMultiQueryResult<R, T> getSlice(Keyspace keyspace, String columnFamily, DataOperationsProfile dataOperationsProfile, RowSerializer<R, T> rowSerializer,
                                                      Iterable<R> rowKeys, SliceDataSpecificator<T> sliceDataSpecificator) {
    MultigetSliceQuery<R, T, ByteBuffer> multigetSliceQuery = HFactory.createMultigetSliceQuery(
            keyspace,
            rowSerializer.getRowKeySerializer(),
            rowSerializer.getTopKeySerializer(),
            ByteBufferSerializer.get());

    multigetSliceQuery.setColumnFamily(columnFamily);
    multigetSliceQuery.setKeys(rowKeys);

    sliceDataSpecificator.fillMultigetSliceQuery(multigetSliceQuery);

    QueryResult<Rows<R, T, ByteBuffer>> result;
    StopWatch monitor = monitoring.start(HerculesMonitoringGroup.HERCULES_DD, "Get slice " + columnFamily);

    try {
        result = multigetSliceQuery.execute();
    } finally {
        long time = monitor.stop();
        if (dataOperationsProfile != null) {
            dataOperationsProfile.ms += time;
            dataOperationsProfile.dbQueries++;
        }
    }

    return buildQueryResult(dataOperationsProfile, rowSerializer, result.get());
}
 
开发者ID:appmetr,项目名称:hercules,代码行数:30,代码来源:ThriftDataDriver.java


注:本文中的me.prettyprint.hector.api.query.MultigetSliceQuery.setColumnFamily方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。