Table

This schema defines the Table entity. A Table organizes data in rows and columns and is defined by a Schema. OpenMetadata does not have a separate abstraction for Schema. Both Table and Schema are captured in this entity.

  • id: Unique identifier of this table instance. Refer to ../../type/basic.json#/definitions/uuid.
  • name: Name of a table. Expected to be unique within a database. Refer to ../../type/basic.json#/definitions/entityName.
  • displayName (string): Display Name that identifies this table. It could be title or label from the source services.
  • fullyQualifiedName: Fully qualified name of a table in the form serviceName.databaseName.tableName. Refer to ../../type/basic.json#/definitions/fullyQualifiedEntityName.
  • description: Description of a table. Refer to ../../type/basic.json#/definitions/markdown.
  • version: Metadata version of the entity. Refer to ../../type/entityHistory.json#/definitions/entityVersion.
  • updatedAt: Last update time corresponding to the new version of the entity in Unix epoch time milliseconds. Refer to ../../type/basic.json#/definitions/timestamp.
  • updatedBy (string): User who made the update.
  • href: Link to this table resource. Refer to ../../type/basic.json#/definitions/href.
  • tableType: Refer to #/definitions/tableType.
  • columns (array): Columns in this table. Default: None.
    • Items: Refer to #/definitions/column.
  • tableConstraints (array): Table constraints. Default: None.
    • Items: Refer to #/definitions/tableConstraint.
  • tablePartition: Refer to #/definitions/tablePartition.
  • owner: Owner of this table. Refer to ../../type/entityReference.json. Default: None.
  • databaseSchema: Reference to database schema that contains this table. Refer to ../../type/entityReference.json.
  • database: Reference to Database that contains this table. Refer to ../../type/entityReference.json.
  • service: Link to Database service this table is hosted in. Refer to ../../type/entityReference.json.
  • serviceType: Service type this table is hosted in. Refer to ../services/databaseService.json#/definitions/databaseServiceType.
  • location: Reference to the Location that contains this table. Refer to ../../type/entityReference.json.
  • viewDefinition: View Definition in SQL. Applies to TableType.View only. Refer to ../../type/basic.json#/definitions/sqlQuery.
  • tags (array): Tags for this table. Default: None.
    • Items: Refer to ../../type/tagLabel.json.
  • usageSummary: Latest usage information for this table. Refer to ../../type/usageDetails.json. Default: None.
  • followers: Followers of this table. Refer to ../../type/entityReference.json#/definitions/entityReferenceList.
  • joins: Details of other tables this table is frequently joined with. Refer to #/definitions/tableJoins. Default: None.
  • sampleData: Sample data for a table. Refer to #/definitions/tableData. Default: None.
  • profileSample (number): Percentage of data we want to execute the profiler and tests on. Represented in the range (0, 100). Maximum: 100. Default: None.
  • profileQuery (string): Users' raw SQL query to fetch sample data and profile the table. Default: None.
  • tableProfile (array): Data profile for a table. Default: None.
    • Items: Refer to #/definitions/tableProfile.
  • tableQueries (array): List of queries that ran against a table. Default: None.
    • Items: Refer to #/definitions/sqlQuery.
  • tableTests (array): List of test cases that ran against a table. Default: None.
    • Items: Refer to ../../tests/tableTest.json.
  • dataModel: This captures information about how the table is modeled. Currently only DBT model is supported. Refer to #/definitions/dataModel.
  • changeDescription: Change that lead to this version of the entity. Refer to ../../type/entityHistory.json#/definitions/changeDescription.
  • deleted (boolean): When true indicates the entity has been soft deleted. Default: False.
  • extension: Entity extension data with custom attributes added to the entity. Refer to ../../type/basic.json#/definitions/entityExtension.
  • tableType (string): This schema defines the type used for describing different types of tables. Must be one of: ['Regular', 'External', 'View', 'SecureView', 'MaterializedView', 'Iceberg', 'Local'].
  • dataType (string): This enum defines the type of data stored in a column. Must be one of: ['NUMBER', 'TINYINT', 'SMALLINT', 'INT', 'BIGINT', 'BYTEINT', 'BYTES', 'FLOAT', 'DOUBLE', 'DECIMAL', 'NUMERIC', 'TIMESTAMP', 'TIME', 'DATE', 'DATETIME', 'INTERVAL', 'STRING', 'MEDIUMTEXT', 'TEXT', 'CHAR', 'VARCHAR', 'BOOLEAN', 'BINARY', 'VARBINARY', 'ARRAY', 'BLOB', 'LONGBLOB', 'MEDIUMBLOB', 'MAP', 'STRUCT', 'UNION', 'SET', 'GEOGRAPHY', 'ENUM', 'JSON', 'UUID'].
  • constraint (string): This enum defines the type for column constraint. Must be one of: ['NULL', 'NOT_NULL', 'UNIQUE', 'PRIMARY_KEY']. Cannot contain additional properties. Default: None.
  • tableConstraint (object): This enum defines the type for table constraint. Cannot contain additional properties.
    • constraintType (string): Must be one of: ['UNIQUE', 'PRIMARY_KEY', 'FOREIGN_KEY'].
    • columns (array): List of column names corresponding to the constraint.
      • Items (string)
  • columnName (string): Local name (not fully qualified name) of the column. ColumnName is - when the column is not named in struct dataType. For example, BigQuery supports struct with unnamed fields.
  • tablePartition (object): This schema defines the partition column of a table and format the partition is created. Cannot contain additional properties.
    • columns (array): List of column names corresponding to the partition.
      • Items (string)
    • intervalType (string): type of partition interval, example time-unit, integer-range. Must be one of: ['TIME-UNIT', 'INTEGER-RANGE', 'INGESTION-TIME', 'COLUMN-VALUE'].
    • interval (string): partition interval , example hourly, daily, monthly.
  • column (object): This schema defines the type for a column in a table. Cannot contain additional properties.
    • name: Refer to #/definitions/columnName.
    • displayName (string): Display Name that identifies this column name.
    • dataType: Data type of the column (int, date etc.). Refer to #/definitions/dataType.
    • arrayDataType: Data type used array in dataType. For example, array<int> has dataType as array and arrayDataType as int. Refer to #/definitions/dataType.
    • dataLength (integer): Length of char, varchar, binary, varbinary dataTypes, else null. For example, varchar(20) has dataType as varchar and dataLength as 20.
    • precision (integer): The precision of a numeric is the total count of significant digits in the whole number, that is, the number of digits to both sides of the decimal point. Precision is applicable Integer types, such as INT, SMALLINT, BIGINT, etc. It also applies to other Numeric types, such as NUMBER, DECIMAL, DOUBLE, FLOAT, etc.
    • scale (integer): The scale of a numeric is the count of decimal digits in the fractional part, to the right of the decimal point. For Integer types, the scale is 0. It mainly applies to non Integer Numeric types, such as NUMBER, DECIMAL, DOUBLE, FLOAT, etc.
    • dataTypeDisplay (string): Display name used for dataType. This is useful for complex types, such as array<int>, map<int,string>, struct<>, and union types.
    • description: Description of the column. Refer to ../../type/basic.json#/definitions/markdown.
    • fullyQualifiedName: Refer to ../../type/basic.json#/definitions/fullyQualifiedEntityName.
    • tags (array): Tags associated with the column. Default: None.
      • Items: Refer to ../../type/tagLabel.json.
    • constraint: Column level constraint. Refer to #/definitions/constraint.
    • ordinalPosition (integer): Ordinal position of the column.
    • jsonSchema (string): Json schema only if the dataType is JSON else null.
    • children (array): Child columns if dataType or arrayDataType is map, struct, or union else null. Default: None.
      • Items: Refer to #/definitions/column.
    • columnTests (array): List of column test cases that ran against a table column. Default: None.
      • Items: Refer to ../../tests/columnTest.json.
    • customMetrics (array): List of Custom Metrics registered for a column. Default: None.
      • Items: Refer to ../../tests/customMetric.json.
  • joinedWith (object): Fully qualified names of the fields/entities that this field/entity is joined with. Cannot contain additional properties.
    • fullyQualifiedName: Refer to ../../type/basic.json#/definitions/fullyQualifiedEntityName.
    • joinCount (integer)
  • columnJoins (object): This schema defines the type to capture how frequently a column is joined with columns in the other tables. Cannot contain additional properties.
    • columnName: Refer to #/definitions/columnName.
    • joinedWith (array): Fully qualified names of the columns that this column is joined with.
      • Items: Refer to #/definitions/joinedWith.
  • tableJoins (object): This schema defines the type to capture information about how this table is joined with other tables and columns. Cannot contain additional properties.
    • startDate: Date can be only from today going back to last 29 days. Refer to ../../type/basic.json#/definitions/date.
    • dayCount (integer): Default: 1.
    • columnJoins (array)
      • Items: Refer to #/definitions/columnJoins.
    • directTableJoins (array): Joins with other tables that are not on a specific column (e.g: UNION join).
      • Items: Refer to #/definitions/joinedWith.
  • tableData (object): This schema defines the type to capture rows of sample data for a table. Cannot contain additional properties.
    • columns (array): List of local column names (not fully qualified column names) of the table.
      • Items: Refer to #/definitions/columnName.
    • rows (array): Data for multiple rows of the table.
      • Items (array): Data for a single row of the table within the same order as columns fields.
  • customMetricProfile (object): Profiling results of a Custom Metric. Cannot contain additional properties.
    • name (string): Custom metric name.
    • value (number): Profiling results for the metric.
  • columnProfile (object): This schema defines the type to capture the table's column profile. Cannot contain additional properties.
    • name (string): Column Name.
    • valuesCount (number): Total count of the values in this column.
    • valuesPercentage (number): Percentage of values in this column with respect to rowcount.
    • validCount (number): Total count of valid values in this column.
    • duplicateCount (number): No.of Rows that contain duplicates in a column.
    • nullCount (number): No.of null values in a column.
    • nullProportion (number): No.of null value proportion in columns.
    • missingPercentage (number): Missing Percentage is calculated by taking percentage of validCount/valuesCount.
    • missingCount (number): Missing count is calculated by subtracting valuesCount - validCount.
    • uniqueCount (number): No. of unique values in the column.
    • uniqueProportion (number): Proportion of number of unique values in a column.
    • distinctCount (number): Number of values that contain distinct values.
    • distinctProportion (number): Proportion of distinct values in a column.
    • min: Minimum value in a column.
    • max: Maximum value in a column.
    • minLength (number): Minimum string length in a column.
    • maxLength (number): Maximum string length in a column.
    • mean (number): Avg value in a column.
    • sum (number): Median value in a column.
    • stddev (number): Standard deviation of a column.
    • variance (number): Variance of a column.
    • median (number): Median of a column.
    • histogram: Histogram of a column. Cannot contain additional properties.
      • boundaries (array): Boundaries of Histogram.
      • frequencies (array): Frequencies of Histogram.
    • customMetricsProfile (array): Custom Metrics profile list bound to a column. Default: None.
      • Items: Refer to #/definitions/customMetricProfile.
  • tableProfile (object): This schema defines the type to capture the table's data profile. Cannot contain additional properties.
    • profileDate: Data one which profile is taken. Refer to ../../type/basic.json#/definitions/date.
    • profileSample (number): Percentage of data used to compute this profiler execution. Represented in the range (0, 100]. Maximum: 100.
    • profileQuery (string): Users' raw SQL query to fetch sample data and profile the table.
    • columnCount (number): No.of columns in the table.
    • rowCount (number): No.of rows in the table. This is always executed on the whole table.
    • columnNames (array): List of column names.
    • columnProfile (array): List of local column profiles of the table.
      • Items: Refer to #/definitions/columnProfile.
  • sqlQuery (object): This schema defines the type to capture the table's sql queries. Cannot contain additional properties.
    • query (string): SQL Query text that matches the table name.
    • duration (number): How long did the query took to run in seconds.
    • user: User who ran this query. Refer to ../../type/entityReference.json. Default: None.
    • vote (number): Users can vote up to rank the popular queries. Default: 1.
    • checksum (string): Checksum to avoid registering duplicate queries.
    • queryDate: Date on which the query ran. Refer to ../../type/basic.json#/definitions/date.
  • modelType: Must be one of: ['DBT'].
  • dataModel (object): This captures information about how the table is modeled. Currently only DBT model is supported. Cannot contain additional properties.
    • modelType: Refer to #/definitions/modelType.
    • description: Description of the Table from the model. Refer to ../../type/basic.json#/definitions/markdown.
    • path (string): Path to sql definition file.
    • rawSql: This corresponds to rws SQL from <model_name>.sql in DBT. This might be null when SQL query need not be compiled as done in DBT. Refer to ../../type/basic.json#/definitions/sqlQuery.
    • sql: This corresponds to compile SQL from <model_name>.sql in DBT. In cases where compilation is not necessary, this corresponds to SQL that created the table. Refer to ../../type/basic.json#/definitions/sqlQuery.
    • upstream (array): Fully qualified name of Models/tables used for in sql for creating this table.
      • Items (string)
    • columns (array): Columns from the schema defined during modeling. In case of DBT, the metadata here comes from schema.yaml. Default: None.
      • Items: Refer to #/definitions/column.
    • generatedAt: Refer to ../../type/basic.json#/definitions/dateTime.

Documentation file automatically generated at 2022-07-14 10:51:34.749986.

Still have questions?

You can take a look at our Q&A or reach out to us in Slack

Was this page helpful?

editSuggest edits