本文整理了Java中com.facebook.presto.spi.Node
类的一些代码示例,展示了Node
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Node
类的具体详情如下:
包路径:com.facebook.presto.spi.Node
类名称:Node
暂无
代码示例来源:origin: prestodb/presto
@Inject
public MemoryPageSinkProvider(MemoryPagesStore pagesStore, NodeManager nodeManager)
{
this(pagesStore, requireNonNull(nodeManager, "nodeManager is null").getCurrentNode().getHostAndPort());
}
代码示例来源:origin: prestodb/presto
public int getQueuedSplitCountForStage(Node node)
{
return queuedSplitCountByNode.getOrDefault(node.getNodeIdentifier(), 0) + assignmentCount.getOrDefault(node, 0);
}
代码示例来源:origin: prestodb/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: prestodb/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));
}
}
代码示例来源:origin: prestodb/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: com.facebook.presto/presto-raptor
@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: prestodb/presto
@Override
public URI createMemoryInfoLocation(Node node)
{
requireNonNull(node, "node is null");
return uriBuilderFrom(node.getHttpUri())
.appendPath("/v1/memory").build();
}
}
代码示例来源:origin: prestodb/presto
outputStorageFormat.getOutputFormat(),
writerImplementation,
nodeManager.getCurrentNode().getVersion(),
nodeManager.getCurrentNode().getHttpUri().getHost(),
session.getIdentity().getPrincipal().map(Principal::getName).orElse(null),
nodeManager.getEnvironment(),
代码示例来源:origin: prestodb/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: prestodb/presto
log.info("Previously active node is missing: %s (last seen at %s)", missingNode.getNodeIdentifier(), missingNode.getHostAndPort());
代码示例来源:origin: prestodb/presto
private Response proxyJsonResponse(String nodeId, String workerPath)
{
Set<Node> nodes = nodeManager.getNodes(NodeState.ACTIVE);
Node node = nodes.stream()
.filter(n -> n.getNodeIdentifier().equals(nodeId))
.findFirst()
.orElseThrow(() -> new WebApplicationException(NOT_FOUND));
Request request = prepareGet()
.setUri(uriBuilderFrom(node.getHttpUri())
.appendPath(workerPath)
.build())
.build();
InputStream responseStream = httpClient.execute(request, new StreamingJsonResponseHandler());
return Response.ok(responseStream, APPLICATION_JSON_TYPE).build();
}
代码示例来源:origin: prestodb/presto
@Override
public URI createTaskLocation(Node node, TaskId taskId)
{
requireNonNull(node, "node is null");
requireNonNull(taskId, "taskId is null");
return uriBuilderFrom(node.getHttpUri())
.appendPath("/v1/task")
.appendPath(taskId.toString())
.build();
}
代码示例来源:origin: prestodb/presto
SystemTablesProvider systemTablesProvider;
if (nodeManager.getCurrentNode().isCoordinator()) {
systemTablesProvider = new DelegatingSystemTablesProvider(
new StaticSystemTablesProvider(connector.getSystemTables()),
代码示例来源:origin: prestodb/presto
public synchronized Map<String, Optional<MemoryInfo>> getWorkerMemoryInfo()
{
Map<String, Optional<MemoryInfo>> memoryInfo = new HashMap<>();
for (Entry<String, RemoteNodeMemory> entry : nodes.entrySet()) {
// workerId is of the form "node_identifier [node_host]"
String workerId = entry.getKey() + " [" + entry.getValue().getNode().getHostAndPort().getHostText() + "]";
memoryInfo.put(workerId, entry.getValue().getInfo());
}
return memoryInfo;
}
代码示例来源:origin: prestodb/presto
@Inject
public JmxRecordSetProvider(MBeanServer mbeanServer, NodeManager nodeManager, JmxHistoricalData jmxHistoricalData)
{
this.mbeanServer = requireNonNull(mbeanServer, "mbeanServer is null");
this.nodeId = requireNonNull(nodeManager, "nodeManager is null").getCurrentNode().getNodeIdentifier();
this.jmxHistoricalData = requireNonNull(jmxHistoricalData, "jmxHistoryHolder is null");
}
代码示例来源:origin: com.facebook.presto/presto-raptor
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: uk.co.nichesolutions.presto/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: prestodb/presto
private void pollWorkers()
{
AllNodes allNodes = getAllNodes();
Set<Node> aliveNodes = ImmutableSet.<Node>builder()
.addAll(allNodes.getActiveNodes())
.addAll(allNodes.getShuttingDownNodes())
.build();
ImmutableSet<String> aliveNodeIds = aliveNodes.stream()
.map(Node::getNodeIdentifier)
.collect(toImmutableSet());
// Remove nodes that don't exist anymore
// Make a copy to materialize the set difference
Set<String> deadNodes = difference(nodeStates.keySet(), aliveNodeIds).immutableCopy();
nodeStates.keySet().removeAll(deadNodes);
// Add new nodes
for (Node node : aliveNodes) {
nodeStates.putIfAbsent(node.getNodeIdentifier(),
new RemoteNodeState(httpClient, uriBuilderFrom(node.getHttpUri()).appendPath("/v1/info/state").build()));
}
// Schedule refresh
nodeStates.values().forEach(RemoteNodeState::asyncRefresh);
// update indexes
refreshNodesInternal();
}
代码示例来源:origin: uk.co.nichesolutions.presto/presto-main
@Override
public URI createMemoryInfoLocation(Node node)
{
requireNonNull(node, "node is null");
return uriBuilderFrom(node.getHttpUri())
.appendPath("/v1/memory").build();
}
}
代码示例来源:origin: com.facebook.presto/presto-raptor
@Inject
public RaptorConnector(
LifeCycleManager lifeCycleManager,
NodeManager nodeManager,
RaptorMetadataFactory metadataFactory,
RaptorSplitManager splitManager,
RaptorPageSourceProvider pageSourceProvider,
RaptorPageSinkProvider pageSinkProvider,
RaptorNodePartitioningProvider nodePartitioningProvider,
RaptorSessionProperties sessionProperties,
RaptorTableProperties tableProperties,
Set<SystemTable> systemTables,
ConnectorAccessControl accessControl,
@ForMetadata IDBI dbi)
{
this.lifeCycleManager = requireNonNull(lifeCycleManager, "lifeCycleManager is null");
this.metadataFactory = requireNonNull(metadataFactory, "metadataFactory is null");
this.splitManager = requireNonNull(splitManager, "splitManager is null");
this.pageSourceProvider = requireNonNull(pageSourceProvider, "pageSourceProvider is null");
this.pageSinkProvider = requireNonNull(pageSinkProvider, "pageSinkProvider is null");
this.nodePartitioningProvider = requireNonNull(nodePartitioningProvider, "nodePartitioningProvider is null");
this.sessionProperties = requireNonNull(sessionProperties, "sessionProperties is null").getSessionProperties();
this.tableProperties = requireNonNull(tableProperties, "tableProperties is null").getTableProperties();
this.systemTables = requireNonNull(systemTables, "systemTables is null");
this.accessControl = requireNonNull(accessControl, "accessControl is null");
this.dao = onDemandDao(dbi, MetadataDao.class);
this.coordinator = nodeManager.getCurrentNode().isCoordinator();
}
内容来源于网络,如有侵权,请联系作者删除!