Class GcsRecordHandler

  • All Implemented Interfaces:
    com.amazonaws.services.lambda.runtime.RequestStreamHandler

    public class GcsRecordHandler
    extends RecordHandler
    • Constructor Detail

      • GcsRecordHandler

        public GcsRecordHandler​(org.apache.arrow.memory.BufferAllocator allocator,
                                Map<String,​String> configOptions)
      • GcsRecordHandler

        protected GcsRecordHandler​(software.amazon.awssdk.services.s3.S3Client amazonS3,
                                   software.amazon.awssdk.services.secretsmanager.SecretsManagerClient secretsManager,
                                   software.amazon.awssdk.services.athena.AthenaClient amazonAthena,
                                   Map<String,​String> configOptions)
        Constructor that provides access to S3, secret manager and athena

        Parameters:
        amazonS3 - An instance of AmazonS3
        secretsManager - An instance of AWSSecretsManager
        amazonAthena - An instance of AmazonAthena
    • Method Detail

      • readWithConstraint

        protected void readWithConstraint​(BlockSpiller spiller,
                                          ReadRecordsRequest recordsRequest,
                                          QueryStatusChecker queryStatusChecker)
                                   throws Exception
        Used to read the row data associated with the provided Split.
        Specified by:
        readWithConstraint in class RecordHandler
        Parameters:
        spiller - A BlockSpiller that should be used to write the row data associated with this Split. The BlockSpiller automatically handles chunking the response, encrypting, and spilling to S3.
        recordsRequest - Details of the read request, including: 1. The Split - it contains information 2. The Catalog, Database, and Table the read request is for. 3. The filtering predicate (if any) 4. The columns required for projection.
        queryStatusChecker - A QueryStatusChecker that you can use to stop doing work for a query that has already terminated
        Throws:
        Exception