Uploaded image for project: 'IMPALA'
  1. IMPALA
  2. IMPALA-11591

Avoid calling planFiles() on Iceberg tables when there are no predicates

    XMLWordPrintableJSON

Details

    Description

      Currently we always invoke Iceberg's planFiles() API for creating Iceberg scans.

      When there are no predicates (and no time travel) on the table we could avoid that because we already cache everything we need (schema, partition information, file descriptors).

      We can also consider only pushing down predicates if at least one of the predicates refer to a partition column. Otherwise it's possible that the overhead of reading, decoding, evaluating all the manifest files is too large.

      I think the change should be fairly simple, we just need to take care:

      • store delete files separately, so we can still do the V2 scans from cache (will be implemented by IMPALA-11826)
      • During time-travel we also cache old file descriptors, so we need to separate them from the actual snapshot's file descriptors.

      Attachments

        Issue Links

          Activity

            People

              boroknagyz Zoltán Borók-Nagy
              boroknagyz Zoltán Borók-Nagy
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: