Tables are a central entity in SQLake that contain data. You can write data into, query from, and delete data from a table.
SQLake tables always exist in a metastore of some kind. The metastore holds the metadata that allows you to query from it, while the underlying files for the table data are stored in a corresponding storage location.
For example, when using Glue Data Catalog as your metastore, the table's files are stored in Amazon S3. In essence, these tables are created in Amazon S3 with a pointer to each respective table created in the Glue Data Catalog.
These SQLake tables can be managed by executing SQL commands that enable you to:
- Write data into a table from an external source.
- Query data from a table.
- Delete data from a table.
- Read data from one table and write it to a different table, either internally or externally.
SQLake tables can be created with or without columns. Unlike database tables, SQLake tables support dynamic column lists, meaning the list of columns can expand based on the data being loaded.
Additionally, when you create the table, you can define primary keys, partition columns, table retention, and more. However, if you plan to run an ingestion job to write to the table, do not specify any primary keys.