{"id":2906,"date":"2021-01-24T22:38:43","date_gmt":"2021-01-25T06:38:43","guid":{"rendered":"https:\/\/www.gudusoft.com\/?page_id=2906"},"modified":"2026-07-12T02:05:58","modified_gmt":"2026-07-12T10:05:58","slug":"snowflake-data-lineage","status":"publish","type":"page","link":"https:\/\/www.gudusoft.com\/fr\/lignee-de-donnees-de-flocon-de-neige\/","title":{"rendered":"Tra\u00e7abilit\u00e9 des donn\u00e9es Snowflake\u00a0: Tra\u00e7abilit\u00e9 au niveau des colonnes \u00e0 partir de l\u2019historique des requ\u00eates"},"content":{"rendered":"<p><strong>Tra\u00e7abilit\u00e9 des donn\u00e9es Snowflake<\/strong> Il s&#039;agit de la carte au niveau des colonnes de la fa\u00e7on dont les donn\u00e9es circulent dans votre compte Snowflake\u00a0: quelles tables et colonnes sources alimentent chaque table, vue ou tableau de bord cible, et quelles transformations (jointures, <code>APLATIR<\/code> Extensions, fonctions de fen\u00eatrage, filtres \u2014 tout cela se fait progressivement. Snowflake <code>UTILISATION DU COMPTE<\/code> Les vues indiquent quels objets ont \u00e9t\u00e9 consult\u00e9s, mais elles s&#039;arr\u00eatent \u00e0 l&#039;historique d&#039;acc\u00e8s au niveau de la table\u00a0; pour savoir comment une colonne a \u00e9t\u00e9 calcul\u00e9e \u00e0 partir d&#039;une autre, il faut analyser le code SQL lui-m\u00eame. <strong>Gudu SQLFlow<\/strong> Il fait exactement cela : il ing\u00e8re votre historique de requ\u00eates Snowflake, votre DDL et vos vues, analyse chaque instruction avec une grammaire sp\u00e9cifique \u00e0 Snowflake et produit un diagramme de lignage interactif au niveau des colonnes.<\/p>\n\n\n\n<div class=\"wp-block-group alignfull has-background is-layout-constrained\" style=\"background-color:#eef7fb;padding-top:24px;padding-bottom:24px\"><div class=\"wp-block-group__inner-container\">\n\n<p><strong>Voir maintenant :<\/strong> collez n&#039;importe quelle requ\u00eate Snowflake dans le <a href=\"https:\/\/sqlflow.gudusoft.com\/?utm_source=gudusoft&amp;utm_medium=website&amp;utm_campaign=snowflake-data-lineage\" target=\"_blank\" rel=\"noreferrer noopener\">Visualiseur de lign\u00e9es Snowflake gratuit en ligne<\/a> S\u00e9lectionnez le dialecte Snowflake pour obtenir un diagramme interactif au niveau des colonnes. L&#039;\u00e9dition cloud propose une version gratuite.<\/p>\n\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Ce que Snowflake vous offre nativement \u2014 et ses limites<\/h2>\n\n\n\n<p>Snowflake enregistre d\u00e9j\u00e0 beaucoup de choses. <code>UTILISATION DU COMPTE<\/code> Le sch\u00e9ma expose des vues de l&#039;activit\u00e9 de votre compte, permettant de reconstituer les tables consult\u00e9es par une requ\u00eate et les objets modifi\u00e9s. Ces informations sont particuli\u00e8rement utiles pour l&#039;audit des acc\u00e8s et la d\u00e9tection des d\u00e9pendances de mani\u00e8re g\u00e9n\u00e9rale\u00a0; toute strat\u00e9gie de tra\u00e7abilit\u00e9 sur Snowflake devrait donc s&#039;appuyer sur ces donn\u00e9es de t\u00e9l\u00e9m\u00e9trie plut\u00f4t que de les ignorer.<\/p>\n\n\n\n<p>Ce que la t\u00e9l\u00e9m\u00e9trie d&#039;utilisation du compte ne vous indique pas, c&#039;est <em>transformer<\/em> tra\u00e7abilit\u00e9 au niveau de la granularit\u00e9 des colonnes. Savoir qu&#039;une requ\u00eate a touch\u00e9 <code>commandes brutes<\/code> et a \u00e9crit <code>analytique.revenu<\/code> ne vous dit pas que <code>revenu total<\/code> est <code>SOMME(commandes.montant)<\/code> apr\u00e8s un filtre d&#039;\u00e9tat, ou qu&#039;un <code>QUALIFIER<\/code> Cette clause a supprim\u00e9 silencieusement des lignes en fonction d&#039;une colonne qui n&#039;appara\u00eet jamais dans le r\u00e9sultat. Cette information se trouve \u00e0 un seul endroit\u00a0: le texte SQL de l&#039;instruction. Son extraction n\u00e9cessite un v\u00e9ritable analyseur SQL Snowflake, capable de comprendre\u2026 <code>APLATIR<\/code>, <code>QUALIFIER<\/code>, semi-structur\u00e9 <code>VARIANTE<\/code> chemins, CTE multiniveaux et <code>S\u00c9LECTIONNER *<\/code> expansion par rapport au sch\u00e9ma actuel.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Tra\u00e7abilit\u00e9 des builds \u00e0 partir de QUERY_HISTORY\u00a0: ce qui a \u00e9t\u00e9 r\u00e9ellement ex\u00e9cut\u00e9<\/h2>\n\n\n\n<p>SQLFlow prend en charge <strong>Historique des requ\u00eates Snowflake en tant qu&#039;entr\u00e9e native<\/strong>Au lieu de deviner vos pipelines \u00e0 partir de la documentation ou des configurations des t\u00e2ches planifi\u00e9es, vous fournissez \u00e0 SQLFlow les instructions que Snowflake a r\u00e9ellement ex\u00e9cut\u00e9es. <code>CR\u00c9ER UNE TABLE COMME S\u00c9LECTION<\/code>, <code>INS\u00c9RER<\/code>, <code>FUSIONNER<\/code>, et <code>COPIE<\/code> Les instructions de votre historique de requ\u00eates, ainsi que les d\u00e9finitions DDL et de vues qui leur fournissent leur contexte de sch\u00e9ma, sont incluses. Le r\u00e9sultat est une tra\u00e7abilit\u00e9 ancr\u00e9e dans la r\u00e9alit\u00e9.<\/p>\n\n\n\n<ul><li><strong>Aucune zone d&#039;ombre li\u00e9e au SQL ad hoc.<\/strong> Les remplissages ponctuels, les instructions CTAS r\u00e9dig\u00e9es par les analystes et les requ\u00eates ex\u00e9cut\u00e9es depuis des notebooks ou des outils de BI apparaissent dans l&#039;historique des requ\u00eates et donc dans votre tra\u00e7abilit\u00e9. Les approches bas\u00e9es sur la configuration qui se contentent d&#039;analyser le r\u00e9f\u00e9rentiel de votre orchestrateur les ignorent compl\u00e8tement.<\/li>\n<li><strong>Les vues s&#039;affichent correctement.<\/strong> SQLFlow ing\u00e8re les d\u00e9finitions de vues en m\u00eame temps que l&#039;historique des requ\u00eates, donc une requ\u00eate contre <code>vw_customer_360<\/code> trace \u00e0 travers le corps de la vue jusqu&#039;aux tables et colonnes de base.<\/li>\n<li><strong>L&#039;extension Star utilise votre sch\u00e9ma r\u00e9el.<\/strong> Avec DDL charg\u00e9, <code>S\u00c9LECTIONNER *<\/code> s&#039;\u00e9tend \u00e0 la liste r\u00e9elle des colonnes, de sorte que les limites au niveau des colonnes restent pr\u00e9cises au lieu de se r\u00e9duire \u00e0 des suppositions au niveau du tableau.<\/li><\/ul>\n\n\n\n<p>Outre le SQL coll\u00e9 et les fichiers t\u00e9l\u00e9charg\u00e9s, SQLFlow accepte \u00e9galement les m\u00e9tadonn\u00e9es en temps r\u00e9el via JDBC et les fichiers manifestes dbt, ce qui permet de combiner la tra\u00e7abilit\u00e9 des requ\u00eates ex\u00e9cut\u00e9es avec celle d\u00e9finie par le mod\u00e8le dans un seul graphique. Les journaux de requ\u00eates Redshift b\u00e9n\u00e9ficient du m\u00eame traitement natif si vous utilisez une infrastructure multi-entrep\u00f4ts.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Tra\u00e7abilit\u00e9 au niveau des colonnes via du SQL Snowflake r\u00e9el<\/h2>\n\n\n\n<p>Snowflake SQL n&#039;est pas conforme \u00e0 la norme ANSI g\u00e9n\u00e9rique. Prenons l&#039;exemple d&#039;une \u00e9tape de pipeline qui d\u00e9compose les lignes de commande semi-structur\u00e9es et conserve les trois commandes principales de chaque client\u00a0:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CR\u00c9ER OU REMPLACER LA TABLE analytics.top_customer_orders COMME S\u00c9LECTIONNER o.customer_id, f.value:sku::STRING AS sku, f.value:qty::NUMBER AS quantity, o.order_total FROM raw.orders o, LATERAL FLATTEN(input =&gt; o.line_items) f QUALIFY ROW_NUMBER() OVER ( PARTITION BY o.customer_id ORDER BY o.order_total DESC ) &lt;= 3;<\/code><\/pre>\n\n\n\n<p>Une analyse correcte de la lign\u00e9e de cette affirmation doit \u00e9tablir que <code>r\u00e9f\u00e9rence<\/code> et <code>quantit\u00e9<\/code> d\u00e9river de <code>raw.orders.line_items<\/code> colonne VARIANT \u00e0 travers un <code>APLATIR<\/code> fonction de table et un cast; cela <code>identifiant_client<\/code> et <code>total de la commande<\/code> couler directement; et que le <code>QUALIFIER<\/code> cette clause rend <code>identifiant_client<\/code> et <code>total de la commande<\/code> Le jeu de r\u00e9sultats est remodel\u00e9 une seconde fois, en fonction des influences du filtrage des lignes, et non du flux de donn\u00e9es. L&#039;analyseur Snowflake de SQLFlow mod\u00e9lise l&#039;ensemble de ces op\u00e9rations, car le moteur de tra\u00e7abilit\u00e9 sous-jacent (le m\u00eame) le fait. <a href=\"https:\/\/www.sqlparser.com\/\">Analyseur SQL g\u00e9n\u00e9ral<\/a> Le moteur (valid\u00e9 par rapport \u00e0 environ 13 600 configurations de test par dialecte) r\u00e9sout chaque r\u00e9f\u00e9rence de colonne \u00e0 travers le mod\u00e8le s\u00e9mantique complet de l&#039;instruction.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Lign\u00e9e directe vs lign\u00e9e indirecte\u00a0: pourquoi la qualification est importante<\/h2>\n\n\n\n<p>Que <code>QUALIFIER<\/code> Cette clause illustre une distinction que la plupart des outils de g\u00e9n\u00e9alogie omettent. <strong>lign\u00e9e directe<\/strong> est le flux de donn\u00e9es\u00a0: <code>commandes.total_commande<\/code> atterrit dans <code>top_customer_orders.order_total<\/code>. <strong>lign\u00e9e indirecte<\/strong> est l&#039;influence : <code>total de la commande<\/code> Il d\u00e9termine \u00e9galement quelles lignes survivent au filtrage par fen\u00eatre\u00a0; par cons\u00e9quent, toute modification de son calcul affecte le r\u00e9sultat, m\u00eame pour les colonnes qu\u2019il ne traite jamais. SQLFlow enregistre les lign\u00e9es directes et indirectes comme des types de relations distincts et activables s\u00e9par\u00e9ment. Pour l\u2019analyse d\u2019impact sur Snowflake \u2014 o\u00f9 <code>QUALIFIER<\/code>, <code>O\u00d9<\/code>, conditions de jonction, et <code>GROUPER PAR<\/code> Les cl\u00e9s v\u00e9hiculent une v\u00e9ritable logique commerciale \u2014 cette distinction fait la diff\u00e9rence entre un rayon d&#039;explosion pr\u00e9cis et une sous-estimation rassurante.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">dbt sur Snowflake<\/h2>\n\n\n\n<p>Si vos transformations Snowflake s&#039;ex\u00e9cutent via dbt, SQLFlow importe les <strong>Manifeste DBT<\/strong> SQLFlow g\u00e9n\u00e8re directement une tra\u00e7abilit\u00e9 au niveau des colonnes de vos mod\u00e8les, plus d\u00e9taill\u00e9e que le graphique mod\u00e8le \u00e0 mod\u00e8le fourni par la documentation de dbt. Comme SQLFlow ing\u00e8re \u00e9galement les donn\u00e9es de l&#039;entrep\u00f4t de donn\u00e9es (DDL, vues, historique des requ\u00eates), vous pouvez faire correspondre la configuration d\u00e9clar\u00e9e dans votre projet dbt avec celle ex\u00e9cut\u00e9e par votre compte Snowflake\u00a0: le CTAS ad hoc ex\u00e9cut\u00e9 autour de dbt appara\u00eet \u00e0 c\u00f4t\u00e9 des mod\u00e8les, dans le m\u00eame graphique.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Comment obtenir la tra\u00e7abilit\u00e9 des donn\u00e9es Snowflake\u00a0: trois voies<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Chemin<\/th><th>Saisir<\/th><th>Id\u00e9al pour<\/th><\/tr><\/thead><tbody>\n<tr><td><a href=\"https:\/\/sqlflow.gudusoft.com\/?utm_source=gudusoft&amp;utm_medium=website&amp;utm_campaign=snowflake-data-lineage\">SQLFlow Cloud<\/a><\/td><td>Collez du code SQL, t\u00e9l\u00e9chargez des fichiers, connectez des sources dans le navigateur<\/td><td>Je l&#039;essaie aujourd&#039;hui\u00a0; pour des requ\u00eates et des projets individuels. Version gratuite\u00a0; version premium \u00e0 49,99\u00a0\u20ac\/mois.<\/td><\/tr>\n<tr><td><a href=\"https:\/\/www.gudusoft.com\/fr\/sqlflow-on-premise-version\/\">SQLFlow sur site<\/a><\/td><td>Historique des requ\u00eates, DDL, manifestes dbt \u2014 tout cela au sein de votre r\u00e9seau<\/td><td>Environnements r\u00e9glement\u00e9s o\u00f9 les requ\u00eates SQL ne doivent pas quitter votre infrastructure. Docker\/Kubernetes\u00a0; 1\u00a0TP3T500\/mois ou 1\u00a0TP3T4\u00a0800 en une seule fois par type de base de donn\u00e9es.<\/td><\/tr>\n<tr><td>API REST \/ Biblioth\u00e8que Java \/ Widget JS<\/td><td>Analyse programmatique et diagrammes int\u00e9gr\u00e9s<\/td><td>Int\u00e9grer la tra\u00e7abilit\u00e9 \u00e0 votre propre plateforme ou catalogue.<\/td><\/tr>\n<\/tbody><\/table><\/figure>\n\n\n\n<p>\u00c0 l&#039;\u00e9chelle de l&#039;entreprise, SQLFlow effectue des analyses par lots de plus de 100 bases de donn\u00e9es et de plus d&#039;un million de colonnes gr\u00e2ce \u00e0 des analyses incr\u00e9mentales et un r\u00e9f\u00e9rentiel de tra\u00e7abilit\u00e9 persistant, et exporte vers <strong>DataHub, Microsoft Purview et OpenMetadata<\/strong> Ainsi, la tra\u00e7abilit\u00e9 Snowflake peut \u00eatre int\u00e9gr\u00e9e au catalogue que vous utilisez d\u00e9j\u00e0. Les plateformes de catalogue excellent dans l&#039;inventaire, la gestion des droits et la d\u00e9couverte au sein de votre infrastructure. Pour analyser le SQL complexe et obtenir des liens pr\u00e9cis au niveau des colonnes, elles b\u00e9n\u00e9ficient d&#039;un moteur sp\u00e9cialis\u00e9. La confidentialit\u00e9 est garantie\u00a0: SQLFlow effectue uniquement une analyse statique du code SQL et des m\u00e9tadonn\u00e9es du sch\u00e9ma, et ne lit jamais les lignes de vos tables Snowflake.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Au-del\u00e0 de Snowflake\u00a0: un graphe de lign\u00e9e \u00e0 travers 39 dialectes<\/h2>\n\n\n\n<p>Rares sont les comptes Snowflake qui fonctionnent de mani\u00e8re isol\u00e9e. Les environnements comprennent g\u00e9n\u00e9ralement un ancien syst\u00e8me Oracle ou SQL Server alimentant l&#039;entrep\u00f4t de donn\u00e9es, des t\u00e2ches Spark ou Databricks en parall\u00e8le, et une couche SQL de BI par-dessus. SQLFlow int\u00e8gre des analyseurs syntaxiques sp\u00e9cifiques \u00e0 chaque dialecte pour 39 bases de donn\u00e9es et moteurs de requ\u00eates\u00a0; ainsi, le m\u00eame moteur qui lit l&#039;historique de vos requ\u00eates Snowflake g\u00e8re \u00e9galement\u2026 <a href=\"https:\/\/www.gudusoft.com\/fr\/lignee-de-donnees-bigquery\/\">Tra\u00e7abilit\u00e9 des donn\u00e9es BigQuery<\/a> et <a href=\"https:\/\/www.gudusoft.com\/fr\/lignee-des-donnees-databricks\/\">Lign\u00e9e de Databricks et Spark SQL<\/a>ainsi que des sources riches en proc\u00e9dures stock\u00e9es comme Oracle PL\/SQL et T-SQL, y compris le SQL dynamique au sein des proc\u00e9dures. Cela est particuli\u00e8rement important lors des migrations vers Snowflake, car le graphe de d\u00e9pendances du syst\u00e8me existant doit \u00eatre cartographi\u00e9 avant la migration. Pour une description compl\u00e8te du fonctionnement du moteur, consultez la documentation. <a href=\"https:\/\/www.gudusoft.com\/fr\/outil-de-lignee-de-donnees-sql\/\">Pr\u00e9sentation de l&#039;outil de tra\u00e7abilit\u00e9 des donn\u00e9es SQL<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Foire aux questions<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Est-il possible d&#039;obtenir la lign\u00e9e au niveau des colonnes \u00e0 partir des seules vues ACCOUNT_USAGE de Snowflake\u00a0?<\/h3>\n\n\n<p>Non. La t\u00e9l\u00e9m\u00e9trie d&#039;utilisation des comptes fournit l&#039;historique d&#039;acc\u00e8s au niveau des tables\u00a0: quels objets une requ\u00eate a lus et \u00e9crits. La tra\u00e7abilit\u00e9 des transformations au niveau des colonnes (quelles colonnes sources alimentent quelles colonnes de sortie, via quelles fonctions et quels filtres) n\u00e9cessite l&#039;analyse du texte SQL des instructions elles-m\u00eames, ce que fait SQLFlow.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Comment SQLFlow ing\u00e8re-t-il mon compte Snowflake\u00a0?<\/h3>\n\n\n<p>Plusieurs m\u00e9thodes sont possibles\u00a0: l\u2019historique des requ\u00eates Snowflake comme entr\u00e9e native, les m\u00e9tadonn\u00e9es de sch\u00e9ma en temps r\u00e9el via JDBC, le chargement des d\u00e9finitions DDL et des vues, le collage de SQL et les fichiers manifestes dbt. L\u2019association de l\u2019historique des requ\u00eates et des d\u00e9finitions DDL offre la meilleure solution\u00a0: elle permet de reconstituer la lign\u00e9e des instructions r\u00e9ellement ex\u00e9cut\u00e9es, avec un contexte de sch\u00e9ma complet pour l\u2019expansion en \u00e9toile et la r\u00e9solution des vues.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">SQLFlow comprend-il la syntaxe sp\u00e9cifique \u00e0 Snowflake comme FLATTEN et QUALIFY\u00a0?<\/h3>\n\n\n<p>Oui. SQLFlow utilise une grammaire Snowflake d\u00e9di\u00e9e, et non un analyseur ANSI g\u00e9n\u00e9rique. <code>Aplatissement lat\u00e9ral<\/code>, <code>QUALIFIER<\/code>, expressions de chemin VARIANT comme <code>valeur:sku::CHA\u00ceNE<\/code>, et <code>CR\u00c9ER UNE TABLE COMME S\u00c9LECTION<\/code> sont analys\u00e9es et trac\u00e9es au niveau des colonnes, les clauses de filtrage \u00e9tant captur\u00e9es comme lign\u00e9e indirecte.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Est-ce que SQLFlow lit les donn\u00e9es de mes tables Snowflake\u00a0?<\/h3>\n\n\n<p>Non. SQLFlow effectue une analyse statique du code SQL et peut lire les m\u00e9tadonn\u00e9es du sch\u00e9ma (d\u00e9finitions des tables et des colonnes). Il ne lit jamais les lignes des tables. Avec l&#039;\u00e9dition sur site, m\u00eame votre code SQL reste au sein de votre r\u00e9seau, ce qui est important si votre historique de requ\u00eates contient des donn\u00e9es sensibles.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Puis-je exporter la lign\u00e9e Snowflake vers mon catalogue de donn\u00e9es\u00a0?<\/h3>\n\n\n<p>Oui. Les d\u00e9ploiements en entreprise incluent des adaptateurs d&#039;exportation pour DataHub, Microsoft Purview et OpenMetadata, ainsi que des exportations JSON, CSV et PNG et une API REST pour les int\u00e9grations personnalis\u00e9es.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Quel est le co\u00fbt de Snowflake Lineage avec SQLFlow\u00a0?<\/h3>\n\n\n<p>SQLFlow Cloud est gratuit au d\u00e9part\u00a0; la version Premium co\u00fbte 49,99\u00a0TP3T\/mois. SQLFlow On-Premise co\u00fbte 500\u00a0TP3T\/mois ou 4\u00a0800\u00a0TP3T en une seule fois par type de base de donn\u00e9es s\u00e9lectionn\u00e9 (Snowflake compte comme un seul type), et peut \u00eatre install\u00e9 sur deux serveurs. Voir <a href=\"https:\/\/www.gudusoft.com\/fr\/tarification\/\">tarification<\/a> pour plus de d\u00e9tails.<\/p>\n\n\n\n<div class=\"wp-block-group alignfull has-background is-layout-constrained\" style=\"background-color:#60d5f6;padding-top:32px;padding-bottom:32px\"><div class=\"wp-block-group__inner-container\">\n\n<h2 class=\"wp-block-heading\">Cartographiez votre lign\u00e9e Snowflake d\u00e8s aujourd&#039;hui<\/h2>\n\n\n<p>Collez une requ\u00eate Snowflake dans le visualiseur gratuit, ou contactez-nous pour analyser votre historique de requ\u00eates et l&#039;ensemble de votre infrastructure.<\/p>\n\n\n<div class=\"wp-block-buttons is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/sqlflow.gudusoft.com\/?utm_source=gudusoft&amp;utm_medium=website&amp;utm_campaign=snowflake-data-lineage\" target=\"_blank\" rel=\"noreferrer noopener\">Essayez SQLFlow gratuitement<\/a><\/div>\n<\/div>\n\n\n<div class=\"wp-block-buttons is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/www.gudusoft.com\/fr\/contact\/\">Demander une d\u00e9monstration pour entreprises<\/a><\/div>\n<\/div>\n\n<\/div><\/div>\n\n\n\n<script type=\"application\/ld+json\">{\n    \"@context\": \"https:\\\/\\\/schema.org\",\n    \"@graph\": [\n        {\n            \"@type\": \"SoftwareApplication\",\n            \"name\": \"Gudu SQLFlow\",\n            \"applicationCategory\": \"DeveloperApplication\",\n            \"applicationSubCategory\": \"SQL Data Lineage Tool\",\n            \"operatingSystem\": \"Web, Linux, Windows, macOS\",\n            \"url\": \"https:\\\/\\\/www.gudusoft.com\\\/snowflake-data-lineage\\\/\",\n            \"description\": \"Automated Snowflake data lineage: SQLFlow ingests Snowflake query history, DDL, views, and dbt manifests and produces interactive column-level lineage diagrams, including FLATTEN, QUALIFY, and indirect lineage.\",\n            \"featureList\": \"Snowflake query history ingestion, column-level lineage, indirect\\\/impact lineage, dbt manifest support, JDBC metadata ingestion, REST API, DataHub\\\/Purview\\\/OpenMetadata export, AI lineage query\",\n            \"softwareVersion\": \"8.2.3\",\n            \"offers\": [\n                {\n                    \"@type\": \"Offer\",\n                    \"name\": \"SQLFlow Cloud Free\",\n                    \"price\": \"0\",\n                    \"priceCurrency\": \"USD\"\n                },\n                {\n                    \"@type\": \"Offer\",\n                    \"name\": \"SQLFlow Cloud Premium\",\n                    \"price\": \"49.99\",\n                    \"priceCurrency\": \"USD\",\n                    \"priceSpecification\": {\n                        \"@type\": \"UnitPriceSpecification\",\n                        \"price\": \"49.99\",\n                        \"priceCurrency\": \"USD\",\n                        \"billingIncrement\": 1,\n                        \"unitText\": \"MONTH\"\n                    }\n                },\n                {\n                    \"@type\": \"Offer\",\n                    \"name\": \"SQLFlow On-Premise\",\n                    \"price\": \"4800\",\n                    \"priceCurrency\": \"USD\"\n                }\n            ],\n            \"publisher\": {\n                \"@type\": \"Organization\",\n                \"name\": \"Gudu Software\",\n                \"url\": \"https:\\\/\\\/www.gudusoft.com\\\/\"\n            }\n        },\n        {\n            \"@type\": \"FAQPage\",\n            \"mainEntity\": [\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Can I get column-level lineage from Snowflake's ACCOUNT_USAGE views alone?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"No. Account-usage telemetry gives you table-level access history. Column-level transform lineage requires parsing the SQL text of the statements themselves, which is what SQLFlow does.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"How does SQLFlow ingest my Snowflake account?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Snowflake query history as a native input, live schema metadata over JDBC, uploaded DDL and view definitions, pasted SQL, and dbt manifest files. Query history plus DDL gives lineage built from statements that actually ran, with full schema context.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Does SQLFlow understand Snowflake-specific syntax like FLATTEN and QUALIFY?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Yes. SQLFlow uses a dedicated Snowflake grammar, so LATERAL FLATTEN, QUALIFY, VARIANT path expressions, and CREATE TABLE AS SELECT are parsed and traced at column level, with filter clauses captured as indirect lineage.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Does SQLFlow read the data in my Snowflake tables?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"No. SQLFlow performs static analysis of SQL code and optionally reads schema metadata. It never reads table rows. With the On-Premise edition, even your SQL text stays inside your network.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Can I export Snowflake lineage to my data catalog?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Yes. Enterprise deployments include export adapters for DataHub, Microsoft Purview, and OpenMetadata, plus JSON, CSV, and PNG exports and a REST API for custom integrations.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"What does Snowflake lineage with SQLFlow cost?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"SQLFlow Cloud starts free; premium is $49.99\\\/month. SQLFlow On-Premise is $500\\\/month or $4,800 one-time per selected database type, installable on two servers.\"\n                    }\n                }\n            ]\n        }\n    ]\n}<\/script>","protected":false},"excerpt":{"rendered":"<p>Snowflake data lineage is the column-level map of how data moves through your Snowflake account: which source tables and columns feed each target table, view, or dashboard, and which transformations \u2014 joins, FLATTEN expansions, window functions, filters \u2014 happen along the way. Snowflake&#8217;s ACCOUNT_USAGE views tell you which objects were accessed, but they stop at table-level access history; to know how one column was computed from another, you have to parse the SQL itself. Gudu SQLFlow does exactly that: it ingests your Snowflake query history, DDL, and views, parses every statement with a Snowflake-specific grammar, and produces an interactive column-level\u2026<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":5}},"_links":{"self":[{"href":"https:\/\/www.gudusoft.com\/fr\/wp-json\/wp\/v2\/pages\/2906"}],"collection":[{"href":"https:\/\/www.gudusoft.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.gudusoft.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.gudusoft.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gudusoft.com\/fr\/wp-json\/wp\/v2\/comments?post=2906"}],"version-history":[{"count":30,"href":"https:\/\/www.gudusoft.com\/fr\/wp-json\/wp\/v2\/pages\/2906\/revisions"}],"predecessor-version":[{"id":6749,"href":"https:\/\/www.gudusoft.com\/fr\/wp-json\/wp\/v2\/pages\/2906\/revisions\/6749"}],"wp:attachment":[{"href":"https:\/\/www.gudusoft.com\/fr\/wp-json\/wp\/v2\/media?parent=2906"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}