GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — dbt integration: Validate entity column data type is appropriate · Issue #5876 · feast-dev/feast

dbt integration: Validate entity column data type is appropriate #5876

New issue
Copy link
New issue
Copy link
Closed
#7067
Closed
dbt integration: Validate entity column data type is appropriate#5876
#7067
Copy link

Description

@YassinNouh21
YassinNouh21
opened on Jan 16, 2026
Issue body actions

Context

PR #5827 added dbt integration that creates Entity objects from dbt model columns.

Problem

No validation that the entity column has an appropriate data type for use as an entity key. Entity keys should typically be:

  • STRING / VARCHAR
  • INT / INT64 / BIGINT
  • UUID (if supported)

But the code would accept any column type including:

  • FLOAT / DOUBLE (non-deterministic for joins)
  • BYTES (not suitable for entity keys)
  • TIMESTAMP (rarely appropriate)

Current Behavior

# In dbt_import.py:191-197
if entity_column not in column_names:
    click.echo(warning)
    continue
# No type checking!

Proposed Solution

Add validation and warning:

entity_col = next((c for c in model.columns if c.name == entity_column), None)
if entity_col:
    normalized_type = entity_col.data_type.upper()
    valid_entity_types = ['STRING', 'TEXT', 'VARCHAR', 'INT', 'INT32', 'INT64', 'INTEGER', 'BIGINT', 'UUID']
    
    if not any(t in normalized_type for t in valid_entity_types):
        click.echo(
            f"{Fore.YELLOW}Warning: Entity column '{entity_column}' has type "
            f"'{entity_col.data_type}' which may not be suitable for entity keys."
            f" Recommended types: STRING, INT64{Style.RESET_ALL}"
        )

Edge Cases to Handle

  • FLOAT columns (should warn strongly)
  • ARRAY columns (invalid for entities)
  • Complex/nested types (invalid)

Related

  • PR feat: Add dbt integration for importing models as FeatureViews #5827

Activity

  1. shuchu
    closed this as completedin #7067on Nov 10, 2026
  2. shuchu
    added a commit that references this issue on Nov 10, 2026

    fix: Validate entity column types in feast dbt import (feast-dev#7067)

    This issue will close once commit abca80c is merged into the 'master' branch.
    abca80c
  3. franciscojavierarceo
    added a commit that references this issue on Nov 10, 2026

    chore(release): release 0.68.0

    fb5e5d5
  4. shuchu
    added 2 commits that reference this issue on Nov 11, 2026

    fix: Validate entity column types in feast dbt import (feast-dev#7067)

    This issue will close once commit 789584c is merged into the 'master' branch.
    789584c

    chore(release): release 0.68.0

    This issue will close once commit 5b94c9e is merged into the 'master' branch.
    5b94c9e
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      You are visitor 01402503 — GeezerVison does not store the pages you look up.
      Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.