Impala
Impalaistheopensource,nativeanalyticdatabaseforApacheHadoop.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
impala::HdfsAvroScanner::SchemaElement Struct Reference
Collaboration diagram for impala::HdfsAvroScanner::SchemaElement:

Public Attributes

ScopedAvroSchemaT schema
 The record field schema from the file. More...
 
std::vector< SchemaElementchildren
 Complex types, e.g. records, may have nested child types. More...
 
int null_union_position
 
const SlotDescriptorslot_desc
 

Detailed Description

Internal representation of a field/column schema. The schema for a data file is a record with a field for each column. For a given file, we create a SchemaElement for each field of the record.

Definition at line 126 of file hdfs-avro-scanner.h.

Member Data Documentation

std::vector<SchemaElement> impala::HdfsAvroScanner::SchemaElement::children

Complex types, e.g. records, may have nested child types.

Definition at line 131 of file hdfs-avro-scanner.h.

int impala::HdfsAvroScanner::SchemaElement::null_union_position

Avro supports nullable types via unions of the form [<type>, "null"]. We special case nullable primitives by storing which position "null" occupies in the union and setting 'schema' to the non-null type's schema, rather than the union schema. null_union_position is set to 0 or 1 accordingly if this type is a union between a primitive type and "null", and -1 otherwise.

Definition at line 138 of file hdfs-avro-scanner.h.

Referenced by impala::HdfsAvroScanner::ConvertSchema(), and impala::HdfsAvroScanner::MaterializeTuple().

ScopedAvroSchemaT impala::HdfsAvroScanner::SchemaElement::schema
const SlotDescriptor* impala::HdfsAvroScanner::SchemaElement::slot_desc

The slot descriptor corresponding to this element. NULL if this element does not correspond to a materialized column.

Definition at line 142 of file hdfs-avro-scanner.h.

Referenced by impala::HdfsAvroScanner::MaterializeTuple(), and impala::HdfsAvroScanner::ResolveSchemas().


The documentation for this struct was generated from the following file: