Title: dbt integration: Validate entity column data type is appropriate · Issue #5876 · feast-dev/feast · GitHub
Open Graph Title: dbt integration: Validate entity column data type is appropriate · Issue #5876 · feast-dev/feast
X Title: dbt integration: Validate entity column data type is appropriate · Issue #5876 · feast-dev/feast
Description: 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 / VARC...
Open Graph Description: 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...
X Description: 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...
Opengraph URL: https://github.com/feast-dev/feast/issues/5876
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"dbt integration: Validate entity column data type is appropriate","articleBody":"## Context\nPR #5827 added dbt integration that creates Entity objects from dbt model columns.\n\n## Problem\nNo validation that the entity column has an appropriate data type for use as an entity key. Entity keys should typically be:\n- STRING / VARCHAR\n- INT / INT64 / BIGINT \n- UUID (if supported)\n\nBut the code would accept any column type including:\n- FLOAT / DOUBLE (non-deterministic for joins)\n- BYTES (not suitable for entity keys)\n- TIMESTAMP (rarely appropriate)\n\n## Current Behavior\n```python\n# In dbt_import.py:191-197\nif entity_column not in column_names:\n click.echo(warning)\n continue\n# No type checking!\n```\n\n## Proposed Solution\nAdd validation and warning:\n\n```python\nentity_col = next((c for c in model.columns if c.name == entity_column), None)\nif entity_col:\n normalized_type = entity_col.data_type.upper()\n valid_entity_types = ['STRING', 'TEXT', 'VARCHAR', 'INT', 'INT32', 'INT64', 'INTEGER', 'BIGINT', 'UUID']\n \n if not any(t in normalized_type for t in valid_entity_types):\n click.echo(\n f\"{Fore.YELLOW}Warning: Entity column '{entity_column}' has type \"\n f\"'{entity_col.data_type}' which may not be suitable for entity keys.\"\n f\" Recommended types: STRING, INT64{Style.RESET_ALL}\"\n )\n```\n\n## Edge Cases to Handle\n- FLOAT columns (should warn strongly)\n- ARRAY columns (invalid for entities)\n- Complex/nested types (invalid)\n\n## Related\n- PR #5827","author":{"url":"https://github.com/YassinNouh21","@type":"Person","name":"YassinNouh21"},"datePublished":"2026-01-16T20:12:28.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":0},"url":"https://github.com/5876/feast/issues/5876"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:d978a1c9-ad80-d593-0f1e-6190f9ae6910 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | B2B8:C544C:91010C:CB4FE4:696F443D |
| html-safe-nonce | 05b91ad6007ae97774148e806eb87d36db9dffc3f7e7181ba931b0763625efc5 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCMkI4OkM1NDRDOjkxMDEwQzpDQjRGRTQ6Njk2RjQ0M0QiLCJ2aXNpdG9yX2lkIjoiMjc2MTk5MzY0NjE5NjYwNjAxMyIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 7dd34b9eb383b59c997b5dc834f1e6edd59bbcc245b3d7e51d7332203cb32303 |
| hovercard-subject-tag | issue:3823512635 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/feast-dev/feast/5876/issue_layout |
| twitter:image | https://opengraph.githubassets.com/dd16626ddfc8c47e2c96138aa088330e8471c670c55af945ea4df618a196ef4b/feast-dev/feast/issues/5876 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/dd16626ddfc8c47e2c96138aa088330e8471c670c55af945ea4df618a196ef4b/feast-dev/feast/issues/5876 |
| og:image:alt | 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... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | YassinNouh21 |
| hostname | github.com |
| expected-hostname | github.com |
| None | b278ad162d35332b6de714dfb005de04386c4d92df6475522bef910f491a35ee |
| turbo-cache-control | no-preview |
| go-import | github.com/feast-dev/feast git https://github.com/feast-dev/feast.git |
| octolytics-dimension-user_id | 57027613 |
| octolytics-dimension-user_login | feast-dev |
| octolytics-dimension-repository_id | 161133770 |
| octolytics-dimension-repository_nwo | feast-dev/feast |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 161133770 |
| octolytics-dimension-repository_network_root_nwo | feast-dev/feast |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 39aed5006635ab6f45e6b77d23e73b08a00272a3 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width