16 #ifndef IMPALA_EXEC_HDFS_SEQUENCE_SCANNER_H
17 #define IMPALA_EXEC_HDFS_SEQUENCE_SCANNER_H
154 class DelimitedTextParser;
171 const std::vector<ExprContext*>& conjunct_ctxs);
181 return THdfsFileFormat::SEQUENCE_FILE;
260 #endif // IMPALA_EXEC_HDFS_SEQUENCE_SCANNER_H
Struct for record locations and lens in compressed blocks.
boost::scoped_ptr< DelimitedTextParser > delimited_text_parser_
Helper class for picking fields and rows from delimited text.
Status GetRecord(uint8_t **record_ptr, int64_t *record_len)
uint8_t * next_record_in_compressed_block_
Next record from block compressed data.
std::vector< FieldLocation > field_locations_
virtual Status ReadFileHeader()
virtual void LogRowParseError(int row_idx, std::stringstream *)
Status ReadCompressedBlock()
int64_t num_buffered_records_in_compressed_block_
Number of buffered records unparsed_data_buffer_ from block compressed data.
int current_key_length_
Length of the current key. This is specified as 4 bytes in the format description.
virtual ~HdfsSequenceScanner()
virtual THdfsFileFormat::type file_format() const
Returns type of scanner: e.g. rcfile, seqfile.
virtual FileHeader * AllocateFileHeader()
Implementation of sequence container super class methods.
static const uint8_t SEQFILE_VERSION_HEADER[4]
uint8_t * unparsed_data_buffer_
Buffer for data read from HDFS or from decompressing the HDFS data.
virtual Status Prepare(ScannerContext *context)
Implementation of HdfsScanner interface.
static const char *const SEQFILE_VALUE_CLASS_NAME
std::vector< RecordLocation > record_locations_
Status ProcessBlockCompressedScanRange()
static const int MAX_BLOCK_SIZE
virtual Status InitNewRange()
Reset internal state for a new scan range.
virtual Status ProcessRange()
static llvm::Function * Codegen(HdfsScanNode *, const std::vector< ExprContext * > &conjunct_ctxs)
Codegen writing tuples and evaluating predicates.
int current_block_length_
Length of the current sequence file block (or record).
HdfsSequenceScanner(HdfsScanNode *scan_node, RuntimeState *state)
Status ProcessDecompressedBlock()