Warehouse Importer
Reach out to us to retrieve your API secret
In the end, warehouses look like one another. They all have tables, columns, users and queries. So we've defined a format, and as long as you follow, we'll load your metadata into Catalog.
You just need to fill in the 7 files below and push them to our endpoint using the Catalog Uploader
All 7 files are mandatory and data must make sense.
If you add a column in the column file, but the table that contains it is not in the table file then it will fail to load into Catalog
Please always prefix the files name with a unix timestamp.
CSV formattingβ
Here's an example of a very simple CSV file:

Some fields such as tags are typed as list[string]
In that case, several formats are accepted:
- list "['a', 'b']"
- tuples "('a', 'b')"
- sets "{'a', 'b', 'c'}"
Empty list allowed: []
Singleton allowed: 'a'
Multiple types allowed: "['foo', 100, 19.8]"
Forbidden charactersβ
- Column separator is the coma
,
- Row separator is the carriage return
Quotingβ
Most of string fields (table names, column names, etc.) should not contain commas or carriage returns. Generally the problem comes with large text fields, such as SQL queries or descriptions.
If you have any doubts, you can quote all your text fields:

Filesβ
π Primary Key (must be unique)
π Foreign Key (must reference an existing entry)
βOptional (empty string in the CSV)
1. Databaseβ
database.csv
Fields
id
string π
database_name
string
2. Schemaβ
schema (3).csv
Fields
id
string π
database_id
string β database.id π
schema_name
string
description
string β
tags
list[string] β
3. Tableβ
table (5).csv
Fields
id
string π
schema_id
string β schema.id π
table_name
string
description
string β
tags
list[string] β
type
enum {TABLE | VIEW | EXTERNAL |Β TOPIC}
owner_external_id
string β user.id β
4. Columnβ
column (1).csv
Fields
id
string π
table_id
string β table.id π
column_name
string
description
string β
data_type
enum: { BOOLEAN | INTEGER | FLOAT | STRING | ... | CUSTOM }
ordinal_position
positive integer β
5. Queryβ
query (7).csv
If you do not want to fill up the Query file, you can simply upload it with no data (the file itself is required)
We only ingest queries that ran the previous day of the ingestion of your metadata. Please make sure to only include these in the file, others will be ignored.
Fields
query_id
string β query.id
database_id
string β database.id π
database_name
string β database.name
schema_name
string β schema.name
query_text
string
user_id
string β user.id π
user_name
string β user name
start_time
timestamp
end_time
timestamp β
6. View DDLβ
view_ddl (7).csv
If you do not want to fill up the View DDL file, you can simply upload it with no data (the file itself is required)
Fields
database_name
string
schema_name
string
view_name
string
view_definition
string
7. Userβ
user.csv
If you do not want to fill up the User file, you can simply upload it with no data (the file itself is required)
Fields
id
string π
email
string β
first_name
string β
last_name
string β
Lineageβ
We compute lineage for your integration by analysing and parsing the Queries and View DDL when possible.
Alternatively, you can complete the following lineage mapping for Tables and/or Columns and we will ingest them during each update.
1. Table Lineageβ
external_table_lineage.csv
Fields
parent_path
string π: path of the parent table
child_path
string π: path of the child table
2. Column Lineageβ
external_column_lineage.csv
Fields
parent_path
string π: path of the parent column
child_path
string π: path of the child column