Skip to content

Avoid reading file footers in parquet-avro InputFormat #1667

@asfimport

Description

@asfimport

The AvroParquetInputFormat currently relies on the ParquetInputFormat that reads the footers for all of the files that will be processed. This is for two reasons:

  1. To plan splits (if using client side splits)
  2. To get a merged schema for all of the files

Reading all of the footers is a bottle-neck when working with a large number of files and can significantly delay a job because only one machine is working. This should be done in parallel on the task side. PARQUET-84 added the ability to avoid reading footers on the client for split planning, so the difficult task is to avoid reading footers to merge the Parquet schema.

To avoid merging the Parquet schema, the AvroParquetInputFormat should either use whatever schema a file contains or should reconcile the projection schema with the file schema on the task side.

Reporter: Ryan Blue / @rdblue
Assignee: Ryan Blue / @rdblue

Note: This issue was originally created as PARQUET-139. Please see the migration documentation for further details.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions