Constructor and Description |
---|
LocalExecutor(Environment defaultEnvironment,
List<URL> dependencies,
Configuration flinkConfig,
CustomCommandLine commandLine,
ClusterClientServiceLoader clusterClientServiceLoader)
Constructor for testing purposes.
|
LocalExecutor(URL defaultEnv,
List<URL> jars,
List<URL> libraries)
Creates a local executor for submitting table programs and retrieving results.
|
Modifier and Type | Method and Description |
---|---|
void |
cancelQuery(String sessionId,
String resultId)
Cancels a table program and stops the result retrieval.
|
void |
closeSession(String sessionId)
Close the resources of session for given session id.
|
List<String> |
completeStatement(String sessionId,
String statement,
int position)
Returns a list of completion hints for the given statement at the given position.
|
ResultDescriptor |
executeQuery(String sessionId,
String query)
Submits a Flink SQL query job (detached) and returns the result descriptor.
|
TableResult |
executeSql(String sessionId,
String statement)
Executes a SQL statement, and return
TableResult as execution result. |
ProgramTargetDescriptor |
executeUpdate(String sessionId,
String statement)
Submits a Flink SQL update statement such as INSERT INTO.
|
protected ExecutionContext<?> |
getExecutionContext(String sessionId)
Get the existed
ExecutionContext from contextMap, or thrown exception if does not
exist. |
Map<String,String> |
getSessionProperties(String sessionId)
Lists all session properties that are defined by the executor and the session.
|
Parser |
getSqlParser(String sessionId)
Returns a sql parser instance.
|
List<String> |
listModules(String sessionId)
Lists all modules known to the executor in their loaded order.
|
String |
openSession(SessionContext sessionContext)
Open a new session by using the given
SessionContext . |
void |
resetSessionProperties(String sessionId)
Reset all the properties for the given session identifier.
|
TypedResult<List<Tuple2<Boolean,Row>>> |
retrieveResultChanges(String sessionId,
String resultId)
Asks for the next changelog results (non-blocking).
|
List<Row> |
retrieveResultPage(String resultId,
int page)
Returns the rows that are part of the current page or throws an exception if the snapshot has
been expired.
|
void |
setSessionProperty(String sessionId,
String key,
String value)
Set given key's session property to the specific value.
|
TypedResult<Integer> |
snapshotResult(String sessionId,
String resultId,
int pageSize)
Creates an immutable result snapshot of the running Flink job.
|
void |
start()
Starts the executor and ensures that its is ready for commands to be executed.
|
public LocalExecutor(URL defaultEnv, List<URL> jars, List<URL> libraries)
public LocalExecutor(Environment defaultEnvironment, List<URL> dependencies, Configuration flinkConfig, CustomCommandLine commandLine, ClusterClientServiceLoader clusterClientServiceLoader)
public void start()
Executor
public String openSession(SessionContext sessionContext) throws SqlExecutionException
Executor
SessionContext
.openSession
in interface Executor
sessionContext
- context to create new session.SqlExecutionException
- if any error happenpublic void closeSession(String sessionId) throws SqlExecutionException
Executor
closeSession
in interface Executor
sessionId
- session identifierSqlExecutionException
- if any error happen@VisibleForTesting protected ExecutionContext<?> getExecutionContext(String sessionId) throws SqlExecutionException
ExecutionContext
from contextMap, or thrown exception if does not
exist.SqlExecutionException
public Map<String,String> getSessionProperties(String sessionId) throws SqlExecutionException
Executor
getSessionProperties
in interface Executor
SqlExecutionException
public void resetSessionProperties(String sessionId) throws SqlExecutionException
Executor
resetSessionProperties
in interface Executor
sessionId
- to identifier the sessionSqlExecutionException
- if any error happen.public void setSessionProperty(String sessionId, String key, String value) throws SqlExecutionException
Executor
setSessionProperty
in interface Executor
key
- of the session propertyvalue
- of the session propertySqlExecutionException
- if any error happen.public TableResult executeSql(String sessionId, String statement) throws SqlExecutionException
Executor
TableResult
as execution result.executeSql
in interface Executor
SqlExecutionException
public List<String> listModules(String sessionId) throws SqlExecutionException
Executor
listModules
in interface Executor
SqlExecutionException
public Parser getSqlParser(String sessionId)
Executor
getSqlParser
in interface Executor
public List<String> completeStatement(String sessionId, String statement, int position)
Executor
completeStatement
in interface Executor
public ResultDescriptor executeQuery(String sessionId, String query) throws SqlExecutionException
Executor
executeQuery
in interface Executor
SqlExecutionException
public TypedResult<List<Tuple2<Boolean,Row>>> retrieveResultChanges(String sessionId, String resultId) throws SqlExecutionException
Executor
retrieveResultChanges
in interface Executor
SqlExecutionException
public TypedResult<Integer> snapshotResult(String sessionId, String resultId, int pageSize) throws SqlExecutionException
Executor
snapshotResult
in interface Executor
SqlExecutionException
public List<Row> retrieveResultPage(String resultId, int page) throws SqlExecutionException
Executor
retrieveResultPage
in interface Executor
SqlExecutionException
public void cancelQuery(String sessionId, String resultId) throws SqlExecutionException
Executor
cancelQuery
in interface Executor
SqlExecutionException
public ProgramTargetDescriptor executeUpdate(String sessionId, String statement) throws SqlExecutionException
Executor
executeUpdate
in interface Executor
sessionId
- to identify the user session.statement
- SQL update statement (currently only INSERT INTO is supported)SqlExecutionException
Copyright © 2014–2021 The Apache Software Foundation. All rights reserved.