Athena class
Amazon Athena is an interactive query service that lets you use standard SQL to analyze data directly in Amazon S3. You can point Athena at your data in Amazon S3 and run ad-hoc queries and get results in seconds. Athena is serverless, so there is no infrastructure to set up or manage. You pay only for the queries you run. Athena scales automatically—executing queries in parallel—so results are fast, even with large datasets and complex queries. For more information, see What is Amazon Athena in the Amazon Athena User Guide.
If you connect to Athena using the JDBC driver, use version 1.1.0 of the driver or later with the Amazon Athena API. Earlier version drivers do not support the API. For more information and to download the driver, see Accessing Amazon Athena with JDBC.
Constructors
- Athena({required String region, AwsClientCredentials? credentials, AwsClientCredentialsProvider? credentialsProvider, Client? client, String? endpointUrl})
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
batchGetNamedQuery(
{required List< String> namedQueryIds}) → Future<BatchGetNamedQueryOutput> - Returns the details of a single named query or a list of up to 50 queries, which you provide as an array of query ID strings. Requires you to have access to the workgroup in which the queries were saved. Use ListNamedQueriesInput to get the list of named query IDs in the specified workgroup. If information could not be retrieved for a submitted query ID, information about the query ID submitted is listed under UnprocessedNamedQueryId. Named queries differ from executed queries. Use BatchGetQueryExecutionInput to get details about each unique query execution, and ListQueryExecutionsInput to get a list of query execution IDs.
-
batchGetPreparedStatement(
{required List< String> preparedStatementNames, required String workGroup}) → Future<BatchGetPreparedStatementOutput> -
Returns the details of a single prepared statement or a list of up to 256
prepared statements for the array of prepared statement names that you
provide. Requires you to have access to the workgroup to which the
prepared statements belong. If a prepared statement cannot be retrieved
for the name specified, the statement is listed in
UnprocessedPreparedStatementNames. -
batchGetQueryExecution(
{required List< String> queryExecutionIds}) → Future<BatchGetQueryExecutionOutput> - Returns the details of a single query execution or a list of up to 50 query executions, which you provide as an array of query execution ID strings. Requires you to have access to the workgroup in which the queries ran. To get a list of query execution IDs, use ListQueryExecutionsInput$WorkGroup. Query executions differ from named (saved) queries. Use BatchGetNamedQueryInput to get details about named queries.
-
cancelCapacityReservation(
{required String name}) → Future< void> - Cancels the capacity reservation with the specified name. Cancelled reservations remain in your account and will be deleted 45 days after cancellation. During the 45 days, you cannot re-purpose or reuse a reservation that has been cancelled, but you can refer to its tags and view it for historical reference.
-
close(
) → void - Closes the internal HTTP client if none was provided at creation. If a client was passed as a constructor argument, this becomes a noop.
-
createCapacityReservation(
{required String name, required int targetDpus, List< Tag> ? tags}) → Future<void> - Creates a capacity reservation with the specified name and number of requested data processing units.
-
createDataCatalog(
{required String name, required DataCatalogType type, String? description, Map< String, String> ? parameters, List<Tag> ? tags}) → Future<CreateDataCatalogOutput> - Creates (registers) a data catalog with the specified name and properties. Catalogs created are visible to all users of the same Amazon Web Services account.
-
createNamedQuery(
{required String database, required String name, required String queryString, String? clientRequestToken, String? description, String? workGroup}) → Future< CreateNamedQueryOutput> - Creates a named query in the specified workgroup. Requires that you have access to the workgroup.
-
createNotebook(
{required String name, required String workGroup, String? clientRequestToken}) → Future< CreateNotebookOutput> -
Creates an empty
ipynbfile in the specified Apache Spark enabled workgroup. Throws an error if a file in the workgroup with the same name already exists. -
createPreparedStatement(
{required String queryStatement, required String statementName, required String workGroup, String? description}) → Future< void> - Creates a prepared statement for use with SQL queries in Athena.
-
createPresignedNotebookUrl(
{required String sessionId}) → Future< CreatePresignedNotebookUrlResponse> -
Gets an authentication token and the URL at which the notebook can be
accessed. During programmatic access,
CreatePresignedNotebookUrlmust be called every 10 minutes to refresh the authentication token. For information about granting programmatic access, see Grant programmatic access. -
createWorkGroup(
{required String name, WorkGroupConfiguration? configuration, String? description, List< Tag> ? tags}) → Future<void> - Creates a workgroup with the specified name. A workgroup can be an Apache Spark enabled workgroup or an Athena SQL workgroup.
-
deleteCapacityReservation(
{required String name}) → Future< void> -
Deletes a cancelled capacity reservation. A reservation must be cancelled
before it can be deleted. A deleted reservation is immediately removed
from your account and can no longer be referenced, including by its ARN. A
deleted reservation cannot be called by
GetCapacityReservation, and deleted reservations do not appear in the output ofListCapacityReservations. -
deleteDataCatalog(
{required String name, bool? deleteCatalogOnly}) → Future< DeleteDataCatalogOutput> - Deletes a data catalog.
-
deleteNamedQuery(
{String? namedQueryId}) → Future< void> - Deletes the named query if you have access to the workgroup in which the query was saved.
-
deleteNotebook(
{required String notebookId}) → Future< void> - Deletes the specified notebook.
-
deletePreparedStatement(
{required String statementName, required String workGroup}) → Future< void> - Deletes the prepared statement with the specified name from the specified workgroup.
-
deleteWorkGroup(
{required String workGroup, bool? recursiveDeleteOption}) → Future< void> - Deletes the workgroup with the specified name. The primary workgroup cannot be deleted.
-
exportNotebook(
{required String notebookId}) → Future< ExportNotebookOutput> - Exports the specified notebook and its metadata.
-
getCalculationExecution(
{required String calculationExecutionId}) → Future< GetCalculationExecutionResponse> - Describes a previously submitted calculation execution.
-
getCalculationExecutionCode(
{required String calculationExecutionId}) → Future< GetCalculationExecutionCodeResponse> - Retrieves the unencrypted code that was executed for the calculation.
-
getCalculationExecutionStatus(
{required String calculationExecutionId}) → Future< GetCalculationExecutionStatusResponse> - Gets the status of a current calculation.
-
getCapacityAssignmentConfiguration(
{required String capacityReservationName}) → Future< GetCapacityAssignmentConfigurationOutput> - Gets the capacity assignment configuration for a capacity reservation, if one exists.
-
getCapacityReservation(
{required String name}) → Future< GetCapacityReservationOutput> - Returns information about the capacity reservation with the specified name.
-
getDatabase(
{required String catalogName, required String databaseName, String? workGroup}) → Future< GetDatabaseOutput> - Returns a database object for the specified database and data catalog.
-
getDataCatalog(
{required String name, String? workGroup}) → Future< GetDataCatalogOutput> - Returns the specified data catalog.
-
getNamedQuery(
{required String namedQueryId}) → Future< GetNamedQueryOutput> - Returns information about a single query. Requires that you have access to the workgroup in which the query was saved.
-
getNotebookMetadata(
{required String notebookId}) → Future< GetNotebookMetadataOutput> - Retrieves notebook metadata for the specified notebook ID.
-
getPreparedStatement(
{required String statementName, required String workGroup}) → Future< GetPreparedStatementOutput> - Retrieves the prepared statement with the specified name from the specified workgroup.
-
getQueryExecution(
{required String queryExecutionId}) → Future< GetQueryExecutionOutput> - Returns information about a single execution of a query if you have access to the workgroup in which the query ran. Each time a query executes, information about the query execution is saved with a unique ID.
-
getQueryResults(
{required String queryExecutionId, int? maxResults, String? nextToken, QueryResultType? queryResultType}) → Future< GetQueryResultsOutput> -
Streams the results of a single query execution specified by
QueryExecutionIdfrom the Athena query results location in Amazon S3. For more information, see Working with query results, recent queries, and output files in the Amazon Athena User Guide. This request does not execute the query but returns results. Use StartQueryExecution to run a query. -
getQueryRuntimeStatistics(
{required String queryExecutionId}) → Future< GetQueryRuntimeStatisticsOutput> -
Returns query execution runtime statistics related to a single execution
of a query if you have access to the workgroup in which the query ran.
Statistics from the
Timelinesection of the response object are available as soon as QueryExecutionStatus$State is in a SUCCEEDED or FAILED state. The remaining non-timeline statistics in the response (like stage-level input and output row count and data size) are updated asynchronously and may not be available immediately after a query completes or, in some cases, may not be returned. The non-timeline statistics are also not included when a query has row-level filters defined in Lake Formation. -
getResourceDashboard(
{required String resourceARN}) → Future< GetResourceDashboardResponse> - Gets the Live UI/Persistence UI for a session.
-
getSession(
{required String sessionId}) → Future< GetSessionResponse> - Gets the full details of a previously created session, including the session status and configuration.
-
getSessionEndpoint(
{required String sessionId}) → Future< GetSessionEndpointResponse> - Gets a connection endpoint and authentication token for a given session Id.
-
getSessionStatus(
{required String sessionId}) → Future< GetSessionStatusResponse> - Gets the current status of a session.
-
getTableMetadata(
{required String catalogName, required String databaseName, required String tableName, String? workGroup}) → Future< GetTableMetadataOutput> - Returns table metadata for the specified catalog, database, and table.
-
getWorkGroup(
{required String workGroup}) → Future< GetWorkGroupOutput> - Returns information about the workgroup with the specified name.
-
importNotebook(
{required String name, required NotebookType type, required String workGroup, String? clientRequestToken, String? notebookS3LocationUri, String? payload}) → Future< ImportNotebookOutput> -
Imports a single
ipynbfile to a Spark enabled workgroup. To import the notebook, the request must specify a value for eitherPayloadorNoteBookS3LocationUri. If neither is specified or both are specified, anInvalidRequestExceptionoccurs. The maximum file size that can be imported is 10 megabytes. If anipynbfile with the same name already exists in the workgroup, throws an error. -
listApplicationDPUSizes(
{int? maxResults, String? nextToken}) → Future< ListApplicationDPUSizesOutput> -
Returns the supported DPU sizes for the supported application runtimes
(for example,
Athena notebook version 1). -
listCalculationExecutions(
{required String sessionId, int? maxResults, String? nextToken, CalculationExecutionState? stateFilter}) → Future< ListCalculationExecutionsResponse> - Lists the calculations that have been submitted to a session in descending order. Newer calculations are listed first; older calculations are listed later.
-
listCapacityReservations(
{int? maxResults, String? nextToken}) → Future< ListCapacityReservationsOutput> - Lists the capacity reservations for the current account.
-
listDatabases(
{required String catalogName, int? maxResults, String? nextToken, String? workGroup}) → Future< ListDatabasesOutput> - Lists the databases in the specified data catalog.
-
listDataCatalogs(
{int? maxResults, String? nextToken, String? workGroup}) → Future< ListDataCatalogsOutput> - Lists the data catalogs in the current Amazon Web Services account.
-
listEngineVersions(
{int? maxResults, String? nextToken}) → Future< ListEngineVersionsOutput> - Returns a list of engine versions that are available to choose from, including the Auto option.
-
listExecutors(
{required String sessionId, ExecutorState? executorStateFilter, int? maxResults, String? nextToken}) → Future< ListExecutorsResponse> - Lists, in descending order, the executors that joined a session. Newer executors are listed first; older executors are listed later. The result can be optionally filtered by state.
-
listNamedQueries(
{int? maxResults, String? nextToken, String? workGroup}) → Future< ListNamedQueriesOutput> - Provides a list of available query IDs only for queries saved in the specified workgroup. Requires that you have access to the specified workgroup. If a workgroup is not specified, lists the saved queries for the primary workgroup.
-
listNotebookMetadata(
{required String workGroup, FilterDefinition? filters, int? maxResults, String? nextToken}) → Future< ListNotebookMetadataOutput> - Displays the notebook files for the specified workgroup in paginated format.
-
listNotebookSessions(
{required String notebookId, int? maxResults, String? nextToken}) → Future< ListNotebookSessionsResponse> -
Lists, in descending order, the sessions that have been created in a
notebook that are in an active state like
CREATING,CREATED,IDLEorBUSY. Newer sessions are listed first; older sessions are listed later. -
listPreparedStatements(
{required String workGroup, int? maxResults, String? nextToken}) → Future< ListPreparedStatementsOutput> - Lists the prepared statements in the specified workgroup.
-
listQueryExecutions(
{int? maxResults, String? nextToken, String? workGroup}) → Future< ListQueryExecutionsOutput> - Provides a list of available query execution IDs for the queries in the specified workgroup. Athena keeps a query history for 45 days. If a workgroup is not specified, returns a list of query execution IDs for the primary workgroup. Requires you to have access to the workgroup in which the queries ran.
-
listSessions(
{required String workGroup, int? maxResults, String? nextToken, SessionState? stateFilter}) → Future< ListSessionsResponse> -
Lists the sessions in a workgroup that are in an active state like
CREATING,CREATED,IDLE, orBUSY. Newer sessions are listed first; older sessions are listed later. -
listTableMetadata(
{required String catalogName, required String databaseName, String? expression, int? maxResults, String? nextToken, String? workGroup}) → Future< ListTableMetadataOutput> - Lists the metadata for the tables in the specified data catalog database.
-
listTagsForResource(
{required String resourceARN, int? maxResults, String? nextToken}) → Future< ListTagsForResourceOutput> - Lists the tags associated with an Athena resource.
-
listWorkGroups(
{int? maxResults, String? nextToken}) → Future< ListWorkGroupsOutput> - Lists available workgroups for the account.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
putCapacityAssignmentConfiguration(
{required List< CapacityAssignment> capacityAssignments, required String capacityReservationName}) → Future<void> - Puts a new capacity assignment configuration for a specified capacity reservation. If a capacity assignment configuration already exists for the capacity reservation, replaces the existing capacity assignment configuration.
-
startCalculationExecution(
{required String sessionId, CalculationConfiguration? calculationConfiguration, String? clientRequestToken, String? codeBlock, String? description}) → Future< StartCalculationExecutionResponse> - Submits calculations for execution within a session. You can supply the code to run as an inline code block within the request.
-
startQueryExecution(
{required String queryString, String? clientRequestToken, EngineConfiguration? engineConfiguration, List< String> ? executionParameters, QueryExecutionContext? queryExecutionContext, ResultConfiguration? resultConfiguration, ResultReuseConfiguration? resultReuseConfiguration, String? workGroup}) → Future<StartQueryExecutionOutput> -
Runs the SQL query statements contained in the
Query. Requires you to have access to the workgroup in which the query ran. Running queries against an external catalog requires GetDataCatalog permission to the catalog. For code samples using the Amazon Web Services SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide. -
startSession(
{required EngineConfiguration engineConfiguration, required String workGroup, String? clientRequestToken, bool? copyWorkGroupTags, String? description, String? executionRole, MonitoringConfiguration? monitoringConfiguration, String? notebookVersion, int? sessionIdleTimeoutInMinutes, List< Tag> ? tags}) → Future<StartSessionResponse> -
Creates a session for running calculations within a workgroup. The session
is ready when it reaches an
IDLEstate. -
stopCalculationExecution(
{required String calculationExecutionId}) → Future< StopCalculationExecutionResponse> -
Requests the cancellation of a calculation. A
StopCalculationExecutioncall on a calculation that is already in a terminal state (for example,STOPPED,FAILED, orCOMPLETED) succeeds but has no effect. -
stopQueryExecution(
{String? queryExecutionId}) → Future< void> - Stops a query execution. Requires you to have access to the workgroup in which the query ran.
-
tagResource(
{required String resourceARN, required List< Tag> tags}) → Future<void> - Adds one or more tags to an Athena resource. A tag is a label that you assign to a resource. Each tag consists of a key and an optional value, both of which you define. For example, you can use tags to categorize Athena workgroups, data catalogs, or capacity reservations by purpose, owner, or environment. Use a consistent set of tag keys to make it easier to search and filter the resources in your account. For best practices, see Tagging Best Practices. Tag keys can be from 1 to 128 UTF-8 Unicode characters, and tag values can be from 0 to 256 UTF-8 Unicode characters. Tags can use letters and numbers representable in UTF-8, and the following characters: + - = . _ : / @. Tag keys and values are case-sensitive. Tag keys must be unique per resource. If you specify more than one tag, separate them by commas.
-
terminateSession(
{required String sessionId}) → Future< TerminateSessionResponse> -
Terminates an active session. A
TerminateSessioncall on a session that is already inactive (for example, in aFAILED,TERMINATEDorTERMINATINGstate) succeeds but has no effect. Calculations running in the session whenTerminateSessionis called are forcefully stopped, but may display asFAILEDinstead ofSTOPPED. -
toString(
) → String -
A string representation of this object.
inherited
-
untagResource(
{required String resourceARN, required List< String> tagKeys}) → Future<void> - Removes one or more tags from an Athena resource.
-
updateCapacityReservation(
{required String name, required int targetDpus}) → Future< void> - Updates the number of requested data processing units for the capacity reservation with the specified name.
-
updateDataCatalog(
{required String name, required DataCatalogType type, String? description, Map< String, String> ? parameters}) → Future<void> - Updates the data catalog that has the specified name.
-
updateNamedQuery(
{required String name, required String namedQueryId, required String queryString, String? description}) → Future< void> - Updates a NamedQuery object. The database or workgroup cannot be updated.
-
updateNotebook(
{required String notebookId, required String payload, required NotebookType type, String? clientRequestToken, String? sessionId}) → Future< void> - Updates the contents of a Spark notebook.
-
updateNotebookMetadata(
{required String name, required String notebookId, String? clientRequestToken}) → Future< void> - Updates the metadata for a notebook.
-
updatePreparedStatement(
{required String queryStatement, required String statementName, required String workGroup, String? description}) → Future< void> - Updates a prepared statement.
-
updateWorkGroup(
{required String workGroup, WorkGroupConfigurationUpdates? configurationUpdates, String? description, WorkGroupState? state}) → Future< void> -
Updates the workgroup with the specified name. The workgroup's name cannot
be changed. Only
ConfigurationUpdatescan be specified.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited