com.facebook.presto.spi.Node类的使用及代码示例

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

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

Node介绍

暂无

代码示例

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

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

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

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

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

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

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

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

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

  1. @Override
  2. public ConnectorSplitSource getSplits(ConnectorTransactionHandle transaction, ConnectorSession session, ConnectorTableLayoutHandle layout, SplitSchedulingStrategy splitSchedulingStrategy)
  3. {
  4. JmxTableLayoutHandle jmxLayout = (JmxTableLayoutHandle) layout;
  5. JmxTableHandle tableHandle = jmxLayout.getTable();
  6. TupleDomain<ColumnHandle> predicate = jmxLayout.getConstraint();
  7. //TODO is there a better way to get the node column?
  8. Optional<JmxColumnHandle> nodeColumnHandle = tableHandle.getColumnHandles().stream()
  9. .filter(jmxColumnHandle -> jmxColumnHandle.getColumnName().equals(NODE_COLUMN_NAME))
  10. .findFirst();
  11. checkState(nodeColumnHandle.isPresent(), "Failed to find %s column", NODE_COLUMN_NAME);
  12. List<ConnectorSplit> splits = nodeManager.getAllNodes().stream()
  13. .filter(node -> {
  14. NullableValue value = NullableValue.of(createUnboundedVarcharType(), utf8Slice(node.getNodeIdentifier()));
  15. return predicate.overlaps(fromFixedValues(ImmutableMap.of(nodeColumnHandle.get(), value)));
  16. })
  17. .map(node -> new JmxSplit(tableHandle, ImmutableList.of(node.getHostAndPort())))
  18. .collect(toList());
  19. return new FixedSplitSource(splits);
  20. }
  21. }

代码示例来源:origin: com.facebook.presto/presto-raptor

  1. @Inject
  2. public ShardCleaner(
  3. DaoSupplier<ShardDao> shardDaoSupplier,
  4. Ticker ticker,
  5. NodeManager nodeManager,
  6. StorageService storageService,
  7. Optional<BackupStore> backupStore,
  8. ShardCleanerConfig config)
  9. {
  10. this(
  11. shardDaoSupplier,
  12. nodeManager.getCurrentNode().getNodeIdentifier(),
  13. nodeManager.getCurrentNode().isCoordinator(),
  14. ticker,
  15. storageService,
  16. backupStore,
  17. config.getMaxTransactionAge(),
  18. config.getTransactionCleanerInterval(),
  19. config.getLocalCleanerInterval(),
  20. config.getLocalCleanTime(),
  21. config.getBackupCleanerInterval(),
  22. config.getBackupCleanTime(),
  23. config.getBackupDeletionThreads(),
  24. config.getMaxCompletedTransactionAge());
  25. }

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

  1. @Override
  2. public URI createMemoryInfoLocation(Node node)
  3. {
  4. requireNonNull(node, "node is null");
  5. return uriBuilderFrom(node.getHttpUri())
  6. .appendPath("/v1/memory").build();
  7. }
  8. }

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

  1. outputStorageFormat.getOutputFormat(),
  2. writerImplementation,
  3. nodeManager.getCurrentNode().getVersion(),
  4. nodeManager.getCurrentNode().getHttpUri().getHost(),
  5. session.getIdentity().getPrincipal().map(Principal::getName).orElse(null),
  6. nodeManager.getEnvironment(),

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

  1. @Inject
  2. public TaskCountEstimator(NodeSchedulerConfig nodeSchedulerConfig, InternalNodeManager nodeManager)
  3. {
  4. requireNonNull(nodeSchedulerConfig, "nodeSchedulerConfig is null");
  5. requireNonNull(nodeManager, "nodeManager is null");
  6. this.numberOfNodes = () -> {
  7. Set<Node> activeNodes = nodeManager.getAllNodes().getActiveNodes();
  8. if (nodeSchedulerConfig.isIncludeCoordinator()) {
  9. return activeNodes.size();
  10. }
  11. return toIntExact(activeNodes.stream()
  12. .filter(node -> !node.isCoordinator())
  13. .count());
  14. };
  15. }

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

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

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

  1. private Response proxyJsonResponse(String nodeId, String workerPath)
  2. {
  3. Set<Node> nodes = nodeManager.getNodes(NodeState.ACTIVE);
  4. Node node = nodes.stream()
  5. .filter(n -> n.getNodeIdentifier().equals(nodeId))
  6. .findFirst()
  7. .orElseThrow(() -> new WebApplicationException(NOT_FOUND));
  8. Request request = prepareGet()
  9. .setUri(uriBuilderFrom(node.getHttpUri())
  10. .appendPath(workerPath)
  11. .build())
  12. .build();
  13. InputStream responseStream = httpClient.execute(request, new StreamingJsonResponseHandler());
  14. return Response.ok(responseStream, APPLICATION_JSON_TYPE).build();
  15. }

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

  1. @Override
  2. public URI createTaskLocation(Node node, TaskId taskId)
  3. {
  4. requireNonNull(node, "node is null");
  5. requireNonNull(taskId, "taskId is null");
  6. return uriBuilderFrom(node.getHttpUri())
  7. .appendPath("/v1/task")
  8. .appendPath(taskId.toString())
  9. .build();
  10. }

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

  1. SystemTablesProvider systemTablesProvider;
  2. if (nodeManager.getCurrentNode().isCoordinator()) {
  3. systemTablesProvider = new DelegatingSystemTablesProvider(
  4. new StaticSystemTablesProvider(connector.getSystemTables()),

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

  1. public synchronized Map<String, Optional<MemoryInfo>> getWorkerMemoryInfo()
  2. {
  3. Map<String, Optional<MemoryInfo>> memoryInfo = new HashMap<>();
  4. for (Entry<String, RemoteNodeMemory> entry : nodes.entrySet()) {
  5. // workerId is of the form "node_identifier [node_host]"
  6. String workerId = entry.getKey() + " [" + entry.getValue().getNode().getHostAndPort().getHostText() + "]";
  7. memoryInfo.put(workerId, entry.getValue().getInfo());
  8. }
  9. return memoryInfo;
  10. }

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

  1. @Inject
  2. public JmxRecordSetProvider(MBeanServer mbeanServer, NodeManager nodeManager, JmxHistoricalData jmxHistoricalData)
  3. {
  4. this.mbeanServer = requireNonNull(mbeanServer, "mbeanServer is null");
  5. this.nodeId = requireNonNull(nodeManager, "nodeManager is null").getCurrentNode().getNodeIdentifier();
  6. this.jmxHistoricalData = requireNonNull(jmxHistoricalData, "jmxHistoryHolder is null");
  7. }

代码示例来源:origin: com.facebook.presto/presto-raptor

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

代码示例来源:origin: uk.co.nichesolutions.presto/presto-main

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

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

  1. private void pollWorkers()
  2. {
  3. AllNodes allNodes = getAllNodes();
  4. Set<Node> aliveNodes = ImmutableSet.<Node>builder()
  5. .addAll(allNodes.getActiveNodes())
  6. .addAll(allNodes.getShuttingDownNodes())
  7. .build();
  8. ImmutableSet<String> aliveNodeIds = aliveNodes.stream()
  9. .map(Node::getNodeIdentifier)
  10. .collect(toImmutableSet());
  11. // Remove nodes that don't exist anymore
  12. // Make a copy to materialize the set difference
  13. Set<String> deadNodes = difference(nodeStates.keySet(), aliveNodeIds).immutableCopy();
  14. nodeStates.keySet().removeAll(deadNodes);
  15. // Add new nodes
  16. for (Node node : aliveNodes) {
  17. nodeStates.putIfAbsent(node.getNodeIdentifier(),
  18. new RemoteNodeState(httpClient, uriBuilderFrom(node.getHttpUri()).appendPath("/v1/info/state").build()));
  19. }
  20. // Schedule refresh
  21. nodeStates.values().forEach(RemoteNodeState::asyncRefresh);
  22. // update indexes
  23. refreshNodesInternal();
  24. }

代码示例来源:origin: uk.co.nichesolutions.presto/presto-main

  1. @Override
  2. public URI createMemoryInfoLocation(Node node)
  3. {
  4. requireNonNull(node, "node is null");
  5. return uriBuilderFrom(node.getHttpUri())
  6. .appendPath("/v1/memory").build();
  7. }
  8. }

代码示例来源:origin: com.facebook.presto/presto-raptor

  1. @Inject
  2. public RaptorConnector(
  3. LifeCycleManager lifeCycleManager,
  4. NodeManager nodeManager,
  5. RaptorMetadataFactory metadataFactory,
  6. RaptorSplitManager splitManager,
  7. RaptorPageSourceProvider pageSourceProvider,
  8. RaptorPageSinkProvider pageSinkProvider,
  9. RaptorNodePartitioningProvider nodePartitioningProvider,
  10. RaptorSessionProperties sessionProperties,
  11. RaptorTableProperties tableProperties,
  12. Set<SystemTable> systemTables,
  13. ConnectorAccessControl accessControl,
  14. @ForMetadata IDBI dbi)
  15. {
  16. this.lifeCycleManager = requireNonNull(lifeCycleManager, "lifeCycleManager is null");
  17. this.metadataFactory = requireNonNull(metadataFactory, "metadataFactory is null");
  18. this.splitManager = requireNonNull(splitManager, "splitManager is null");
  19. this.pageSourceProvider = requireNonNull(pageSourceProvider, "pageSourceProvider is null");
  20. this.pageSinkProvider = requireNonNull(pageSinkProvider, "pageSinkProvider is null");
  21. this.nodePartitioningProvider = requireNonNull(nodePartitioningProvider, "nodePartitioningProvider is null");
  22. this.sessionProperties = requireNonNull(sessionProperties, "sessionProperties is null").getSessionProperties();
  23. this.tableProperties = requireNonNull(tableProperties, "tableProperties is null").getTableProperties();
  24. this.systemTables = requireNonNull(systemTables, "systemTables is null");
  25. this.accessControl = requireNonNull(accessControl, "accessControl is null");
  26. this.dao = onDemandDao(dbi, MetadataDao.class);
  27. this.coordinator = nodeManager.getCurrentNode().isCoordinator();
  28. }

相关文章