com.google.cloud.bigtable.data.v2.models.Query.shard()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(3.7k)|赞(0)|评价(0)|浏览(271)

本文整理了Java中com.google.cloud.bigtable.data.v2.models.Query.shard方法的一些代码示例,展示了Query.shard的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Query.shard方法的具体详情如下:
包路径:com.google.cloud.bigtable.data.v2.models.Query
类名称:Query
方法名:shard

Query.shard介绍

[英]Split this query into multiple queries that can be evenly distributed across Bigtable nodes and be run in parallel. This method takes the results from com.google.cloud.bigtable.data.v2.BigtableDataClient#sampleRowKeysAsync(String) to divide this query into a set of disjoint queries that logically combine into form this query.

Expected Usage:

  1. List keyOffsets = dataClient.sampleRowKeysAsync("my-table").get();List> results = ApiFutures.allAsList(futures).get();
  2. }

[中]将此查询拆分为多个查询,这些查询可以均匀分布在Bigtable节点上并并行运行。此方法从com获取结果。谷歌。云大桌子。数据v2。BigtableDataClient#SampleRowKeyAsync(字符串)将此查询划分为一组不相交的查询,这些查询在逻辑上组合成此查询。
预期用途:

  1. List keyOffsets = dataClient.sampleRowKeysAsync("my-table").get();List> results = ApiFutures.allAsList(futures).get();
  2. }

代码示例

代码示例来源:origin: googleapis/google-cloud-java

  1. /**
  2. * Split this query into multiple queries that can be evenly distributed across Bigtable nodes and
  3. * be run in parallel. This method takes the results from {@link
  4. * com.google.cloud.bigtable.data.v2.BigtableDataClient#sampleRowKeysAsync(String)} to divide this
  5. * query into a set of disjoint queries that logically combine into form this query.
  6. *
  7. * <p>Expected Usage:
  8. *
  9. * <pre>{@code
  10. * List<KeyOffset> keyOffsets = dataClient.sampleRowKeysAsync("my-table").get();
  11. * List<Query> queryShards = myQuery.shard(keyOffsets);
  12. * List<ApiFuture<List<Row>>> futures = new ArrayList();
  13. * for (Query subQuery : queryShards) {
  14. * futures.add(dataClient.readRowsCallable().all().futureCall(subQuery));
  15. * }
  16. * List<List<Row>> results = ApiFutures.allAsList(futures).get();
  17. * }</pre>
  18. */
  19. public List<Query> shard(List<KeyOffset> sampledRowKeys) {
  20. Preconditions.checkState(builder.getRowsLimit() == 0, "Can't shard query with row limits");
  21. ImmutableSortedSet.Builder<ByteString> splitPoints =
  22. ImmutableSortedSet.orderedBy(ByteStringComparator.INSTANCE);
  23. for (KeyOffset keyOffset : sampledRowKeys) {
  24. if (!keyOffset.getKey().isEmpty()) {
  25. splitPoints.add(keyOffset.getKey());
  26. }
  27. }
  28. return shard(splitPoints.build());
  29. }

代码示例来源:origin: googleapis/google-cloud-java

  1. KeyOffset.create(ByteString.EMPTY, 100));
  2. List<Query> subQueries = query.shard(keyOffsets);

代码示例来源:origin: googleapis/google-cloud-java

  1. .build();
  2. List<Query> subQueries = query.shard(splitPoints);

代码示例来源:origin: com.google.cloud/google-cloud-bigtable

  1. /**
  2. * Split this query into multiple queries that can be evenly distributed across Bigtable nodes and
  3. * be run in parallel. This method takes the results from {@link
  4. * com.google.cloud.bigtable.data.v2.BigtableDataClient#sampleRowKeysAsync(String)} to divide this
  5. * query into a set of disjoint queries that logically combine into form this query.
  6. *
  7. * <p>Expected Usage:
  8. *
  9. * <pre>{@code
  10. * List<KeyOffset> keyOffsets = dataClient.sampleRowKeysAsync("my-table").get();
  11. * List<Query> queryShards = myQuery.shard(keyOffsets);
  12. * List<ApiFuture<List<Row>>> futures = new ArrayList();
  13. * for (Query subQuery : queryShards) {
  14. * futures.add(dataClient.readRowsCallable().all().futureCall(subQuery));
  15. * }
  16. * List<List<Row>> results = ApiFutures.allAsList(futures).get();
  17. * }</pre>
  18. */
  19. public List<Query> shard(List<KeyOffset> sampledRowKeys) {
  20. Preconditions.checkState(builder.getRowsLimit() == 0, "Can't shard query with row limits");
  21. ImmutableSortedSet.Builder<ByteString> splitPoints =
  22. ImmutableSortedSet.orderedBy(ByteStringComparator.INSTANCE);
  23. for (KeyOffset keyOffset : sampledRowKeys) {
  24. if (!keyOffset.getKey().isEmpty()) {
  25. splitPoints.add(keyOffset.getKey());
  26. }
  27. }
  28. return shard(splitPoints.build());
  29. }

相关文章