Introduction to Tables
- Belongs to a Project
- Is a columnar structure
- Is stored in cloud object storage
- Requires a
DateTime
type as theprimary
column. - Needs to be referenced when ingesting and querying.
A Transform is required to ingest data into a table and a View is required to query data from the table. A table can have multiple views and multiple transforms.
One table may have mulple ingest transforms, as long as they all have a common datetime
column that can be used for indexing. This means:
- To add a new column to the table, it just needs to be specified in a new transform
- Related data with different structure, like logs and metrics from the same system, can be stored in the same table, reducing the need for joins
The sample
project used in tutorials and reference includes a variety of tables. Each table has several columns. The table metrics
has columns timestamp
, hostname
, region
, etc…
Create a Table
To create a Table two methods can be employed:
- via the User Interface or
- via the API using the
create table
endpoint.
Note: A table is created within a project, it is therefore important to have created the project first, instructions to do this can be found here Project
Required:
- an acccess_token from login
- UUID of the organization where the table should be created
- UUID of the project where the table should be created
- a name for the table
The project UUID is specified in the path as well as in the request document. The organization UUID is required in the path.
The response will carry a UUID for the table. This will be needed for table operations, like creating transforms and views.
{
"uuid": "the-table-uuid",
"name": "myTable",
"description": "my first table",
"created": "2020-05-04T23:20:04.334094Z",
"modified": "2020-05-04T23:20:04.334126Z",
"settings": {
"index": {}
},
"project": "the-project-uuid-from-request"
}