Introduction to Tables

  • Belongs to a Project
  • Is a columnar structure
  • Is stored in cloud object storage
  • Requires a DateTime type as the primary 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"
}