• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java SliceQuery类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



SliceQuery类属于me.prettyprint.hector.api.query包,在下文中一共展示了SliceQuery类的18个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: getCiStateHistory

import me.prettyprint.hector.api.query.SliceQuery; //导入依赖的package包/类
public List<CiChangeStateEvent> getCiStateHistory(long ciId, Long startTime, Long endTime, Integer count) {

        if (count == null) count = 1000;
        List<CiChangeStateEvent> states = new ArrayList<CiChangeStateEvent>();
        SliceQuery<Long, Long, String> sliceQuery = HFactory.createSliceQuery(keyspace, longSerializer, longSerializer, stringSerializer);
        sliceQuery.setColumnFamily(SchemaBuilder.CI_STATE_HIST_CF);
        sliceQuery.setRange(startTime, endTime, false, count);
        sliceQuery.setKey(ciId);
        QueryResult<ColumnSlice<Long, String>> result = sliceQuery.execute();
        ColumnSlice<Long, String> resultCols = result.get();
        for (HColumn<Long, String> col : resultCols.getColumns()) {
            CiChangeStateEvent event = gson.fromJson(col.getValue(), CiChangeStateEvent.class);
            states.add(event);
        }
        return states;
    }
 
开发者ID:oneops,项目名称:oneops,代码行数:17,代码来源:OpsCiStateDao.java


示例2: queryStringIndex

import me.prettyprint.hector.api.query.SliceQuery; //导入依赖的package包/类
private Iterable<String> queryStringIndex(final String key) {
	SliceQuery<String, String, String> sliceQuery =
			HFactory.createSliceQuery(m_keyspace, StringSerializer.get(), StringSerializer.get(),
					StringSerializer.get());

	sliceQuery.setColumnFamily(CF_STRING_INDEX);
	sliceQuery.setKey(key);

	ColumnSliceIterator<String, String, String> columnIterator =
			new ColumnSliceIterator<String, String, String>(sliceQuery, "", (String) null, false, m_singleRowReadSize);

	List<String> ret = new ArrayList<String>();

	while (columnIterator.hasNext()) {
		ret.add(columnIterator.next().getName());
	}

	return ret;
}
 
开发者ID:quqiangsheng,项目名称:abhot,代码行数:20,代码来源:CassandraDatastore.java


示例3: createSliceIterator

import me.prettyprint.hector.api.query.SliceQuery; //导入依赖的package包/类
private ColumnSliceIterator<String, DataPointsRowKey, String> createSliceIterator(
		SliceQuery<String, DataPointsRowKey, String> sliceQuery,
		String metricName, long startTime, long endTime)
{
	DataPointsRowKey startKey = new DataPointsRowKey(metricName,
			calculateRowTime(startTime), "");

	DataPointsRowKey endKey = new DataPointsRowKey(metricName,
			calculateRowTime(endTime), "");
	endKey.setEndSearchKey(true);

	ColumnSliceIterator<String, DataPointsRowKey, String> iterator = new ColumnSliceIterator<String, DataPointsRowKey, String>(sliceQuery,
			startKey, endKey, false, m_singleRowReadSize);

	return (iterator);
}
 
开发者ID:quqiangsheng,项目名称:abhot,代码行数:17,代码来源:CassandraDatastore.java


示例4: doGetUserListOfRole

import me.prettyprint.hector.api.query.SliceQuery; //导入依赖的package包/类
/**
 * Get the list of users mapped to a role.
 */
@Override
public String[] doGetUserListOfRole(String roleName, String filter) throws UserStoreException {

    List<String> usersList = new ArrayList<String>();
    Composite key = new Composite();
    key.addComponent(roleName, stringSerializer);
    key.addComponent(tenantIdString, stringSerializer);
    SliceQuery<Composite, String, String> query = HFactory
            .createSliceQuery(keyspace, CompositeSerializer.get(), StringSerializer.get(), StringSerializer.get())
            .setKey(key).setColumnFamily(CFConstants.UM_ROLE_USER_INDEX);

    ColumnSliceIterator<Composite, String, String> iterator = new ColumnSliceIterator<Composite, String, String>(
            query, null, "\uFFFF", false);

    while (iterator.hasNext()) {
        HColumn<String, String> column = iterator.next();
        usersList.add(column.getValue());
    }
    return usersList.toArray(new String[usersList.size()]);
}
 
开发者ID:wso2-attic,项目名称:carbon-identity,代码行数:24,代码来源:CassandraUserStoreManager.java


示例5: doGetExternalRoleListOfUser

import me.prettyprint.hector.api.query.SliceQuery; //导入依赖的package包/类
/**
 * Gets the external role list of a user.
 */
@Override
public String[] doGetExternalRoleListOfUser(String userName, String filter) throws UserStoreException {

    List<String> roles = new ArrayList<String>();
    int arrayLength = 0;
    Composite key = new Composite();
    key.addComponent(userName, stringSerializer);
    key.addComponent(tenantIdString, stringSerializer);
    SliceQuery<Composite, String, String> query = HFactory
            .createSliceQuery(keyspace, CompositeSerializer.get(), StringSerializer.get(), StringSerializer.get())
            .setKey(key).setColumnFamily(CFConstants.UM_USER_ROLE);

    ColumnSliceIterator<Composite, String, String> iterator = new ColumnSliceIterator<Composite, String, String>(
            query, null, "\uFFFF", false);

    while (iterator.hasNext()) {
        HColumn<String, String> column = iterator.next();
        roles.add(column.getValue());
    }
    return roles.toArray(new String[arrayLength]);
}
 
开发者ID:wso2-attic,项目名称:carbon-identity,代码行数:25,代码来源:CassandraUserStoreManager.java


示例6: readColumnsAsMap

import me.prettyprint.hector.api.query.SliceQuery; //导入依赖的package包/类
/**
 * Read the columns as a map from a single row specifying start, finish, count, and reversed.
 *
 *
 * @param rowKey the row key of type K
 * @return map of columns, key is type N and values are type V.
 */
@Override
public Map<N,V> readColumnsAsMap(K rowKey, N start, N finish, int count, boolean reversed) {
    Map<N,V> maps = new HashMap<N,V>();
    SliceQuery<K,N,V> query = HFactory.createSliceQuery(getKeyspace(),
                                                        getKeySerializer(),
                                                        getColumnNameSerializer(),
                                                        getValueSerializer());
    QueryResult<ColumnSlice<N,V>> result = query.setKey(rowKey).
            setColumnFamily(getColumnFamily()).
            setRange(start, finish, reversed, count).
            execute();
    ColumnSlice<N,V> slice = result.get();

    for (HColumn<N,V> column : slice.getColumns()) {
        maps.put(column.getName(),
                 column.getValue());
    }
    // we used to translate hector exceptions into spring exceptions here, but spring dependency was removed
    return maps;
}
 
开发者ID:ezoerner,项目名称:c-star-path-j,代码行数:28,代码来源:ColumnFamilyTemplate.java


示例7: readColumns

import me.prettyprint.hector.api.query.SliceQuery; //导入依赖的package包/类
@Override
public <T> List<T> readColumns(K rowKey,
                               N start,
                               N finish,
                               int count,
                               boolean reversed,
                               ColumnMapper<T,N,V> columnMapper) {
    List<T> resultList = new ArrayList<T>();

    SliceQuery<K,N,V> query = HFactory.createSliceQuery(getKeyspace(),
                                                        getKeySerializer(),
                                                        getColumnNameSerializer(),
                                                        getValueSerializer());
    QueryResult<ColumnSlice<N,V>> result = query.setKey(rowKey).
            setColumnFamily(getColumnFamily()).
            setRange(start, finish, reversed, count).
            execute();
    ColumnSlice<N,V> slice = result.get();

    for (HColumn<N,V> column : slice.getColumns()) {
        resultList.add(columnMapper.mapColumn(column.getName(), column.getValue()));
    }
    // we used to translate hector exceptions into spring exceptions here, but spring dependency was removed
    return resultList;
}
 
开发者ID:ezoerner,项目名称:c-star-path-j,代码行数:26,代码来源:ColumnFamilyTemplate.java


示例8: swallowOrderedExecution

import me.prettyprint.hector.api.query.SliceQuery; //导入依赖的package包/类
/**
 * This method intentionally swallows ordered execution issues.  For some reason, our Time UUID ordering does
 * not agree with the cassandra comparator as our micros get very close
 * @param query
 * @param <K>
 * @param <UUID>
 * @param <V>
 * @return
 */
protected static <K, UUID, V> List<HColumn<UUID, V>> swallowOrderedExecution( final SliceQuery<K, UUID, V> query ) {
    try {

        return query.execute().get().getColumns();
    }
    catch ( HInvalidRequestException e ) {
        //invalid request.  Occasionally we get order issues when there shouldn't be, disregard them.

        final Throwable invalidRequestException = e.getCause();

        if ( invalidRequestException instanceof InvalidRequestException
                //we had a range error
                && ( ( InvalidRequestException ) invalidRequestException ).getWhy().contains(
                "range finish must come after start in the order of traversal" )) {
            return Collections.emptyList();
        }

        throw e;
    }
}
 
开发者ID:apache,项目名称:usergrid,代码行数:30,代码来源:AbstractSearch.java


示例9: fillSliceQuery

import me.prettyprint.hector.api.query.SliceQuery; //导入依赖的package包/类
public <K, V> void fillSliceQuery(SliceQuery<K, N, V> sliceQuery) {
    if (type == SliceDataSpecificatorType.COLUMNS) {
        if (columnsArray != null) {
            sliceQuery.setColumnNames(columnsArray);
        }  else {
            ((ThriftSliceQuery) sliceQuery).setColumnNames(columnsCollection);
        }
    } else if (type == SliceDataSpecificatorType.RANGE) {
        if (orderDesc) { // Cassandra's WTF requirement
            sliceQuery.setRange(highEnd, lowEnd, orderDesc, limit);
        } else {
            sliceQuery.setRange(lowEnd, highEnd, orderDesc, limit);
        }

    } else {
        throw new IllegalStateException("Invalid type: " + type);
    }
}
 
开发者ID:appmetr,项目名称:hercules,代码行数:19,代码来源:SliceDataSpecificator.java


示例10: FilteredRowKeyIterator

import me.prettyprint.hector.api.query.SliceQuery; //导入依赖的package包/类
public FilteredRowKeyIterator(String metricName, long startTime, long endTime,
		SetMultimap<String, String> filterTags)
{
	m_filterTags = filterTags;
	SliceQuery<String, DataPointsRowKey, String> sliceQuery =
			HFactory.createSliceQuery(m_keyspace, StringSerializer.get(),
					new DataPointsRowKeySerializer(true), StringSerializer.get());

	sliceQuery.setColumnFamily(CF_ROW_KEY_INDEX)
			.setKey(metricName);

	if ((startTime < 0) && (endTime >= 0))
	{
		m_sliceIterator = createSliceIterator(sliceQuery, metricName,
				startTime, -1L);

		SliceQuery<String, DataPointsRowKey, String> sliceQuery2 =
				HFactory.createSliceQuery(m_keyspace, StringSerializer.get(),
						new DataPointsRowKeySerializer(true), StringSerializer.get());

		sliceQuery2.setColumnFamily(CF_ROW_KEY_INDEX)
				.setKey(metricName);

		m_continueSliceIterator = createSliceIterator(sliceQuery2, metricName,
				0, endTime);
	}
	else
	{
		m_sliceIterator = createSliceIterator(sliceQuery, metricName,
				startTime, endTime);
	}

}
 
开发者ID:quqiangsheng,项目名称:abhot,代码行数:34,代码来源:CassandraDatastore.java


示例11: getMessage

import me.prettyprint.hector.api.query.SliceQuery; //导入依赖的package包/类
@Override
public Message getMessage( UUID messageId ) {
    SliceQuery<UUID, String, ByteBuffer> q =
            createSliceQuery( cass.getApplicationKeyspace( applicationId ), ue, se, be );
    q.setColumnFamily( MESSAGE_PROPERTIES.getColumnFamily() );
    q.setKey( messageId );
    q.setRange( null, null, false, ALL_COUNT );
    QueryResult<ColumnSlice<String, ByteBuffer>> r = q.execute();
    ColumnSlice<String, ByteBuffer> slice = r.get();
    List<HColumn<String, ByteBuffer>> results = slice.getColumns();
    return deserializeMessage( results );
}
 
开发者ID:apache,项目名称:usergrid,代码行数:13,代码来源:QueueManagerImpl.java


示例12: getQueueCounterNames

import me.prettyprint.hector.api.query.SliceQuery; //导入依赖的package包/类
@Override
public Set<String> getQueueCounterNames( String queuePath ) throws Exception {
    Set<String> names = new HashSet<String>();
    Keyspace ko = cass.getApplicationKeyspace( applicationId );
    SliceQuery<String, String, ByteBuffer> q = createSliceQuery( ko, se, se, be );
    q.setColumnFamily( QueuesCF.QUEUE_DICTIONARIES.toString() );
    q.setKey( CassandraPersistenceUtils.key( getQueueId( queuePath ), DICTIONARY_COUNTERS ).toString() );
    q.setRange( null, null, false, ALL_COUNT );

    List<HColumn<String, ByteBuffer>> columns = q.execute().get().getColumns();
    for ( HColumn<String, ByteBuffer> column : columns ) {
        names.add( column.getName() );
    }
    return names;
}
 
开发者ID:apache,项目名称:usergrid,代码行数:16,代码来源:QueueManagerImpl.java


示例13: getQueue

import me.prettyprint.hector.api.query.SliceQuery; //导入依赖的package包/类
public Queue getQueue( String queuePath, UUID queueId ) {
    SliceQuery<UUID, String, ByteBuffer> q =
            createSliceQuery( cass.getApplicationKeyspace( applicationId ), ue, se, be );
    q.setColumnFamily( QUEUE_PROPERTIES.getColumnFamily() );
    q.setKey( queueId );
    q.setRange( null, null, false, ALL_COUNT );
    QueryResult<ColumnSlice<String, ByteBuffer>> r = q.execute();
    ColumnSlice<String, ByteBuffer> slice = r.get();
    List<HColumn<String, ByteBuffer>> results = slice.getColumns();
    return deserializeQueue( results );
}
 
开发者ID:apache,项目名称:usergrid,代码行数:12,代码来源:QueueManagerImpl.java


示例14: getConsumerIds

import me.prettyprint.hector.api.query.SliceQuery; //导入依赖的package包/类
/**
 * Get all pending transactions that have timed out
 *
 * @param queueId The queue id
 * @param consumerId The consumer id
 * @param params The server params
 * @param startTimeUUID The start time
 */
protected List<TransactionPointer> getConsumerIds( UUID queueId, UUID consumerId, SearchParam params,
                                                   UUID startTimeUUID )
{

    SliceQuery<ByteBuffer, UUID, UUID> q = createSliceQuery( ko, be, ue, ue );
    q.setColumnFamily( CONSUMER_QUEUE_TIMEOUTS.getColumnFamily() );
    q.setKey( getQueueClientTransactionKey( queueId, consumerId ) );
    q.setRange( params.startId, startTimeUUID, false, params.limit + 1 );

    List<HColumn<UUID, UUID>> cassResults = swallowOrderedExecution(q);

    List<TransactionPointer> results = new ArrayList<TransactionPointer>( params.limit );

    for ( HColumn<UUID, UUID> column : cassResults )
    {

        if ( logger.isTraceEnabled() )
        {
            logger.trace( "Adding uuid '{}' for original message '{}' to results for queue '{}' and consumer '{}'",
                    column.getName(), column.getValue(), queueId, consumerId );
            logger.trace( "Max timeuuid : '{}', Current timeuuid : '{}', comparison '{}'",
                    startTimeUUID, column.getName(), UUIDUtils.compare( startTimeUUID, column.getName() )
            );
        }

        results.add( new TransactionPointer( column.getName(), column.getValue() ) );
    }

    return results;
}
 
开发者ID:apache,项目名称:usergrid,代码行数:39,代码来源:ConsumerTransaction.java


示例15: hasOutstandingTransactions

import me.prettyprint.hector.api.query.SliceQuery; //导入依赖的package包/类
public boolean hasOutstandingTransactions( UUID queueId, UUID consumerId )
{
    SliceQuery<ByteBuffer, UUID, UUID> q = createSliceQuery( ko, be, ue, ue );
    q.setColumnFamily( CONSUMER_QUEUE_TIMEOUTS.getColumnFamily() );
    q.setKey( getQueueClientTransactionKey( queueId, consumerId ) );
    q.setRange( null, null, false, 1 );
    return q.execute().get().getColumns().size() > 0;
}
 
开发者ID:apache,项目名称:usergrid,代码行数:9,代码来源:ConsumerTransaction.java


示例16: getAllColumns

import me.prettyprint.hector.api.query.SliceQuery; //导入依赖的package包/类
/**
 * Gets the columns.
 *
 * @param ko the keyspace
 * @param columnFamily the column family
 * @param key the key
 *
 * @return columns
 *
 * @throws Exception the exception
 */
public <N, V> List<HColumn<N, V>> getAllColumns( Keyspace ko, Object columnFamily, Object key,
                                                 Serializer<N> nameSerializer, Serializer<V> valueSerializer )
        throws Exception {

    if ( db_logger.isTraceEnabled() ) {
        db_logger.trace( "getColumns cf={} key={}", columnFamily, key );
    }

    SliceQuery<ByteBuffer, N, V> q = createSliceQuery( ko, be, nameSerializer, valueSerializer );
    q.setColumnFamily( columnFamily.toString() );
    q.setKey( bytebuffer( key ) );
    q.setRange( null, null, false, ALL_COUNT );
    QueryResult<ColumnSlice<N, V>> r = q.execute();
    ColumnSlice<N, V> slice = r.get();
    List<HColumn<N, V>> results = slice.getColumns();

    if ( db_logger.isTraceEnabled() ) {
        if ( results == null ) {
            db_logger.trace( "getColumns returned null" );
        }
        else {
            db_logger.trace( "getColumns returned {} columns", results.size() );
        }
    }

    return results;
}
 
开发者ID:apache,项目名称:usergrid,代码行数:39,代码来源:CassandraService.java


示例17: getColumns

import me.prettyprint.hector.api.query.SliceQuery; //导入依赖的package包/类
/**
 * Gets the columns.
 *
 * @param ko the keyspace
 * @param columnFamily the column family
 * @param key the key
 * @param columnNames the column names
 *
 * @return columns
 *
 * @throws Exception the exception
 */
@SuppressWarnings("unchecked")
public <N, V> List<HColumn<N, V>> getColumns( Keyspace ko, Object columnFamily, Object key, Set<String> columnNames,
                                              Serializer<N> nameSerializer, Serializer<V> valueSerializer )
        throws Exception {

    if ( db_logger.isTraceEnabled() ) {
        db_logger.trace( "getColumns cf={} key={} names={}", columnFamily, key, columnNames );
    }

    SliceQuery<ByteBuffer, N, V> q = createSliceQuery( ko, be, nameSerializer, valueSerializer );
    q.setColumnFamily( columnFamily.toString() );
    q.setKey( bytebuffer( key ) );
    // q.setColumnNames(columnNames.toArray(new String[0]));
    q.setColumnNames( ( N[] ) nameSerializer.fromBytesSet( se.toBytesSet( new ArrayList<String>( columnNames ) ) )
                                            .toArray() );

    QueryResult<ColumnSlice<N, V>> r = q.execute();
    ColumnSlice<N, V> slice = r.get();
    List<HColumn<N, V>> results = slice.getColumns();

    if ( db_logger.isTraceEnabled() ) {
        if ( results == null ) {
            db_logger.trace( "getColumns returned null" );
        }
        else {
            db_logger.trace( "getColumns returned {} columns", results.size());
        }
    }

    return results;
}
 
开发者ID:apache,项目名称:usergrid,代码行数:44,代码来源:CassandraService.java


示例18: renewTransaction

import me.prettyprint.hector.api.query.SliceQuery; //导入依赖的package包/类
/**
 * Renew the existing transaction. Does so by deleting the exiting timeout, and replacing it with a new value
 *
 * @param queuePath The queue path
 * @param transactionId The transaction id
 * @param query The query params
 *
 * @return The new transaction uuid
 */
public UUID renewTransaction( String queuePath, UUID transactionId, QueueQuery query )
        throws TransactionNotFoundException
{
    long now = System.currentTimeMillis();

    if ( query == null )
    {
        query = new QueueQuery();
    }

    UUID queueId = getQueueId( queuePath );
    UUID consumerId = getConsumerId( queueId, query );
    ByteBuffer key = getQueueClientTransactionKey( queueId, consumerId );

    // read the original transaction, if it's not there, then we can't possibly
    // extend it
    SliceQuery<ByteBuffer, UUID, UUID> q = createSliceQuery( ko, be, ue, ue );
    q.setColumnFamily( CONSUMER_QUEUE_TIMEOUTS.getColumnFamily() );
    q.setKey( key );
    q.setColumnNames( transactionId );

    HColumn<UUID, UUID> col = q.execute().get().getColumnByName( transactionId );

    if ( col == null )
    {
        throw new TransactionNotFoundException(
                String.format( "No transaction with id %s exists", transactionId ) );
    }

    UUID origTrans = col.getName();
    UUID messageId = col.getValue();

    // Generate a new expiration and insert it
    UUID expirationId = UUIDUtils.newTimeUUID( now + query.getTimeout() );

    if (logger.isTraceEnabled()) {
        logger.trace("Writing new timeout at '{}' for message '{}'", expirationId, messageId);
    }


    Mutator<ByteBuffer> mutator = CountingMutator.createFlushingMutator( ko, be );

    mutator.addInsertion( key, CONSUMER_QUEUE_TIMEOUTS.getColumnFamily(),
            createColumn( expirationId, messageId, cass.createTimestamp(), ue, ue ) );

    mutator.execute();

    // now delete the old value
    deleteTransaction( queueId, consumerId, origTrans );

    return expirationId;
}
 
开发者ID:apache,项目名称:usergrid,代码行数:62,代码来源:ConsumerTransaction.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java GetEditLogManifestRequestProto类代码示例发布时间:2022-05-22
下一篇:
Java WsContextListener类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap