io.prestosql.spi.Node类的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(9.3k)|赞(0)|评价(0)|浏览(141)

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

Node介绍

暂无

代码示例

代码示例来源:origin: prestosql/presto

private static List<HostAddress> getAddressesForNodes(Map<String, Node> nodeMap, Iterable<String> nodeIdentifiers)
{
  ImmutableList.Builder<HostAddress> nodes = ImmutableList.builder();
  for (String id : nodeIdentifiers) {
    Node node = nodeMap.get(id);
    if (node != null) {
      nodes.add(node.getHostAndPort());
    }
  }
  return nodes.build();
}

代码示例来源:origin: io.prestosql/presto-main

public int getQueuedSplitCountForStage(Node node)
{
  return queuedSplitCountByNode.getOrDefault(node.getNodeIdentifier(), 0) + assignmentCount.getOrDefault(node, 0);
}

代码示例来源:origin: io.prestosql/presto-main

private void addRows(Builder table, Set<Node> nodes, NodeState state)
{
  for (Node node : nodes) {
    table.addRow(node.getNodeIdentifier(), node.getHttpUri().toString(), getNodeVersion(node), isCoordinator(node), state.toString().toLowerCase(Locale.ENGLISH));
  }
}

代码示例来源:origin: prestosql/presto

@Override
  public ConnectorSplitSource getSplits(ConnectorTransactionHandle transaction, ConnectorSession session, ConnectorTableLayoutHandle layout, SplitSchedulingStrategy splitSchedulingStrategy)
  {
    JmxTableLayoutHandle jmxLayout = (JmxTableLayoutHandle) layout;
    JmxTableHandle tableHandle = jmxLayout.getTable();
    TupleDomain<ColumnHandle> predicate = jmxLayout.getConstraint();

    //TODO is there a better way to get the node column?
    Optional<JmxColumnHandle> nodeColumnHandle = tableHandle.getColumnHandles().stream()
        .filter(jmxColumnHandle -> jmxColumnHandle.getColumnName().equals(NODE_COLUMN_NAME))
        .findFirst();
    checkState(nodeColumnHandle.isPresent(), "Failed to find %s column", NODE_COLUMN_NAME);

    List<ConnectorSplit> splits = nodeManager.getAllNodes().stream()
        .filter(node -> {
          NullableValue value = NullableValue.of(createUnboundedVarcharType(), utf8Slice(node.getNodeIdentifier()));
          return predicate.overlaps(fromFixedValues(ImmutableMap.of(nodeColumnHandle.get(), value)));
        })
        .map(node -> new JmxSplit(tableHandle, ImmutableList.of(node.getHostAndPort())))
        .collect(toList());

    return new FixedSplitSource(splits);
  }
}

代码示例来源:origin: io.prestosql/presto-main

if (useNetworkTopology && (includeCoordinator || !coordinatorNodeIds.contains(node.getNodeIdentifier()))) {
  NetworkLocation location = networkLocationCache.get(node.getHostAndPort());
  for (int i = 0; i <= location.getSegments().size(); i++) {
    workersByNetworkPath.put(location.subLocation(0, i), node);
  byHostAndPort.put(node.getHostAndPort(), node);
  InetAddress host = InetAddress.getByName(node.getHttpUri().getHost());
  byHost.put(host, node);

代码示例来源:origin: io.prestosql/presto-main

private synchronized void announceNodes(Set<Node> activeNodes, Set<Node> inactiveNodes)
{
  ImmutableList.Builder<ServiceDescriptor> descriptors = ImmutableList.builder();
  for (Node node : Iterables.concat(activeNodes, inactiveNodes)) {
    descriptors.add(serviceDescriptor("presto")
        .setNodeId(node.getNodeIdentifier())
        .addProperty("http", node.getHttpUri().toString())
        .addProperty("node_version", ((PrestoNode) node).getNodeVersion().toString())
        .addProperty("coordinator", String.valueOf(node.isCoordinator()))
        .build());
  }
  this.descriptors = descriptors.build();
}

代码示例来源:origin: prestosql/presto

@Inject
public ShardCleaner(
    DaoSupplier<ShardDao> shardDaoSupplier,
    Ticker ticker,
    NodeManager nodeManager,
    StorageService storageService,
    Optional<BackupStore> backupStore,
    ShardCleanerConfig config)
{
  this(
      shardDaoSupplier,
      nodeManager.getCurrentNode().getNodeIdentifier(),
      nodeManager.getCurrentNode().isCoordinator(),
      ticker,
      storageService,
      backupStore,
      config.getMaxTransactionAge(),
      config.getTransactionCleanerInterval(),
      config.getLocalCleanerInterval(),
      config.getLocalCleanTime(),
      config.getBackupCleanerInterval(),
      config.getBackupCleanTime(),
      config.getBackupDeletionThreads(),
      config.getMaxCompletedTransactionAge());
}

代码示例来源:origin: io.prestosql/presto-main

@Inject
public TaskCountEstimator(NodeSchedulerConfig nodeSchedulerConfig, InternalNodeManager nodeManager)
{
  requireNonNull(nodeSchedulerConfig, "nodeSchedulerConfig is null");
  requireNonNull(nodeManager, "nodeManager is null");
  this.numberOfNodes = () -> {
    Set<Node> activeNodes = nodeManager.getAllNodes().getActiveNodes();
    if (nodeSchedulerConfig.isIncludeCoordinator()) {
      return activeNodes.size();
    }
    return toIntExact(activeNodes.stream()
        .filter(node -> !node.isCoordinator())
        .count());
  };
}

代码示例来源:origin: io.prestosql/presto-main

@Override
  public URI createMemoryInfoLocation(Node node)
  {
    requireNonNull(node, "node is null");
    return uriBuilderFrom(node.getHttpUri())
        .appendPath("/v1/memory").build();
  }
}

代码示例来源:origin: prestosql/presto

outputStorageFormat.getOutputFormat(),
writerImplementation,
nodeManager.getCurrentNode().getVersion(),
nodeManager.getCurrentNode().getHttpUri().getHost(),
session.getIdentity().getPrincipal().map(Principal::getName).orElse(null),
nodeManager.getEnvironment(),

代码示例来源:origin: prestosql/presto

MBeanServer platformMBeanServer = ManagementFactory.getPlatformMBeanServer();
binder.bind(MBeanServer.class).toInstance(new RebindSafeMBeanServer(platformMBeanServer));
binder.bind(NodeVersion.class).toInstance(new NodeVersion(context.getNodeManager().getCurrentNode().getVersion()));
binder.bind(NodeManager.class).toInstance(context.getNodeManager());
binder.bind(TypeManager.class).toInstance(context.getTypeManager());

代码示例来源:origin: prestosql/presto

private ConnectorSplit createSplit(BucketShards bucketShards)
{
  if (bucketShards.getBucketNumber().isPresent()) {
    return createBucketSplit(bucketShards.getBucketNumber().getAsInt(), bucketShards.getShards());
  }
  verify(bucketShards.getShards().size() == 1, "wrong shard count for non-bucketed table");
  ShardNodes shard = getOnlyElement(bucketShards.getShards());
  UUID shardId = shard.getShardUuid();
  Set<String> nodeIds = shard.getNodeIdentifiers();
  List<HostAddress> addresses = getAddressesForNodes(nodesById, nodeIds);
  if (addresses.isEmpty()) {
    if (!backupAvailable) {
      throw new PrestoException(RAPTOR_NO_HOST_FOR_SHARD, format("No host for shard %s found: %s", shardId, nodeIds));
    }
    // Pick a random node and optimistically assign the shard to it.
    // That node will restore the shard from the backup location.
    Set<Node> availableNodes = nodeSupplier.getWorkerNodes();
    if (availableNodes.isEmpty()) {
      throw new PrestoException(NO_NODES_AVAILABLE, "No nodes available to run query");
    }
    Node node = selectRandom(availableNodes);
    shardManager.replaceShardAssignment(tableId, shardId, node.getNodeIdentifier(), true);
    addresses = ImmutableList.of(node.getHostAndPort());
  }
  return new RaptorSplit(connectorId, shardId, addresses, effectivePredicate, transactionId);
}

代码示例来源:origin: prestosql/presto

if (useNetworkTopology && (includeCoordinator || !coordinatorNodeIds.contains(node.getNodeIdentifier()))) {
  NetworkLocation location = networkLocationCache.get(node.getHostAndPort());
  for (int i = 0; i <= location.getSegments().size(); i++) {
    workersByNetworkPath.put(location.subLocation(0, i), node);
  byHostAndPort.put(node.getHostAndPort(), node);
  InetAddress host = InetAddress.getByName(node.getHttpUri().getHost());
  byHost.put(host, node);

代码示例来源:origin: prestosql/presto

private synchronized void announceNodes(Set<Node> activeNodes, Set<Node> inactiveNodes)
{
  ImmutableList.Builder<ServiceDescriptor> descriptors = ImmutableList.builder();
  for (Node node : Iterables.concat(activeNodes, inactiveNodes)) {
    descriptors.add(serviceDescriptor("presto")
        .setNodeId(node.getNodeIdentifier())
        .addProperty("http", node.getHttpUri().toString())
        .addProperty("node_version", ((PrestoNode) node).getNodeVersion().toString())
        .addProperty("coordinator", String.valueOf(node.isCoordinator()))
        .build());
  }
  this.descriptors = descriptors.build();
}

代码示例来源:origin: prestosql/presto

@Inject
public TaskCountEstimator(NodeSchedulerConfig nodeSchedulerConfig, InternalNodeManager nodeManager)
{
  requireNonNull(nodeSchedulerConfig, "nodeSchedulerConfig is null");
  requireNonNull(nodeManager, "nodeManager is null");
  this.numberOfNodes = () -> {
    Set<Node> activeNodes = nodeManager.getAllNodes().getActiveNodes();
    if (nodeSchedulerConfig.isIncludeCoordinator()) {
      return activeNodes.size();
    }
    return toIntExact(activeNodes.stream()
        .filter(node -> !node.isCoordinator())
        .count());
  };
}

代码示例来源:origin: prestosql/presto

@Override
  public URI createMemoryInfoLocation(Node node)
  {
    requireNonNull(node, "node is null");
    return uriBuilderFrom(node.getHttpUri())
        .appendPath("/v1/memory").build();
  }
}

代码示例来源:origin: io.prestosql/presto-memory

@Inject
public MemoryPageSinkProvider(MemoryPagesStore pagesStore, NodeManager nodeManager)
{
  this(pagesStore, requireNonNull(nodeManager, "nodeManager is null").getCurrentNode().getHostAndPort());
}

代码示例来源:origin: prestosql/presto

public int getQueuedSplitCountForStage(Node node)
{
  return queuedSplitCountByNode.getOrDefault(node.getNodeIdentifier(), 0) + assignmentCount.getOrDefault(node, 0);
}

代码示例来源:origin: prestosql/presto

log.info("Previously active node is missing: %s (last seen at %s)", missingNode.getNodeIdentifier(), missingNode.getHostAndPort());

代码示例来源:origin: prestosql/presto

private void addRows(Builder table, Set<Node> nodes, NodeState state)
{
  for (Node node : nodes) {
    table.addRow(node.getNodeIdentifier(), node.getHttpUri().toString(), getNodeVersion(node), isCoordinator(node), state.toString().toLowerCase(Locale.ENGLISH));
  }
}

相关文章

微信公众号

最新文章

更多