This is a list of improvements we are working on in ListingTable in DataFusion ### Background DataFusion has a [`ListingTable`](https://github.com/apache/arrow-datafusion/blob/2dad90425bacb98a3c2a4214faad53850c93104e/datafusion/core/src/datasource/listing/table.rs#L443-L508) that effectively reading tables stored in one or more files in a "hive partitioned" directory structure: So for example, give files like this: ``` /path/to/my_table/file1.parquet /path/to/my_table/file2.parquet /path/to/my_table/file3.parquet ``` You can create a table with a command like ```sql CREATE EXTERNAL TABLE my_table LOCATION '/path/to/my_table' ``` And the `ListingTable` will handle figuring out schema, and running queries against those files as though they were a single table. ## Team - @BlakeOrth - @alamb (maintainer) ## Bugs - [x] https://github.com/apache/datafusion/issues/17212 - [x] https://github.com/apache/datafusion/issues/17049 ## Enhancements - [x] https://github.com/apache/datafusion/issues/17000 - [x] https://github.com/apache/datafusion/issues/16302 - [x] https://github.com/apache/datafusion/issues/17207 - [x] https://github.com/apache/datafusion/issues/18119 - [x] https://github.com/apache/datafusion/issues/18118 - [x] https://github.com/apache/datafusion/issues/17211 - [x] https://github.com/apache/datafusion/issues/19074 - [x] https://github.com/apache/datafusion/issues/18827 - [x] https://github.com/apache/datafusion/issues/19056 - [x] https://github.com/apache/datafusion/issues/9654 - [x] https://github.com/apache/datafusion/issues/18952 - [x] https://github.com/apache/datafusion/issues/18953 - [x] https://github.com/apache/datafusion/issues/19055 - [x] https://github.com/apache/datafusion/issues/18138 - [x] https://github.com/apache/datafusion/issues/19273 - [x] https://github.com/apache/datafusion/issues/19573 - [x] https://github.com/apache/datafusion/issues/19217 - [x] https://github.com/apache/datafusion/issues/19052
This is a list of improvements we are working on in ListingTable in DataFusion
Background
DataFusion has a
ListingTablethat effectively reading tables stored in one or more files in a "hive partitioned" directory structure:So for example, give files like this:
You can create a table with a command like
CREATE EXTERNAL TABLE my_table LOCATION '/path/to/my_table'And the
ListingTablewill handle figuring out schema, and running queries against those files as though they were a single table.Team
Bugs
ListingTableFactoryfails to read data when the final path element contains a.#17212ListingTableFactoryon Hive partitioned datasets #17049Enhancements
/(retry as paths) #16302datafusion-cli] Add a way to see what object store requests are made #17207datafusion-cliobject store tracing mode work for local files #18119metadata_size_hint) #18118ListFilesCacheto be available for partitioned tables #17211DefaultMetadataCacheinto its own module #19074ListFilesCacheimplementation for theListingTable#18827datafusion-cli#18953datafusion-cli#19055DefaultListFilesCachework better with prefixed paths #19273FileStatisticsCacheimplementation for theListingTable#19217DefaultFileStatisticsCache#19052