public class QueryExecutionServiceImpl extends BaseLensService implements QueryExecutionService
Modifier and Type | Class and Description |
---|---|
class |
QueryExecutionServiceImpl.FinishedQuery
The Class FinishedQuery.
|
static class |
QueryExecutionServiceImpl.QueryCount |
static class |
QueryExecutionServiceImpl.QueryStatusLogger
The Class QueryStatusLogger.
|
class |
QueryExecutionServiceImpl.RewriteEstimateRunnable
Chains driver specific rewrite and estimate of the query in a single runnable, which can be processed in a
background thread
|
Modifier and Type | Field and Description |
---|---|
static String |
NAME
The Constant NAME.
|
static String |
PREPARED_QUERIES_COUNTER
The Constant PREPARED_QUERIES_COUNTER.
|
static String |
PREPARED_QUERY_PURGER_COUNTER
The Constant PREPARED_QUERY_PURGER_COUNTER.
|
static String |
QUERY_PURGER_COUNTER
The Constant QUERY_PURGER_COUNTER.
|
static String |
QUERY_SUBMITTER_COUNTER
The Constant QUERY_SUBMITTER_COUNTER.
|
static String |
STATUS_UPDATE_COUNTER
The Constant STATUS_UPDATE_COUNTER.
|
Constructor and Description |
---|
QueryExecutionServiceImpl(org.apache.hive.service.cli.CLIService cliService)
Instantiates a new query execution service impl.
|
Modifier and Type | Method and Description |
---|---|
boolean |
cancelQuery(LensSessionHandle sessionHandle,
QueryHandle queryHandle)
Cancel the execution of the query, specified by the handle.
|
void |
closeDriverSessions(LensSessionHandle sessionHandle)
Allow drivers to release resources acquired for a session if any.
|
void |
closeResultSet(LensSessionHandle sessionHandle,
QueryHandle queryHandle)
Closes result set by releasing any resources used in serving the resultset.
|
void |
closeSession(LensSessionHandle sessionHandle)
Close session.
|
void |
deleteResource(LensSessionHandle sessionHandle,
String type,
String path)
Delete resource.
|
boolean |
destroyPrepared(LensSessionHandle sessionHandle,
QueryPrepareHandle prepared)
Destroy a prepared query.
|
QueryCost |
estimate(String requestId,
LensSessionHandle sessionHandle,
String query,
LensConf lensConf)
Estimate the cost of given query.
|
QueryHandleWithResultSet |
execute(LensSessionHandle sessionHandle,
String query,
long timeoutMillis,
LensConf conf,
String queryName)
Execute the query with a timeout.
|
QueryHandle |
executeAsync(LensSessionHandle sessionHandle,
String query,
LensConf conf,
String queryName)
Asynchronously execute the query.
|
QueryHandleWithResultSet |
executePrepare(LensSessionHandle sessionHandle,
QueryPrepareHandle prepareHandle,
long timeoutMillis,
LensConf conf,
String queryName)
Execute already prepared query with timeout.
|
QueryHandle |
executePrepareAsync(LensSessionHandle sessionHandle,
QueryPrepareHandle prepareHandle,
LensConf conf,
String queryName)
Execute already prepared query asynchronously.
|
QueryPlan |
explain(String requestId,
LensSessionHandle sessionHandle,
String query,
LensConf lensConf)
Explain the given query.
|
QueryPlan |
explainAndPrepare(LensSessionHandle sessionHandle,
String query,
LensConf lensConf,
String queryName)
Explain the given query and prepare it as well.
|
QueryResult |
fetchResultSet(LensSessionHandle sessionHandle,
QueryHandle queryHandle,
long startIndex,
int fetchSize)
Fetch the results of the query, specified by the handle.
|
List<QueryPrepareHandle> |
getAllPreparedQueries(LensSessionHandle sessionHandle,
String user,
String queryName,
long fromDate,
long toDate)
Returns all the prepared queries for the specified user.
|
List<QueryHandle> |
getAllQueries(LensSessionHandle sessionHandle,
String state,
String userName,
String driver,
String queryName,
long fromDate,
long toDate)
Returns all the queries in the specified state, for the given user and matching query name.
|
long |
getFinishedQueriesCount()
Get finished queries count
|
HealthStatus |
getHealthStatus()
Returns the health status of the service.
|
javax.ws.rs.core.Response |
getHttpResultSet(LensSessionHandle sessionHandle,
QueryHandle queryHandle)
Get the http end point for the result set.
|
long |
getInMemoryResultsetTTLMillis()
This is the TTL millis for all result sets of type
InMemoryResultSet
Note : this field is non final and has a Getter and Setter for test cases |
EstimatedQueryCollection |
getLaunchedQueries()
The launched queries.
|
LensPreparedQuery |
getPreparedQuery(LensSessionHandle sessionHandle,
QueryPrepareHandle prepareHandle)
Get prepared query.
|
LensQuery |
getQuery(LensSessionHandle sessionHandle,
QueryHandle queryHandle)
Get the query, specified by the handle.
|
QueryExecutionServiceImpl.QueryCount |
getQueryCountSnapshot() |
long |
getQueuedQueriesCount()
Get queued queries count
|
QueryResultSetMetadata |
getResultSetMetadata(LensSessionHandle sessionHandle,
QueryHandle queryHandle)
Get the result set metadata - list of columns(names and types) and result size.
|
long |
getRunningQueriesCount()
Get running queries count
|
long |
getWaitingQueriesCount()
Get waiting queries count
|
void |
init(org.apache.hadoop.hive.conf.HiveConf hiveConf) |
void |
pauseQuerySubmitter()
Pause query submitter.
|
QueryPrepareHandle |
prepare(LensSessionHandle sessionHandle,
String query,
LensConf lensConf,
String queryName)
Prepare the query.
|
void |
prepareStopping()
Prepare stopping.
|
void |
readExternal(ObjectInput in) |
void |
setInMemoryResultsetTTLMillis(long inMemoryResultsetTTLMillis)
This is the TTL millis for all result sets of type
InMemoryResultSet
Note : this field is non final and has a Getter and Setter for test cases |
void |
start() |
void |
stop() |
boolean |
updateQueryConf(LensSessionHandle sessionHandle,
QueryHandle queryHandle,
LensConf newconf)
Update the query conf.
|
boolean |
updateQueryConf(LensSessionHandle sessionHandle,
QueryPrepareHandle prepareHandle,
LensConf newconf)
Update configuration for prepared query.
|
void |
writeExternal(ObjectOutput out) |
acquire, acquire, addResource, getCliService, getHiveSessionHandle, getLensConf, getLensConf, getNumberOfSessions, getServerDomain, getSession, getSessionManager, getValidPath, openSession, release, release, removePrefixBeforeURI, restoreSession
public static final String PREPARED_QUERIES_COUNTER
public static final String QUERY_SUBMITTER_COUNTER
public static final String STATUS_UPDATE_COUNTER
public static final String QUERY_PURGER_COUNTER
public static final String PREPARED_QUERY_PURGER_COUNTER
public static final String NAME
public QueryExecutionServiceImpl(org.apache.hive.service.cli.CLIService cliService) throws LensException
cliService
- the cli serviceLensException
- the lens exceptionpublic void pauseQuerySubmitter()
public void init(org.apache.hadoop.hive.conf.HiveConf hiveConf)
init
in interface org.apache.hive.service.Service
init
in class org.apache.hive.service.CompositeService
public void prepareStopping()
BaseLensService
prepareStopping
in class BaseLensService
public void stop()
stop
in interface org.apache.hive.service.Service
stop
in class org.apache.hive.service.CompositeService
public void start()
start
in interface org.apache.hive.service.Service
start
in class org.apache.hive.service.CompositeService
public QueryPrepareHandle prepare(LensSessionHandle sessionHandle, String query, LensConf lensConf, String queryName) throws LensException
QueryExecutionService
prepare
in interface QueryExecutionService
sessionHandle
- the session handlequery
- The query should be in HiveQL(SQL like)lensConf
- The query configurationqueryName
- the query nameLensException
- the lens exceptionpublic QueryPlan explainAndPrepare(LensSessionHandle sessionHandle, String query, LensConf lensConf, String queryName) throws LensException
QueryExecutionService
explainAndPrepare
in interface QueryExecutionService
sessionHandle
- the session handlequery
- The query should be in HiveQL(SQL like)lensConf
- The query configurationqueryName
- the query nameLensException
- the lens exceptionpublic QueryHandle executePrepareAsync(LensSessionHandle sessionHandle, QueryPrepareHandle prepareHandle, LensConf conf, String queryName) throws LensException
QueryExecutionService
executePrepareAsync
in interface QueryExecutionService
sessionHandle
- the session handleprepareHandle
- The QueryPrepareHandle
conf
- The configuration for the query to executequeryName
- the query nameLensException
- the lens exceptionpublic QueryHandleWithResultSet executePrepare(LensSessionHandle sessionHandle, QueryPrepareHandle prepareHandle, long timeoutMillis, LensConf conf, String queryName) throws LensException
QueryExecutionService
executePrepare
in interface QueryExecutionService
sessionHandle
- the session handleprepareHandle
- The QueryPrepareHandle
timeoutMillis
- The timeout after which it will return handle, if query did not finish before.conf
- The configuration for the query to executequeryName
- the query nameLensException
- the lens exceptionpublic QueryHandle executeAsync(LensSessionHandle sessionHandle, String query, LensConf conf, String queryName) throws LensException
QueryExecutionService
executeAsync
in interface QueryExecutionService
sessionHandle
- the session handlequery
- The query should be in HiveQL(SQL like)conf
- The query configurationqueryName
- the query nameLensException
- the lens exceptionpublic boolean updateQueryConf(LensSessionHandle sessionHandle, QueryHandle queryHandle, LensConf newconf) throws LensException
QueryExecutionService
updateQueryConf
in interface QueryExecutionService
sessionHandle
- the session handlequeryHandle
- the query handlenewconf
- the newconfLensException
- the lens exceptionpublic boolean updateQueryConf(LensSessionHandle sessionHandle, QueryPrepareHandle prepareHandle, LensConf newconf) throws LensException
QueryExecutionService
updateQueryConf
in interface QueryExecutionService
sessionHandle
- the session handleprepareHandle
- the prepare handlenewconf
- the newconfLensException
- the lens exceptionpublic LensQuery getQuery(LensSessionHandle sessionHandle, QueryHandle queryHandle) throws LensException
QueryExecutionService
getQuery
in interface QueryExecutionService
sessionHandle
- the session handlequeryHandle
- The query handleLensException
- the lens exceptionpublic LensPreparedQuery getPreparedQuery(LensSessionHandle sessionHandle, QueryPrepareHandle prepareHandle) throws LensException
QueryExecutionService
getPreparedQuery
in interface QueryExecutionService
sessionHandle
- the session handleprepareHandle
- the prepare handleLensException
- the lens exceptionpublic QueryHandleWithResultSet execute(LensSessionHandle sessionHandle, String query, long timeoutMillis, LensConf conf, String queryName) throws LensException
QueryExecutionService
execute
in interface QueryExecutionService
sessionHandle
- the session handlequery
- The query should be in HiveQL(SQL like)timeoutMillis
- The timeout after which it will return handle, if query did not finish before.conf
- The query configurationqueryName
- the query nameLensException
- the lens exceptionpublic QueryResultSetMetadata getResultSetMetadata(LensSessionHandle sessionHandle, QueryHandle queryHandle) throws LensException
QueryExecutionService
getResultSetMetadata
in interface QueryExecutionService
sessionHandle
- the session handlequeryHandle
- the query handleLensException
- the lens exceptionpublic QueryResult fetchResultSet(LensSessionHandle sessionHandle, QueryHandle queryHandle, long startIndex, int fetchSize) throws LensException
QueryExecutionService
fetchResultSet
in interface QueryExecutionService
sessionHandle
- the session handlequeryHandle
- The query handlestartIndex
- The start Index from which result rows have to be fetchedfetchSize
- Number of rows to be fetchedLensException
- the lens exceptionpublic void closeResultSet(LensSessionHandle sessionHandle, QueryHandle queryHandle) throws LensException
QueryExecutionService
closeResultSet
in interface QueryExecutionService
sessionHandle
- the session handlequeryHandle
- the query handleLensException
- the lens exceptionpublic boolean cancelQuery(LensSessionHandle sessionHandle, QueryHandle queryHandle) throws LensException
QueryExecutionService
cancelQuery
in interface QueryExecutionService
sessionHandle
- the session handlequeryHandle
- The query handle.LensException
- the lens exceptionpublic List<QueryHandle> getAllQueries(LensSessionHandle sessionHandle, String state, String userName, String driver, String queryName, long fromDate, long toDate) throws LensException
QueryExecutionService
getAllQueries
in interface QueryExecutionService
sessionHandle
- the session handlestate
- return queries in this state. if null, all queries will be returneduserName
- Get queries submitted by a specific user.
If this set to "all", queries of all users are returneddriver
- Get queries submitted on a specific driver.queryName
- return queries containing the query name. If null, all queries will be returnedfromDate
- start date of time range intervaltoDate
- end date of the time range intervalLensException
- the lens exceptionpublic List<QueryPrepareHandle> getAllPreparedQueries(LensSessionHandle sessionHandle, String user, String queryName, long fromDate, long toDate) throws LensException
QueryExecutionService
getAllPreparedQueries
in interface QueryExecutionService
sessionHandle
- the session handleuser
- returns queries of the user. If set to "all", returns queries of all users.
By default returns the queries
of the current user.queryName
- returns queries matching the query namefromDate
- start time for filtering prepared queries by preparation timetoDate
- end time for filtering prepared queries by preparation timeLensException
- the lens exceptionpublic boolean destroyPrepared(LensSessionHandle sessionHandle, QueryPrepareHandle prepared) throws LensException
QueryExecutionService
destroyPrepared
in interface QueryExecutionService
sessionHandle
- the session handleprepared
- the preparedLensException
- the lens exceptionpublic QueryCost estimate(String requestId, LensSessionHandle sessionHandle, String query, LensConf lensConf) throws LensException
QueryExecutionService
estimate
in interface QueryExecutionService
requestId
- the request Id of request used to start estimate operationsessionHandle
- the session handlequery
- The query should be in HiveQL(SQL like)lensConf
- The query configurationLensException
- thrown in case of failurepublic QueryPlan explain(String requestId, LensSessionHandle sessionHandle, String query, LensConf lensConf) throws LensException
QueryExecutionService
explain
in interface QueryExecutionService
requestId
- the request Id of request used to start explain operationsessionHandle
- the session handlequery
- The query should be in HiveQL(SQL like)lensConf
- The query configurationLensException
- the lens exceptionpublic void deleteResource(LensSessionHandle sessionHandle, String type, String path) throws LensException
BaseLensService
deleteResource
in class BaseLensService
sessionHandle
- the session handletype
- the typepath
- the pathLensException
- the lens exceptionpublic void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
readExternal
in interface Externalizable
readExternal
in class BaseLensService
IOException
ClassNotFoundException
public void writeExternal(ObjectOutput out) throws IOException
writeExternal
in interface Externalizable
writeExternal
in class BaseLensService
IOException
public HealthStatus getHealthStatus()
getHealthStatus
in interface HealthCheckable
getHealthStatus
in class BaseLensService
public javax.ws.rs.core.Response getHttpResultSet(LensSessionHandle sessionHandle, QueryHandle queryHandle) throws LensException
QueryExecutionService
getHttpResultSet
in interface QueryExecutionService
sessionHandle
- The lens session handlequeryHandle
- The query handleLensException
- the lens exceptionpublic void closeDriverSessions(LensSessionHandle sessionHandle)
sessionHandle
- the session handlepublic void closeSession(LensSessionHandle sessionHandle) throws LensException
BaseLensService
closeSession
in class BaseLensService
sessionHandle
- the session handleLensException
- the lens exceptionpublic long getQueuedQueriesCount()
QueryExecutionService
getQueuedQueriesCount
in interface QueryExecutionService
public long getRunningQueriesCount()
QueryExecutionService
getRunningQueriesCount
in interface QueryExecutionService
public long getWaitingQueriesCount()
QueryExecutionService
getWaitingQueriesCount
in interface QueryExecutionService
public long getFinishedQueriesCount()
QueryExecutionService
getFinishedQueriesCount
in interface QueryExecutionService
public QueryExecutionServiceImpl.QueryCount getQueryCountSnapshot()
@Generated(value="lombok") public EstimatedQueryCollection getLaunchedQueries()
@Generated(value="lombok") public long getInMemoryResultsetTTLMillis()
InMemoryResultSet
Note : this field is non final and has a Getter and Setter for test cases@Generated(value="lombok") public void setInMemoryResultsetTTLMillis(long inMemoryResultsetTTLMillis)
InMemoryResultSet
Note : this field is non final and has a Getter and Setter for test casesCopyright © 2014–2016 Apache Software Foundation. All rights reserved.