提交入口
org.apache.flink.table.api.internal.TableEnvironmentImpl#executeSql
@Override
public TableResult executeSql(String statement) {
List<Operation> operations = getParser().parse(statement);
if (operations.size() != 1) {
throw new TableException(UNSUPPORTED_QUERY_IN_EXECUTE_SQL_MSG);
}
Operation operation = operations.get(0);
return executeInternal(operation);
}
提交过程概述
sql--》operation--》Transformation--》pipeline(StreamGraph)--》JobGraph--》deployJobCluster
具体过程
1、查询转成operation
sql-->SqlNodeList-->flinkPlanner.validate(sqlNode)-->Optional<Operation> operation = SqlNodeConverters.convertSqlNode(validated, context);