Class TPCDSMockMetadataHandler
- java.lang.Object
-
- com.amazonaws.athena.connector.lambda.handlers.MetadataHandler
-
- com.amazonaws.athena.connectors.tpcds.TPCDSMetadataHandler
-
- com.amazonaws.athena.connectors.tpcds.mock.pagination.TPCDSMockMetadataHandler
-
- All Implemented Interfaces:
FederationRequestHandler,com.amazonaws.services.lambda.runtime.RequestStreamHandler
public class TPCDSMockMetadataHandler extends TPCDSMetadataHandler
Handles metadata requests for the Athena TPC-DS Connector.For more detail, please see the module's README.md, some notable characteristics of this class include:
1. Provides 5 Schems, each representing a different scale factor (1,10,100,250,1000) 2. Each schema has 25 TPC-DS tables 3. Each table is divided into NUM_SPLITS splits * scale_factor/10
-
-
Field Summary
Fields Modifier and Type Field Description protected static Set<String>SCHEMA_NAMES-
Fields inherited from class com.amazonaws.athena.connectors.tpcds.TPCDSMetadataHandler
queryPassthrough, SPLIT_NUMBER_FIELD, SPLIT_SCALE_FACTOR_FIELD, SPLIT_TOTAL_NUMBER_FIELD
-
Fields inherited from class com.amazonaws.athena.connector.lambda.handlers.MetadataHandler
configOptions, DISABLE_SPILL_ENCRYPTION, KMS_KEY_ID_ENV, SPILL_BUCKET_ENV, SPILL_PREFIX_ENV
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedTPCDSMockMetadataHandler(EncryptionKeyFactory keyFactory, software.amazon.awssdk.services.secretsmanager.SecretsManagerClient secretsManager, software.amazon.awssdk.services.athena.AthenaClient athena, String spillBucket, String spillPrefix, Map<String,String> configOptions)TPCDSMockMetadataHandler(Map<String,String> configOptions)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description GetTableResponsedoGetTable(BlockAllocator allocator, GetTableRequest request)Used to get definition (field names, types, descriptions, etc...) of a Table using the static metadata provided by TerraData's TPCDS generator.ListSchemasResponsedoListSchemaNames(BlockAllocator allocator, ListSchemasRequest request)Returns our static list of schemas which correspond to the scale factor of the dataset we will generate.ListTablesResponsedoListTables(BlockAllocator allocator, ListTablesRequest request)Used to get the list of static tables from TerraData's TPCDS generator.-
Methods inherited from class com.amazonaws.athena.connectors.tpcds.TPCDSMetadataHandler
doGetDataSourceCapabilities, doGetQueryPassthroughSchema, doGetSplits, getPartitions, setupQueryPassthroughSplit
-
Methods inherited from class com.amazonaws.athena.connector.lambda.handlers.MetadataHandler
doGetTableLayout, doHandleRequest, doPing, enhancePartitionSchema, getCachableSecretsManager, getRequestOverrideConfig, getSecret, handleRequest, makeEncryptionKey, makeSpillLocation, onPing, resolveSecrets, resolveWithDefaultCredentials
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.amazonaws.athena.connector.lambda.handlers.FederationRequestHandler
getAthenaClient, getRequestOverrideConfig, getS3Client, getSessionCredentials
-
-
-
-
Constructor Detail
-
TPCDSMockMetadataHandler
protected TPCDSMockMetadataHandler(EncryptionKeyFactory keyFactory, software.amazon.awssdk.services.secretsmanager.SecretsManagerClient secretsManager, software.amazon.awssdk.services.athena.AthenaClient athena, String spillBucket, String spillPrefix, Map<String,String> configOptions)
-
-
Method Detail
-
doListSchemaNames
public ListSchemasResponse doListSchemaNames(BlockAllocator allocator, ListSchemasRequest request)
Returns our static list of schemas which correspond to the scale factor of the dataset we will generate.- Overrides:
doListSchemaNamesin classTPCDSMetadataHandler- Parameters:
allocator- Tool for creating and managing Apache Arrow Blocks.request- Provides details on who made the request and which Athena catalog they are querying.- Returns:
- A ListSchemasResponse which primarily contains a Set
of schema names and a catalog name corresponding the Athena catalog that was queried. - See Also:
MetadataHandler
-
doListTables
public ListTablesResponse doListTables(BlockAllocator allocator, ListTablesRequest request)
Used to get the list of static tables from TerraData's TPCDS generator.- Overrides:
doListTablesin classTPCDSMetadataHandler- Parameters:
allocator- Tool for creating and managing Apache Arrow Blocks.request- Provides details on who made the request and which Athena catalog and database they are querying.- Returns:
- A ListTablesResponse which primarily contains a List
enumerating the tables in this catalog, database tuple. It also contains the catalog name corresponding the Athena catalog that was queried. - See Also:
MetadataHandler
-
doGetTable
public GetTableResponse doGetTable(BlockAllocator allocator, GetTableRequest request)
Used to get definition (field names, types, descriptions, etc...) of a Table using the static metadata provided by TerraData's TPCDS generator.- Overrides:
doGetTablein classTPCDSMetadataHandler- Parameters:
allocator- Tool for creating and managing Apache Arrow Blocks.request- Provides details on who made the request and which Athena catalog, database, and table they are querying.- Returns:
- A GetTableResponse which primarily contains:
1. An Apache Arrow Schema object describing the table's columns, types, and descriptions.
2. A Set
of partition column names (or empty if the table isn't partitioned). - See Also:
MetadataHandler
-
-