Synchronized Snowflake data and characteristics mapping

This page gives an overview of the integrated assets from Snowflake via the Catalog JDBC ingestion synchronization, including, the naming conventions, ingested metadata per asset, and the code to create a hierarchy in Collibra.

Naming conventions for created assets

The assets receive a unique full name (fully qualifying name) based on the following naming convention: [asset parent full name]>[asset name]

Asset type Naming convention Example
Database edgeConnectionName>jdbccatalog

where jdbccatalog is the name retrieved from the JDBC "catalog" property.
Snowflake-Connection > GLOBAL_SALES_PROD
Schema edgeConnectionName>jdbccatalog>schemaName Snowflake-Connection > GLOBAL_SALES_PROD > REVENUE_MART
Table edgeConnectionName>jdbccatalog>schemaName>tableName Snowflake-Connection > GLOBAL_SALES_PROD > REVENUE_MART > QUARTERLY_REVENUE
Database view edgeConnectionName>jdbccatalog>schemaName>viewName Snowflake-Connection > GLOBAL_SALES_PROD > REVENUE_MART > V_KPI_DASHBOARD
Semantic View edgeConnectionName>jdbccatalog>schemaName>semanticviewName Snowflake-Connection > GLOBAL_SALES_PROD > REVENUE_MART > CRM_SEMANTIC_VIEW
Column edgeConnectionName>jdbccatalog>schemaName>tableName>columnName(column)

edgeConnectionName>jdbccatalog>schemaName>viewName>columnName(column)
Snowflake-Connection > GLOBAL_SALES_PROD > REVENUE_MART > QUARTERLY_REVENUE > NET_PROFIT_USD(column)
Snowflake-Connection > GLOBAL_SALES_PROD > REVENUE_MART > V_KPI_DASHBOARD > YOY_GROWTH_PCT(column)
Foreign key

For commercial customers:

edgeConnectionName>jdbccatalog>schemaName>tableName>foreignKeyName(foreign key)

Snowflake-Connection > GLOBAL_SALES_PROD > REVENUE_MART > QUARTERLY_REVENUE > FK_REGION_ID(foreign key)

For other customers:

edgeConnectionName>jdbccatalog>schemaName>foreignKeyName(foreign key)

Snowflake-Connection > GLOBAL_SALES_PROD > REVENUE_MART > QUARTERLY_REVENUE > FK_REGION_ID(foreign key)

You can view the full name of an asset by editing the asset.

Warning Avoid editing the full name of an asset, because the full name is used to synchronize and refresh data sources. Changing the full name may cause unexpected results and break the synchronization or refresh process.

Snowflake source of synchronized metadata

For Table and Columns assets, the Snowflake source depends on the value defined for the engine-strategy property.

  • Tables:
    • If the engine-strategy value is SNOWFLAKE_INFORMATION_SCHEMA, the source is INFORMATION_SCHEMA.TABLES.
    • If the engine-strategy value is SNOWFLAKE_ACCOUNT_USAGE, the source is SNOWFLAKE.ACCOUNT_USAGE.TABLES.
    • If the engine-strategy value is JAVA_API, the tables are retrieved via command SHOW TABLES IN SCHEMA.
  • Columns:
    • If the engine-strategy value is SNOWFLAKE_INFORMATION_SCHEMA, the source is INFORMATION_SCHEMA.COLUMNS.
    • If the engine-strategy value is SNOWFLAKE_ACCOUNT_USAGE, the source is SNOWFLAKE.ACCOUNT_USAGE.COLUMNS.
    • If the engine-strategy value is JAVA_API, the columns are retrieved via command SHOW COLUMNS.

For Source tags, the Snowflake source depends on the value defined for tags-strategy property.

  • If the tags-strategy value is SINGLE_CALL, the source is ACCOUNT_USAGE.tag_references table.
  • If the tags-strategy value is CALL_PER_TABLE, the sources are INFORMATION_SCHEMA.tag_references_all_columns and INFORMATION_SCHEMA.tag_references tables.
  • If the tags-strategy value is SKIP, no values are retrieved.

Also other requirements need to be in place to retrieve source tags. For more information, go to Preflight checks for Snowflake metadata integration (Edge).

Characteristics mapping

Asset Attribute Public ID or description Snowflake column
Schema Data source type The type of the registered data source.

DatabaseMetaData.getDatabaseProductName()

Source tags The tags assigned to the asset in the source system.

SNOWFLAKE.ACCOUNT_USAGE.tags

Table

Name TABLE_NAME
Table type TABLETYPE TABLE_TYPE
Description from source system DescriptionFromSourceSystem COMMENT

Source tags

SourceTags <source_tag_name>=<source_tag_value>
Semantic View Name   TABLE_NAME
Table type

TABLETYPE

The value is SEMANTIC_VIEW

TABLE_TYPE

 

Description from source system DescriptionFromSourceSystem  

Source tags

SourceTags

Source tags

<source_tag_name>=<source_tag_value>

Column Name  

COLUMN_NAME

or

For Columns in Semantic View assets: TABLE_NAME.field_NAME

Technical Data Type

TechnicalDataType

DATA_TYPE

  • TEXT in Snowflake becomes VARCHAR in Collibra.
  • FLOAT in Snowflake becomes DOUBLE in Collibra.
Default value DefaultValue COLUMN_DEFAULT

Column Position

ColumnPosition ORDINAL_POSITION

Is Nullable

IsNullable IS_NULLABLE
Description from source system DescriptionFromSourceSystem COMMENT
Is Auto Incremented IsAutoIncremented IS_IDENTITY
Is Generated IsGenerated IDENTITY_GENERATION
Number Of Fractional Digits NumberOfFractionalDigits

Calculated

  • For TIME/TIMESTAMP data types, the DATETIME_PRECISION value is shown in Collibra.
  • For other types, the NUMERIC_SCALE value is shown.
Char octet Length CharOctetLength CHARACTER_OCTET_LENGTH
Size Size

Calculated

  • For TEXT, the CHARACTER_MAXIMUM_LENGTH value is shown in Collibra .
  • For other types, the NUMERIC_PRECISION value is shown.
Is Primary Key IsPrimaryKey calculated
Primary Key Name PrimaryKeyName calculated
Popularity Score PopularityScore calculated

Field Type

Completed only for Columns in Semantic View assets.

FieldType

Defines the category and behavior of the data, indicating whether it is used to organize information or to perform calculations. Possible values are Dimension, Metric, and Fact.

 

Field expression

Completed only for Columns in Semantic View assets.

FieldExpression

The exact calculation logic that constructs the data field.

expression

For generic information, go to Synchronized metadata.

Hierarchy and diagram view in Collibra

By default, the resulting assets are shown in a plain list, but you can enable a multi-path hierarchy to show it in a tree structure. Use the following relations to create the hierarchy.

  • Technology asset has Schema
  • Schema contains Table
    Because Database View and Semantic View are both child asset types of Table, they are included automatically in this hierarchy.
  • Tables contains Column

You can also create a diagram view that shows the hierarchy.

About Semantic View assets

The Semantic View asset type is a child of the Table asset type that represents a Snowflake Semantic View. The fields in the Snowflake Semantic View are ingested as Column assets linked to the Semantic View asset.

A Semantic View asset page includes a Definition tab, which shows the full YAML representation of the Semantic View as ingested from Snowflake. For information, go to the Snowflake Semantic View YAML documentation.

Related topics

About the Snowflake metadata integration via Edge