Class RDFHandler
- java.lang.Object
-
- com.amazonaws.athena.connectors.neptune.rdf.RDFHandler
-
public class RDFHandler extends Object
This class is part of an tutorial that will walk you through how to build a connector for your custom data source. The README for this module (athena-neptune) will guide you through preparing your development environment, modifying this example RecordHandler, building, deploying, and then using your new source in an Athena query.More specifically, this class is responsible for providing Athena with actual rows level data from your source. Athena will call readWithConstraint(...) on this class for each 'Split' you generated in NeptuneMetadataHandler.
For more examples, please see the other connectors in this repository (e.g. athena-cloudwatch, athena-docdb, etc...)
-
-
Constructor Summary
Constructors Constructor Description RDFHandler(NeptuneConnection neptuneConnection)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
executeQuery(ReadRecordsRequest recordsRequest, QueryStatusChecker queryStatusChecker, BlockSpiller spiller, Map<String,String> configOptions)
Performance considerations: If no constraints are provided, it gets THE WHOLE DATASET.
-
-
-
Constructor Detail
-
RDFHandler
public RDFHandler(NeptuneConnection neptuneConnection) throws Exception
- Throws:
Exception
-
-
Method Detail
-
executeQuery
public void executeQuery(ReadRecordsRequest recordsRequest, QueryStatusChecker queryStatusChecker, BlockSpiller spiller, Map<String,String> configOptions) throws Exception
Performance considerations: If no constraints are provided, it gets THE WHOLE DATASET. That's so slow the Lamdbda this is running it might time out. Remedy: - Client always uses constraints to restrict output - For tables based on class, add a LIMIT that is configurable as lambda environment var - For tables based on sparql, allow LIMIT to be used- Throws:
Exception
-
-