Package com.facebook.presto.metadata

Examples of com.facebook.presto.metadata.Split


        }
        final List<ColumnHandle> columnHandles = columnHandlesBuilder.build();
        final List<Type> columnTypes = columnTypesBuilder.build();

        // get the split for this table
        final Split split = getLocalQuerySplit(tableHandle);

        return new OperatorFactory()
        {
            @Override
            public List<Type> getTypes()
View Full Code Here


    private Split getLocalQuerySplit(TableHandle tableHandle)
    {
        try {
            List<Partition> partitions = splitManager.getPartitions(tableHandle, Optional.<TupleDomain<ColumnHandle>>absent()).getPartitions();
            SplitSource splitSource = splitManager.getPartitionSplits(tableHandle, partitions);
            Split split = Iterables.getOnlyElement(splitSource.getNextBatch(1000));
            while (!splitSource.isFinished()) {
                checkState(splitSource.getNextBatch(1000).isEmpty(), "Expected only one split for a local query");
            }
            return split;
        }
View Full Code Here

        boolean finished = allSourceComplete && outputBuffers.isNoMoreBufferIds();

        // update tasks
        for (RemoteTask task : tasks.values()) {
            for (Entry<PlanNodeId, URI> entry : newExchangeLocations.entries()) {
                Split remoteSplit = createRemoteSplitFor(task.getNodeId(), entry.getValue());
                task.addSplits(entry.getKey(), ImmutableList.of(remoteSplit));
            }
            task.setOutputBuffers(outputBuffers);
            for (PlanNodeId completeSource : completeSources) {
                task.noMoreSplits(completeSource);
View Full Code Here

    }

    private Split createRemoteSplitFor(String nodeId, URI taskLocation)
    {
        URI splitLocation = uriBuilderFrom(taskLocation).appendPath("results").appendPath(nodeId).build();
        return new Split("remote", new RemoteSplit(splitLocation));
    }
View Full Code Here

    static class TestSplit
            implements ConnectorSplit
    {
        static Split createRecordSetSplit()
        {
            return new Split("test", new TestSplit(true));
        }
View Full Code Here

            return new Split("test", new TestSplit(true));
        }

        static Split createNormalSplit()
        {
            return new Split("test", new TestSplit(false));
        }
View Full Code Here

        waitForFinished(operator);
    }

    private Split newRemoteSplit(String taskId)
    {
        return new Split("remote", new RemoteSplit(URI.create("http://localhost/" + taskId)));
    }
View Full Code Here

    @Test
    public void testScheduleLocal()
            throws Exception
    {
        Set<Split> splits = new HashSet<>();
        Split localSplit = new Split("foo", new TestSplitLocal());
        splits.add(localSplit);
        Multimap<Node, Split> assignments = nodeSelector.computeAssignments(splits);
        Map.Entry<Node, Split> onlyEntry = Iterables.getOnlyElement(assignments.entries());
        assertEquals(onlyEntry.getKey().getHostAndPort(), localSplit.getAddresses().get(0));
        assertEquals(onlyEntry.getValue(), localSplit);
    }
View Full Code Here

    @Test
    public void testScheduleRemote()
            throws Exception
    {
        Set<Split> splits = new HashSet<>();
        splits.add(new Split("foo", new TestSplitRemote()));
        Multimap<Node, Split> assignments = nodeSelector.computeAssignments(splits);
        assertEquals(assignments.size(), 1);
    }
View Full Code Here

            throws Exception
    {
        // One split for each node
        Set<Split> splits = new HashSet<>();
        for (int i = 0; i < 3; i++) {
            splits.add(new Split("foo", new TestSplitRemote()));
        }
        Multimap<Node, Split> assignments = nodeSelector.computeAssignments(splits);
        assertEquals(assignments.entries().size(), 3);
        for (Node node : nodeManager.getActiveDatasourceNodes("foo")) {
            assertTrue(assignments.keySet().contains(node));
View Full Code Here

TOP

Related Classes of com.facebook.presto.metadata.Split

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.