@Override public ConnectorBucketNodeMap getBucketNodeMap(ConnectorTransactionHandle transactionHandle, ConnectorSession session, ConnectorPartitioningHandle partitioningHandle) { Set<Node> nodes = nodeManager.getRequiredWorkerNodes(); // Split the data using split and skew by the number of nodes available. return createBucketNodeMap(toIntExact((long) nodes.size() * splitsPerNode)); }
public static ConnectorBucketNodeMap createBucketNodeMap(int bucketCount) { return new ConnectorBucketNodeMap(bucketCount, Optional.empty()); }
public BucketNodeMap getBucketNodeMap(Session session, PartitioningHandle partitioningHandle, boolean preferDynamic) { ConnectorBucketNodeMap connectorBucketNodeMap = getConnectorBucketNodeMap(session, partitioningHandle); if (connectorBucketNodeMap.hasFixedMapping()) { return new FixedBucketNodeMap(getSplitToBucket(session, partitioningHandle), connectorBucketNodeMap.getFixedMapping()); } if (preferDynamic) { return new DynamicBucketNodeMap(getSplitToBucket(session, partitioningHandle), connectorBucketNodeMap.getBucketCount()); } return new FixedBucketNodeMap( getSplitToBucket(session, partitioningHandle), createArbitraryBucketToNode( new ArrayList<>(nodeScheduler.createNodeSelector(partitioningHandle.getConnectorId().get()).allNodes()), connectorBucketNodeMap.getBucketCount())); }
public BucketNodeMap getBucketNodeMap(Session session, PartitioningHandle partitioningHandle, boolean preferDynamic) { ConnectorBucketNodeMap connectorBucketNodeMap = getConnectorBucketNodeMap(session, partitioningHandle); if (connectorBucketNodeMap.hasFixedMapping()) { return new FixedBucketNodeMap(getSplitToBucket(session, partitioningHandle), connectorBucketNodeMap.getFixedMapping()); } if (preferDynamic) { return new DynamicBucketNodeMap(getSplitToBucket(session, partitioningHandle), connectorBucketNodeMap.getBucketCount()); } return new FixedBucketNodeMap( getSplitToBucket(session, partitioningHandle), createArbitraryBucketToNode( new ArrayList<>(nodeScheduler.createNodeSelector(partitioningHandle.getConnectorId().get()).allNodes()), connectorBucketNodeMap.getBucketCount())); }
@Override public ConnectorBucketNodeMap getBucketNodeMap(ConnectorTransactionHandle transactionHandle, ConnectorSession session, ConnectorPartitioningHandle partitioningHandle) { Set<Node> nodes = nodeManager.getRequiredWorkerNodes(); // Split the data using split and skew by the number of nodes available. return createBucketNodeMap(toIntExact((long) nodes.size() * splitsPerNode)); }
public static ConnectorBucketNodeMap createBucketNodeMap(List<Node> bucketToNode) { return new ConnectorBucketNodeMap(bucketToNode.size(), Optional.of(bucketToNode)); }
@Override public ConnectorBucketNodeMap getBucketNodeMap(ConnectorTransactionHandle transactionHandle, ConnectorSession session, ConnectorPartitioningHandle partitioningHandle) { // create one bucket per node return createBucketNodeMap(nodeManager.getRequiredWorkerNodes().size()); }
@Override public ConnectorBucketNodeMap getBucketNodeMap(ConnectorTransactionHandle transactionHandle, ConnectorSession session, ConnectorPartitioningHandle partitioningHandle) { Set<Node> nodes = nodeManager.getRequiredWorkerNodes(); checkState(!nodes.isEmpty(), "No TPCDS nodes available"); // Split the data using split and skew by the number of nodes available. return createBucketNodeMap(toIntExact((long) nodes.size() * splitsPerNode)); }
@Override public ConnectorBucketNodeMap getBucketNodeMap(ConnectorTransactionHandle transactionHandle, ConnectorSession session, ConnectorPartitioningHandle partitioningHandle) { // create one bucket per node return createBucketNodeMap(nodeManager.getRequiredWorkerNodes().size()); }
@Override public ConnectorBucketNodeMap getBucketNodeMap(ConnectorTransactionHandle transactionHandle, ConnectorSession session, ConnectorPartitioningHandle partitioningHandle) { HivePartitioningHandle handle = (HivePartitioningHandle) partitioningHandle; return createBucketNodeMap(handle.getBucketCount()); }
@Override public ConnectorBucketNodeMap getBucketNodeMap(ConnectorTransactionHandle transactionHandle, ConnectorSession session, ConnectorPartitioningHandle partitioningHandle) { Set<Node> nodes = nodeManager.getRequiredWorkerNodes(); checkState(!nodes.isEmpty(), "No TPCDS nodes available"); // Split the data using split and skew by the number of nodes available. return createBucketNodeMap(toIntExact((long) nodes.size() * splitsPerNode)); }
@Override public ConnectorBucketNodeMap getBucketNodeMap(ConnectorTransactionHandle transaction, ConnectorSession session, ConnectorPartitioningHandle partitioning) { RaptorPartitioningHandle handle = (RaptorPartitioningHandle) partitioning; Map<String, Node> nodesById = uniqueIndex(nodeSupplier.getWorkerNodes(), Node::getNodeIdentifier); ImmutableList.Builder<Node> bucketToNode = ImmutableList.builder(); for (String nodeIdentifier : handle.getBucketToNode()) { Node node = nodesById.get(nodeIdentifier); if (node == null) { throw new PrestoException(NO_NODES_AVAILABLE, "Node for bucket is offline: " + nodeIdentifier); } bucketToNode.add(node); } return createBucketNodeMap(bucketToNode.build()); }