For looking up the details of the Iceberg Format it always pays to check the https://iceberg.apache.org/#spec/ . These are the official requirements for an Iceberg table. There you will see that "location" is
The table’s base location. This is used by writers to determine where to store data files, manifest files, and table metadata files. Any Iceberg writer will default to placing new files in paths relative to this base location unless other properties are specified in the configuration (or location provider). This is really just a guide and files can exist anywhere, you'll notice in the spec for Manifests that one of the columns is path. On Tue, Nov 23, 2021 at 3:28 PM S P <[email protected]> wrote: > Hi, > > I am new to iceberg and trying to understand the table metadata layout. I > see the "location" field > <https://github.com/apache/iceberg/blob/master/core/src/main/java/org/apache/iceberg/TableMetadataParser.java#L87> > in the table metadata. My understanding is that the data files in Iceberg > can be at any location, the location is specified in the manifest files. > > What is the intention behind this field? Is this a default location that > the query engines can use if they wanted? Is it a requirement to generate > data files at this location? If a query engine is using a "data location > provider" does it matter what this value is set to? > > In general, it would really help to have some documentation around the > public facing data structures. > > Thanks a bunch! > >
