public GTScanRequest planScanRequest() { GTScanRequest scanRequest; List<GTScanRange> scanRanges = this.planScanRanges(); if (scanRanges != null && !scanRanges.isEmpty()) { scanRequest = new GTScanRequestBuilder().setInfo(gtInfo).setRanges(scanRanges).setDimensions(gtDimensions) .setAggrGroupBy(gtAggrGroups).setAggrMetrics(gtAggrMetrics).setAggrMetricsFuncs(gtAggrFuncs) .setFilterPushDown(gtFilter)// .setRtAggrMetrics(gtRtAggrMetrics).setDynamicColumns(gtDynColumns) .setExprsPushDown(tupleExpressionMap)// .setAllowStorageAggregation(context.isNeedStorageAggregation()) .setAggCacheMemThreshold(cubeSegment.getConfig().getQueryCoprocessorMemGB())// .setStoragePushDownLimit(context.getFinalPushDownLimit()) .setStorageLimitLevel(context.getStorageLimitLevel()).setHavingFilterPushDown(havingFilter) .createGTScanRequest(); } else { scanRequest = null; } return scanRequest; }
.setRtAggrMetrics(aRuntimeAggrMetrics).setDynamicColumns(aDynCols) .setExprsPushDown(sTupleExpressionMap) .setFilterPushDown(sGTFilter).setHavingFilterPushDown(sGTHavingFilter)
public static CubeVisitProtos.CubeVisitRequest mockScanRequestWithRuntimeDimensions(GTInfo gtInfo, List<RawScan> rawScans) throws IOException { ImmutableBitSet dimensions = setOf(); ImmutableBitSet aggrGroupBy = setOf(3); ImmutableBitSet aggrMetrics = setOf(2); String[] aggrMetricsFuncs = { "SUM" }; ImmutableBitSet dynColumns = setOf(3); TupleFilter whenFilter = getCompareTupleFilter(1, "Ken"); TupleExpression thenExpr = new NumberTupleExpression(1); List<Pair<TupleFilter, TupleExpression>> whenList = Lists.newArrayList(); whenList.add(new Pair<>(whenFilter, thenExpr)); TupleExpression elseExpr = new NumberTupleExpression(2); /** * case * when user = 'Ken' then 1 * else 2 * end */ TupleExpression caseExpression = new CaseTupleExpression(whenList, elseExpr); Map<Integer, TupleExpression> tupleExpressionMap = Maps.newHashMap(); tupleExpressionMap.put(3, caseExpression); GTScanRequest scanRequest = new GTScanRequestBuilder().setInfo(gtInfo).setRanges(null)// .setDimensions(dimensions).setAggrGroupBy(aggrGroupBy)// .setAggrMetrics(aggrMetrics).setAggrMetricsFuncs(aggrMetricsFuncs)// .setDynamicColumns(dynColumns).setExprsPushDown(tupleExpressionMap)// .setStartTime(System.currentTimeMillis()).createGTScanRequest(); final List<CubeVisitProtos.CubeVisitRequest.IntList> intListList = mockIntList(setOf(2)); return mockScanRequest(rawScans, scanRequest, intListList); }
.setDynamicColumns(dynColumns).setExprsPushDown(tupleExpressionMap)// .setStartTime(System.currentTimeMillis()).createGTScanRequest();
public GTScanRequest planScanRequest() { GTScanRequest scanRequest; List<GTScanRange> scanRanges = this.planScanRanges(); if (scanRanges != null && !scanRanges.isEmpty()) { scanRequest = new GTScanRequestBuilder().setInfo(gtInfo).setRanges(scanRanges).setDimensions(gtDimensions) .setAggrGroupBy(gtAggrGroups).setAggrMetrics(gtAggrMetrics).setAggrMetricsFuncs(gtAggrFuncs) .setFilterPushDown(gtFilter)// .setRtAggrMetrics(gtRtAggrMetrics).setDynamicColumns(gtDynColumns) .setExprsPushDown(tupleExpressionMap)// .setAllowStorageAggregation(context.isNeedStorageAggregation()) .setAggCacheMemThreshold(cubeSegment.getConfig().getQueryCoprocessorMemGB())// .setStoragePushDownLimit(context.getFinalPushDownLimit()) .setStorageLimitLevel(context.getStorageLimitLevel()).setHavingFilterPushDown(havingFilter) .createGTScanRequest(); } else { scanRequest = null; } return scanRequest; }
.setRtAggrMetrics(aRuntimeAggrMetrics).setDynamicColumns(aDynCols) .setExprsPushDown(sTupleExpressionMap) .setFilterPushDown(sGTFilter).setHavingFilterPushDown(sGTHavingFilter)