Search in sources :

Example 1 with PartitionedOutputOperator

use of com.facebook.presto.operator.repartition.PartitionedOutputOperator in project presto by prestodb.

the class TestPartitionedOutputOperator method testOutputForPageWithDictionary.

@Test
public void testOutputForPageWithDictionary() {
    PartitionedOutputOperator partitionedOutputOperator = createPartitionedOutputOperator(false);
    for (int i = 0; i < PAGE_COUNT; i++) {
        partitionedOutputOperator.addInput(new Page(TESTING_DICTIONARY_BLOCK));
    }
    partitionedOutputOperator.finish();
    OperatorContext operatorContext = partitionedOutputOperator.getOperatorContext();
    assertEquals(operatorContext.getOutputDataSize().getTotalCount(), PAGE_COUNT * TESTING_PAGE.getSizeInBytes());
    assertEquals(operatorContext.getOutputPositions().getTotalCount(), PAGE_COUNT * TESTING_PAGE.getPositionCount());
}
Also used : PartitionedOutputOperator(com.facebook.presto.operator.repartition.PartitionedOutputOperator) Page(com.facebook.presto.common.Page) Test(org.testng.annotations.Test)

Example 2 with PartitionedOutputOperator

use of com.facebook.presto.operator.repartition.PartitionedOutputOperator in project presto by prestodb.

the class TestPartitionedOutputOperator method testOutputForSimplePage.

@Test
public void testOutputForSimplePage() {
    PartitionedOutputOperator partitionedOutputOperator = createPartitionedOutputOperator(false);
    for (int i = 0; i < PAGE_COUNT; i++) {
        partitionedOutputOperator.addInput(TESTING_PAGE);
    }
    partitionedOutputOperator.finish();
    OperatorContext operatorContext = partitionedOutputOperator.getOperatorContext();
    assertEquals(operatorContext.getOutputDataSize().getTotalCount(), PAGE_COUNT * TESTING_PAGE.getSizeInBytes());
    assertEquals(operatorContext.getOutputPositions().getTotalCount(), PAGE_COUNT * TESTING_PAGE.getPositionCount());
}
Also used : PartitionedOutputOperator(com.facebook.presto.operator.repartition.PartitionedOutputOperator) Test(org.testng.annotations.Test)

Example 3 with PartitionedOutputOperator

use of com.facebook.presto.operator.repartition.PartitionedOutputOperator in project presto by prestodb.

the class TestPartitionedOutputOperator method testOutputForPageWithRunLength.

@Test
public void testOutputForPageWithRunLength() {
    PartitionedOutputOperator partitionedOutputOperator = createPartitionedOutputOperator(false);
    for (int i = 0; i < PAGE_COUNT; i++) {
        partitionedOutputOperator.addInput(new Page(TESTING_RLE_BLOCK));
    }
    partitionedOutputOperator.finish();
    OperatorContext operatorContext = partitionedOutputOperator.getOperatorContext();
    assertEquals(operatorContext.getOutputDataSize().getTotalCount(), PAGE_COUNT * TESTING_PAGE.getSizeInBytes());
    assertEquals(operatorContext.getOutputPositions().getTotalCount(), PAGE_COUNT * TESTING_PAGE.getPositionCount());
}
Also used : PartitionedOutputOperator(com.facebook.presto.operator.repartition.PartitionedOutputOperator) Page(com.facebook.presto.common.Page) Test(org.testng.annotations.Test)

Example 4 with PartitionedOutputOperator

use of com.facebook.presto.operator.repartition.PartitionedOutputOperator in project presto by prestodb.

the class TestPartitionedOutputOperator method testOutputForPageWithRunLengthAndReplication.

@Test
public void testOutputForPageWithRunLengthAndReplication() {
    PartitionedOutputOperator partitionedOutputOperator = createPartitionedOutputOperator(true);
    for (int i = 0; i < PAGE_COUNT; i++) {
        partitionedOutputOperator.addInput(new Page(POSITIONS_PER_PAGE, NULL_BLOCK, TESTING_RLE_BLOCK));
    }
    partitionedOutputOperator.finish();
    OperatorContext operatorContext = partitionedOutputOperator.getOperatorContext();
    assertEquals(operatorContext.getOutputDataSize().getTotalCount(), PAGE_COUNT * PARTITION_COUNT * TESTING_PAGE_WITH_NULL_BLOCK.getSizeInBytes());
    assertEquals(operatorContext.getOutputPositions().getTotalCount(), PAGE_COUNT * PARTITION_COUNT * TESTING_PAGE_WITH_NULL_BLOCK.getPositionCount());
}
Also used : PartitionedOutputOperator(com.facebook.presto.operator.repartition.PartitionedOutputOperator) Page(com.facebook.presto.common.Page) Test(org.testng.annotations.Test)

Example 5 with PartitionedOutputOperator

use of com.facebook.presto.operator.repartition.PartitionedOutputOperator in project presto by prestodb.

the class TestPartitionedOutputOperator method testOutputForPageWithDictionaryAndReplication.

@Test
public void testOutputForPageWithDictionaryAndReplication() {
    PartitionedOutputOperator partitionedOutputOperator = createPartitionedOutputOperator(true);
    for (int i = 0; i < PAGE_COUNT; i++) {
        partitionedOutputOperator.addInput(new Page(POSITIONS_PER_PAGE, NULL_BLOCK, TESTING_DICTIONARY_BLOCK));
    }
    partitionedOutputOperator.finish();
    OperatorContext operatorContext = partitionedOutputOperator.getOperatorContext();
    assertEquals(operatorContext.getOutputDataSize().getTotalCount(), PAGE_COUNT * PARTITION_COUNT * TESTING_PAGE_WITH_NULL_BLOCK.getSizeInBytes());
    assertEquals(operatorContext.getOutputPositions().getTotalCount(), PAGE_COUNT * PARTITION_COUNT * TESTING_PAGE_WITH_NULL_BLOCK.getPositionCount());
}
Also used : PartitionedOutputOperator(com.facebook.presto.operator.repartition.PartitionedOutputOperator) Page(com.facebook.presto.common.Page) Test(org.testng.annotations.Test)

Aggregations

PartitionedOutputOperator (com.facebook.presto.operator.repartition.PartitionedOutputOperator)7 Test (org.testng.annotations.Test)6 Page (com.facebook.presto.common.Page)5 BlockEncodingManager (com.facebook.presto.common.block.BlockEncodingManager)1 OutputBuffers (com.facebook.presto.execution.buffer.OutputBuffers)1 OutputBuffers.createInitialEmptyOutputBuffers (com.facebook.presto.execution.buffer.OutputBuffers.createInitialEmptyOutputBuffers)1 PagesSerdeFactory (com.facebook.presto.execution.buffer.PagesSerdeFactory)1 PartitionedOutputBuffer (com.facebook.presto.execution.buffer.PartitionedOutputBuffer)1 SimpleLocalMemoryContext (com.facebook.presto.memory.context.SimpleLocalMemoryContext)1 LocalPartitionGenerator (com.facebook.presto.operator.exchange.LocalPartitionGenerator)1 PlanNodeId (com.facebook.presto.spi.plan.PlanNodeId)1 OutputPartitioning (com.facebook.presto.sql.planner.OutputPartitioning)1 DataSize (io.airlift.units.DataSize)1