.setPlan(fragmentsToJsonString) .setResultsMode(STREAM_FULL).build(); client.submitQuery(resultsListener, query);
/** * Submits a string based query plan for execution and returns the result batches. Supported query types are: * <p><ul> * <li>{@link QueryType#LOGICAL} * <li>{@link QueryType#PHYSICAL} * <li>{@link QueryType#SQL} * </ul> * * @param type Query type * @param plan Query to execute * @return a handle for the query result * @throws RpcException */ public List<QueryDataBatch> runQuery(QueryType type, String plan) throws RpcException { checkArgument(type == QueryType.LOGICAL || type == QueryType.PHYSICAL || type == QueryType.SQL, String.format("Only query types %s, %s and %s are supported in this API", QueryType.LOGICAL, QueryType.PHYSICAL, QueryType.SQL)); final UserProtos.RunQuery query = newBuilder().setResultsMode(STREAM_FULL).setType(type).setPlan(plan).build(); final ListHoldingResultsListener listener = new ListHoldingResultsListener(query); client.submitQuery(listener, query); return listener.getResults(); }
.setType(UserBitShared.QueryType.SQL) .setSource(SubmissionSource.LOCAL) .setPlan(query) .build();
.setType(UserBitShared.QueryType.SQL) .setSource(SubmissionSource.LOCAL) .setPlan(jobRequest.getSqlQuery().getSql()) .setPriority(QueryPriority.newBuilder() .setWorkloadClass(workloadClass)
break; case 3: builder.setPlan(input.readString()); break; case 4:
private static String localQueryHelper(String query, String storeTblName, boolean checkWriterDistributionTrait) throws Exception { LocalQueryExecutor localQueryExecutor = getLocalQueryExecutor(); RunQuery queryCmd = RunQuery .newBuilder() .setType(UserBitShared.QueryType.SQL) .setSource(SubmissionSource.LOCAL) .setPlan(query) .build(); String queryResultsStorePath = format("%s.\"%s\"", TEMP_SCHEMA, storeTblName); LocalExecutionConfig config = LocalExecutionConfig.newBuilder() .setEnableLeafLimits(false) .setFailIfNonEmptySent(false) .setUsername(getProcessUserName()) .setSqlContext(Collections.<String>emptyList()) .setInternalSingleThreaded(false) .setQueryResultsStorePath(queryResultsStorePath) .setAllowPartitionPruning(true) .setExposeInternalSources(false) .setSubstitutionSettings(SubstitutionSettings.of()) .build(); TestQueryObserver queryObserver = new TestQueryObserver(checkWriterDistributionTrait); localQueryExecutor.submitLocalQuery(ExternalIdHelper.generateExternalId(), queryObserver, queryCmd, false, config); queryObserver.waitForCompletion(); return toTableName(TEMP_SCHEMA, storeTblName, queryObserver.getAttemptId()); }
/** * Submits a Logical plan for direct execution (bypasses parsing) * * @param plan the plan to execute */ public void runQuery(QueryType type, String plan, UserResultsListener resultsListener) { client.submitQuery(resultsListener, newBuilder().setResultsMode(STREAM_FULL).setType(type).setPlan(plan).build()); }