{"id":6750,"date":"2026-07-12T02:06:00","date_gmt":"2026-07-12T10:06:00","guid":{"rendered":"https:\/\/www.gudusoft.com\/bigquery-data-lineage\/"},"modified":"2026-07-12T02:06:00","modified_gmt":"2026-07-12T10:06:00","slug":"bigquery-data-lineage","status":"publish","type":"page","link":"https:\/\/www.gudusoft.com\/fr\/lignee-de-donnees-bigquery\/","title":{"rendered":"Tra\u00e7abilit\u00e9 des donn\u00e9es BigQuery\u00a0: Tra\u00e7abilit\u00e9 au niveau des colonnes pour Google BigQuery SQL"},"content":{"rendered":"<p><strong>Tra\u00e7abilit\u00e9 des donn\u00e9es BigQuery<\/strong> Il s&#039;agit de la cartographie du flux de donn\u00e9es au sein de votre projet BigQuery\u00a0: quelles tables et colonnes sources alimentent chaque table d\u00e9riv\u00e9e, vue et requ\u00eate planifi\u00e9e, et quelles expressions transforment les donn\u00e9es tout au long du processus. Google Dataplex capture automatiquement la lign\u00e9e des t\u00e2ches BigQuery au niveau de la table\u00a0; pour voir quelles <em>colonnes<\/em> Vous devez analyser le SQL lui-m\u00eame, en fonction des fonctions et des jointures utilis\u00e9es. <strong>Gudu SQLFlow<\/strong> fait exactement cela, avec un analyseur syntaxique d\u00e9di\u00e9 au dialecte BigQuery qui r\u00e9sout les d\u00e9pendances imbriqu\u00e9es. <code>STRUCT<\/code> champs, <code>D\u00c9NICHE<\/code>, expansion des \u00e9toiles et cha\u00eenes de vues jusqu&#039;\u00e0 la granularit\u00e9 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>Essayez en 30 secondes\u00a0:<\/strong> collez n&#039;importe quelle requ\u00eate BigQuery dans le <a href=\"https:\/\/sqlflow.gudusoft.com\/?utm_source=gudusoft&amp;utm_medium=website&amp;utm_campaign=bigquery-data-lineage\" target=\"_blank\" rel=\"noreferrer noopener\">Visualiseur de lignage SQLFlow gratuit<\/a>S\u00e9lectionnez le dialecte BigQuery et obtenez un diagramme de tra\u00e7abilit\u00e9 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\">Pourquoi la tra\u00e7abilit\u00e9 de BigQuery est plus complexe qu&#039;il n&#039;y para\u00eet<\/h2>\n\n\n\n<p>Le SQL de BigQuery n&#039;est pas un SQL ANSI g\u00e9n\u00e9rique. Trois fonctionnalit\u00e9s en particulier rendent inutilisables les outils de tra\u00e7abilit\u00e9 qui reposent sur une grammaire unique\u00a0:<\/p>\n\n\n\n<ul><li><strong>Colonnes imbriqu\u00e9es et r\u00e9p\u00e9t\u00e9es.<\/strong> Une seule colonne BigQuery peut \u00eatre une <code>STRUCT<\/code> contenant d&#039;autres champs, ou un <code>TABLEAU<\/code> des structures. La v\u00e9ritable lign\u00e9e doit aller \u00e0 l&#039;int\u00e9rieur\u00a0: <code>commandes.client.email<\/code> est un n\u0153ud de lignage diff\u00e9rent de <code>commandes.client.pays<\/code>, m\u00eame s&#039;ils vivent tous deux dans la m\u00eame colonne physique.<\/li>\n<li><strong><code>D\u00c9NICHE<\/code>.<\/strong> L&#039;aplatissement d&#039;un champ r\u00e9p\u00e9t\u00e9 transforme une ligne en plusieurs et introduit une relation d\u00e9riv\u00e9e en cours de requ\u00eate. Un analyseur syntaxique qui ne mod\u00e9lise pas <code>D\u00c9NICHE<\/code> perd le lien entre l&#039;alias aplati et le champ du tableau dont il provient.<\/li>\n<li><strong>Expansion stellaire.<\/strong> <code>S\u00c9LECTIONNER *<\/code> L&#039;utilisation d&#039;une cha\u00eene de vues signifie que les colonnes de sortie ne sont pas explicitement mentionn\u00e9es dans la requ\u00eate. Leur r\u00e9solution n\u00e9cessite les d\u00e9finitions des tables et des vues, et non la seule instruction affich\u00e9e.<\/li><\/ul>\n\n\n\n<p>SQLFlow int\u00e8gre un analyseur syntaxique sp\u00e9cifique \u00e0 BigQuery (l&#039;un des <a href=\"https:\/\/www.gudusoft.com\/fr\/outil-de-lignee-de-donnees-sql\/\">39 analyseurs syntaxiques sp\u00e9cifiques \u00e0 un dialecte<\/a> Le produit ne contient pas une seule grammaire g\u00e9n\u00e9rique qui g\u00e8re les trois. Il r\u00e9sout chaque r\u00e9f\u00e9rence de colonne via des CTE, des sous-requ\u00eates, des vues et l&#039;expansion en \u00e9toile, et il mod\u00e9lise les structures imbriqu\u00e9es. <code>STRUCT<\/code> champs en tant que n\u0153uds de lignage de premi\u00e8re classe.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Dataplex vous fournit la tra\u00e7abilit\u00e9 des t\u00e2ches au niveau de la table. Et apr\u00e8s ?<\/h2>\n\n\n\n<p>Dataplex (la couche de gouvernance des donn\u00e9es de Google Cloud) est vraiment performante\u00a0: elle observe l\u2019ex\u00e9cution des t\u00e2ches BigQuery et enregistre les tables lues et \u00e9crites par chaque t\u00e2che. Si vous souhaitez savoir qu\u2019une requ\u00eate planifi\u00e9e remplit\u2026 <code>dw.revenu_quotidien<\/code> depuis <code>commandes brutes<\/code>Dataplex vous le dit d\u00e9j\u00e0.<\/p>\n\n\n\n<p>L&#039;observation des t\u00e2ches en cours d&#039;ex\u00e9cution ne permet pas de conna\u00eetre la logique de transformation entre ces tables\u00a0: quelles colonnes sources alimentent quelles colonnes de sortie, et par quelles expressions, filtres et jointures. Ces informations se trouvent uniquement dans le texte SQL\u00a0; leur extraction n\u00e9cessite donc une analyse syntaxique. Les deux approches r\u00e9pondent \u00e0 des questions diff\u00e9rentes.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Question<\/th><th>Lign\u00e9e des emplois Dataplex<\/th><th>Lign\u00e9e analys\u00e9e par SQLFlow<\/th><\/tr><\/thead><tbody>\n<tr><td>Quelles tables ce travail concerne-t-il\u00a0?<\/td><td>Oui, automatiquement, \u00e0 chaque ex\u00e9cution de t\u00e2che<\/td><td>Oui, \u00e0 partir de SQL<\/td><\/tr>\n<tr><td>Quelles colonnes alimentent <code>revenu_quotidien.total<\/code>?<\/td><td>Non \u2014 granularit\u00e9 du tableau<\/td><td>Oui, par colonne de sortie<\/td><\/tr>\n<tr><td>Quelle expression calcule chaque colonne de sortie\u00a0?<\/td><td>Non<\/td><td>Oui : fonctions, conversions de type, agr\u00e9gats<\/td><\/tr>\n<tr><td>Quelles colonnes servent uniquement \u00e0 filtrer ou \u00e0 joindre (traduction indirecte)\u00a0?<\/td><td>Non<\/td><td>Oui, sous forme de couche activable\/d\u00e9sactivable distincte<\/td><\/tr>\n<tr><td>Tra\u00e7abilit\u00e9 des requ\u00eates SQL qui n&#039;ont pas encore \u00e9t\u00e9 ex\u00e9cut\u00e9es (revue de code, migration)<\/td><td>Non \u2014 n\u00e9cessite un travail ex\u00e9cut\u00e9<\/td><td>Oui \u2014 analyse statique du texte SQL<\/td><\/tr>\n<\/tbody><\/table><\/figure>\n\n\n\n<p>Les \u00e9quipes utilisent g\u00e9n\u00e9ralement les deux : Dataplex pour l&#039;inventaire des t\u00e2ches toujours \u00e0 jour, et l&#039;analyse SQL lorsqu&#039;elles doivent r\u00e9pondre \u00e0 des questions comme \u00ab qu&#039;est-ce qui ne fonctionnera pas si je modifie cette colonne \u00bb ou \u00ab d&#039;o\u00f9 vient exactement ce nombre \u00bb avec une pr\u00e9cision au niveau de la colonne.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Exemple fonctionnel\u00a0: CREATE TABLE AS SELECT WITH UNNEST<\/h2>\n\n\n\n<p>Voici un mod\u00e8le typique de BigQuery\u00a0: la cr\u00e9ation d&#039;une table de revenus plate \u00e0 partir d&#039;une table de commandes avec une colonne r\u00e9p\u00e9t\u00e9e. <code>articles de ligne<\/code> structure.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CREATE TABLE dw.order_line_revenue AS SELECT o.order_id, o.customer.email AS customer_email, li.product_id, li.qty * li.unit_price AS line_revenue FROM raw.orders AS o, UNNEST(o.line_items) AS li WHERE o.status = &#039;COMPLETE&#039;;<\/code><\/pre>\n\n\n\n<p>Int\u00e9grez ces donn\u00e9es dans SQLFlow et voici la lign\u00e9e au niveau des colonnes qu&#039;il produit\u00a0:<\/p>\n\n\n\n<ul><li><code>order_line_revenue.customer_email<\/code> provient du champ imbriqu\u00e9 <code>raw.orders.customer.email<\/code> \u2014 un membre de la structure, pas la structure enti\u00e8re <code>client<\/code> colonne.<\/li>\n<li><code>revenu_ligne_commande.revenu_ligne<\/code> vient de <code>raw.orders.line_items.qty<\/code> et <code>raw.orders.line_items.unit_price<\/code>, \u00e0 travers le <code>D\u00c9NICHE<\/code> alias <code>li<\/code> et une multiplication. Les deux champs sources se trouvent \u00e0 l&#039;int\u00e9rieur d&#039;une structure r\u00e9p\u00e9t\u00e9e\u00a0; SQLFlow effectue un suivi lors de l&#039;aplatissement.<\/li>\n<li><code>statut des commandes brutes<\/code> appara\u00eet comme <strong>lign\u00e9e indirecte<\/strong>: il n&#039;appara\u00eet jamais dans la sortie, mais le <code>O\u00d9<\/code> Le filtre influence chaque ligne du r\u00e9sultat. SQLFlow mod\u00e9lise le flux de donn\u00e9es direct et l&#039;influence indirecte (colonnes WHERE, JOIN, GROUP BY) comme des types de relations distincts que vous pouvez activer ou d\u00e9sactiver s\u00e9par\u00e9ment dans le diagramme\u00a0\u2014 une distinction que la plupart des outils de tra\u00e7abilit\u00e9 ne font pas.<\/li><\/ul>\n\n\n\n<p>La filiation indirecte est plus importante qu&#039;il n&#039;y para\u00eet. Si quelqu&#039;un modifie les valeurs de l&#039;\u00e9num\u00e9ration dans <code>statut<\/code>, un outil de lign\u00e9e purement directe, selon <code>revenu_ligne<\/code> est inchang\u00e9. Ce n&#039;est pas le cas\u00a0: tous les chiffres de revenus en aval sont modifi\u00e9s. Une analyse d&#039;impact sans prise en compte de la cha\u00eene de valeur indirecte est une analyse d&#039;impact comportant des angles morts.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Suivi des requ\u00eates planifi\u00e9es et des cha\u00eenes de vues<\/h2>\n\n\n\n<p>Dans la plupart des environnements BigQuery, la tra\u00e7abilit\u00e9 int\u00e9ressante ne se r\u00e9sume pas \u00e0 une seule instruction, mais \u00e0 une cha\u00eene\u00a0: des tables brutes, puis une couche de vues, puis une requ\u00eate planifi\u00e9e qui g\u00e9n\u00e8re une table de reporting, et enfin d&#039;autres vues. Chaque maillon pris individuellement est facile \u00e0 comprendre\u00a0; le cheminement complet, d&#039;une colonne source \u00e0 un champ du tableau de bord, ne l&#039;est pas.<\/p>\n\n\n\n<p>SQLFlow analyse l&#039;ensemble des donn\u00e9es. Fournissez-lui le DDL de la vue ainsi que la requ\u00eate SQL planifi\u00e9e (collage, chargement de fichier, m\u00e9tadonn\u00e9es en direct via JDBC, manifeste dbt ou extraction de m\u00e9tadonn\u00e9es Grabit) et il assemble la cha\u00eene\u00a0: les r\u00e9f\u00e9rences entre vues sont r\u00e9solues. <code>S\u00c9LECTIONNER *<\/code> Le diagramme s&#039;appuie sur les sch\u00e9mas r\u00e9els \u00e0 chaque niveau et permet de cliquer sur n&#039;importe quelle colonne de sortie pour remonter la cha\u00eene jusqu&#039;aux colonnes sources des tables brutes, en passant par toutes les vues interm\u00e9diaires. L&#039;exportation se fait aux formats JSON, CSV ou PNG, ou par programmation via l&#039;API REST. Les d\u00e9ploiements en entreprise int\u00e8grent la tra\u00e7abilit\u00e9 dans DataHub, Microsoft Purview ou OpenMetadata.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Diagrammes ER \u00e0 partir de contraintes NON APPLIQU\u00c9ES<\/h2>\n\n\n\n<p>BigQuery ne prend en charge que les cl\u00e9s primaires et \u00e9trang\u00e8res. <code>NON APPLIQU\u00c9<\/code> Les contraintes, d\u00e9clar\u00e9es dans le DDL pour l&#039;optimiseur et la documentation, ne sont jamais v\u00e9rifi\u00e9es lors de l&#039;\u00e9criture. Comme elles ne sont pas appliqu\u00e9es, de nombreuses \u00e9quipes les consid\u00e8rent comme des m\u00e9tadonn\u00e9es inutiles. Or, ce n&#039;est pas le cas\u00a0: ce sont pr\u00e9cis\u00e9ment les d\u00e9clarations de relations dont un diagramme ER a besoin.<\/p>\n\n\n\n<p>L&#039;inf\u00e9rence ER de SQLFlow comprend celle de BigQuery. <code>NON APPLIQU\u00c9<\/code> Mod\u00e8le PK\/FK\u00a0: ex\u00e9cutez votre DDL avec cet outil, et il g\u00e9n\u00e8re le diagramme entit\u00e9-relation \u00e0 partir de contraintes telles que\u2026 <code>L&#039;ajout de la cl\u00e9 primaire (order_id) n&#039;est pas obligatoire.<\/code> et l&#039;appariement <code>CL\u00c9 \u00c9TRANG\u00c8RE\u2026 R\u00c9F\u00c9RENCES\u2026 NON APPLIQU\u00c9ES<\/code> d\u00e9clarations. Le r\u00e9sultat est un mod\u00e8le ER de votre entrep\u00f4t g\u00e9n\u00e9r\u00e9 directement \u00e0 partir du DDL que vous poss\u00e9dez d\u00e9j\u00e0, pour les sch\u00e9mas dont la documentation des relations n&#039;existe probablement nulle part ailleurs.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Quelles \u00e9quipes utilisent la tra\u00e7abilit\u00e9 des donn\u00e9es BigQuery pour<\/h2>\n\n\n\n<ul><li><strong>Analyse d&#039;impact avant les modifications de sch\u00e9ma\u00a0:<\/strong> Trouvez toutes les requ\u00eates, vues et rapports planifi\u00e9s qu&#039;une colonne alimente r\u00e9ellement, y compris via <code>D\u00c9NICHE<\/code> et l&#039;acc\u00e8s \u00e0 la structure \u2014 avant de la renommer ou de la retaper.<\/li>\n<li><strong>D\u00e9bogage des num\u00e9ros erron\u00e9s\u00a0:<\/strong> Remonter la cha\u00eene de vues \u00e0 partir d&#039;une m\u00e9trique du tableau de bord jusqu&#039;aux champs sources et expressions exacts qui l&#039;ont produite.<\/li>\n<li><strong>Planification des migrations :<\/strong> Lors de l&#039;importation ou de l&#039;exportation de donn\u00e9es vers BigQuery, le graphe de d\u00e9pendances indique l&#039;ordre d&#039;importation et les \u00e9l\u00e9ments pouvant \u00eatre laiss\u00e9s en attente sans risque. SQLFlow construit le m\u00eame graphe au niveau des colonnes pour\u2026 <a href=\"https:\/\/www.gudusoft.com\/fr\/lignee-de-donnees-de-flocon-de-neige\/\">Flocon de neige<\/a> et <a href=\"https:\/\/www.gudusoft.com\/fr\/lignee-de-donnees-redshift\/\">Amazon Redshift<\/a>, afin que les migrations entre entrep\u00f4ts puissent \u00eatre cartographi\u00e9es des deux c\u00f4t\u00e9s avec un seul outil.<\/li>\n<li><strong>Conformit\u00e9 et audit :<\/strong> prouver quels champs sources alimentent une sortie r\u00e9glement\u00e9e avec la granularit\u00e9 de colonne demand\u00e9e par les auditeurs, g\u00e9n\u00e9r\u00e9e \u00e0 partir du SQL plut\u00f4t que g\u00e9r\u00e9e manuellement.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Confidentialit\u00e9, d\u00e9ploiement et tarification<\/h2>\n\n\n\n<p>SQLFlow effectue uniquement une analyse statique du code SQL et des m\u00e9tadonn\u00e9es du sch\u00e9ma. Il ne lit jamais les lignes de vos tables BigQuery et ne n\u00e9cessite pas de compte de service avec acc\u00e8s aux donn\u00e9es\u00a0: le texte SQL et le DDL suffisent. SQLFlow Cloud propose une version gratuite (la version premium est \u00e0 $49,99\u00a0\u20ac\/mois). Pour les environnements r\u00e9glement\u00e9s, <a href=\"https:\/\/www.gudusoft.com\/fr\/sqlflow-on-premise-version\/\">SQLFlow sur site<\/a> Ex\u00e9cution sur Docker ou Kubernetes au sein de votre r\u00e9seau, isol\u00e9 du r\u00e9seau physique si n\u00e9cessaire, \u00e0 $500\/mois ou $4\u00a0800 en une seule fois par type de base de donn\u00e9es s\u00e9lectionn\u00e9\u00a0; tous les d\u00e9tails sont disponibles sur le site web. <a href=\"https:\/\/www.gudusoft.com\/fr\/tarification\/\">page de tarification<\/a>. D\u00e9ploiements d&#039;entreprise\u00a0: analyses par lots de plus de 100 bases de donn\u00e9es et de plus d&#039;un million de colonnes avec analyses incr\u00e9mentales et un r\u00e9f\u00e9rentiel de lignage persistant.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Foire aux questions<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Dataplex ne me fournit-il pas d\u00e9j\u00e0 la tra\u00e7abilit\u00e9 de BigQuery\u00a0?<\/h3>\n\n\n<p>Oui, au niveau des tables. Dataplex enregistre automatiquement les tables lues et \u00e9crites par chaque t\u00e2che BigQuery, ce qui constitue un inventaire complet des t\u00e2ches. Il n&#039;extrait cependant pas la logique de transformation SQL (quelles colonnes alimentent quelles autres, et par quelles expressions). Pour cela, un outil d&#039;analyse SQL est n\u00e9cessaire, comme SQLFlow.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">SQLFlow peut-il retracer la lign\u00e9e \u00e0 travers les colonnes STRUCT et ARRAY\u00a0?<\/h3>\n\n\n<p>Oui. L&#039;analyseur BigQuery mod\u00e9lise les champs de structure imbriqu\u00e9s comme des n\u0153uds de lignage individuels, donc <code>email client<\/code> et <code>client.pays<\/code> ont une lign\u00e9e distincte et retracent les champs \u00e0 travers <code>D\u00c9NICHE<\/code> Aplatissement des colonnes r\u00e9p\u00e9t\u00e9es.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Comment SQLFlow g\u00e8re-t-il les requ\u00eates SELECT * dans les vues BigQuery\u00a0?<\/h3>\n\n\n<p>Les expressions en forme d&#039;\u00e9toile sont d\u00e9velopp\u00e9es par rapport aux d\u00e9finitions r\u00e9elles des tables et des vues, de sorte que chaque colonne implicite b\u00e9n\u00e9ficie d&#039;une tra\u00e7abilit\u00e9 explicite. Ceci fonctionne \u00e0 travers les cha\u00eenes de vues multicouches, o\u00f9 les colonnes situ\u00e9es derri\u00e8re une vue sont explicitement li\u00e9es. <code>S\u00c9LECTIONNER *<\/code> peut \u00eatre d\u00e9fini plusieurs points de vue en amont.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Peut-il \u00e9tablir un lien de causalit\u00e9 entre les requ\u00eates planifi\u00e9es et les vues ?<\/h3>\n\n\n<p>Oui. Analysez le SQL de la requ\u00eate planifi\u00e9e et visualisez le DDL comme une seule t\u00e2che, et SQLFlow assemble la cha\u00eene de bout en bout, ce qui vous permet de retracer une colonne de reporting \u00e0 travers la requ\u00eate de mat\u00e9rialisation et chaque vue interm\u00e9diaire jusqu&#039;aux colonnes sources brutes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">SQLFlow a-t-il besoin d&#039;acc\u00e9der \u00e0 mes donn\u00e9es BigQuery\u00a0?<\/h3>\n\n\n<p>Non. Il s&#039;agit d&#039;une analyse statique\u00a0: le texte SQL et les m\u00e9tadonn\u00e9es de sch\u00e9ma optionnelles. Les donn\u00e9es des lignes de la table ne sont jamais lues. En mode sur site, m\u00eame le texte SQL reste au sein de votre r\u00e9seau.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Combien co\u00fbte SQLFlow\u00a0?<\/h3>\n\n\n<p>SQLFlow Cloud est gratuit\u00a0; les comptes premium co\u00fbtent 49,99\u00a0\u00a3\/mois. SQLFlow On-Premise co\u00fbte 500\u00a0\u00a3\/mois ou 4\u00a0800\u00a0\u00a3 (paiement unique) par type de base de donn\u00e9es s\u00e9lectionn\u00e9, et peut \u00eatre install\u00e9 sur deux serveurs.<\/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\">Consultez d\u00e8s maintenant votre historique BigQuery<\/h2>\n\n\n<p>Collez une requ\u00eate BigQuery dans le visualiseur gratuit, ou contactez-nous pour que nous analysions l&#039;ensemble de votre projet.<\/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=bigquery-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\\\/bigquery-data-lineage\\\/\",\n            \"description\": \"Automated SQL data lineage tool with a dedicated BigQuery dialect parser: column-level lineage through STRUCT fields, UNNEST, star expansion, view chains, and scheduled queries.\",\n            \"featureList\": \"BigQuery column-level lineage, nested STRUCT field lineage, UNNEST tracing, star expansion, indirect\\\/impact lineage, ER diagrams from NOT ENFORCED constraints, dbt support, REST API, DataHub\\\/Purview\\\/OpenMetadata export\",\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\": \"Doesn't Dataplex already give me BigQuery lineage?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Yes, at the table level. Dataplex automatically records which tables each BigQuery job reads and writes. It does not extract the transform logic inside the SQL \\u2014 which columns feed which, through which expressions. For that you need a tool that parses the SQL, which is what SQLFlow does.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Can SQLFlow trace lineage through STRUCT and ARRAY columns?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Yes. The BigQuery parser models nested struct fields as individual lineage nodes, so customer.email and customer.country have separate lineage, and it traces fields through UNNEST flattening of repeated columns.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"How does SQLFlow handle SELECT * in BigQuery views?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Star expressions are expanded against the actual table and view definitions, so every implicit column gets explicit lineage, even through multi-layer view chains.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Can it map lineage across scheduled queries and views together?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Yes. Analyze the scheduled-query SQL and view DDL as one job and SQLFlow stitches the end-to-end chain from reporting columns back to raw source columns.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Does SQLFlow need access to my BigQuery data?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"No. It is static analysis of SQL text plus optional schema metadata. Table row data is never read. With the On-Premise edition, even the SQL text stays inside your network.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"What does SQLFlow cost?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"SQLFlow Cloud starts free; premium accounts are $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>BigQuery data lineage is the map of how data moves through your BigQuery project: which source tables and columns feed each derived table, view, and scheduled query, and which expressions transform the data along the way. Google&#8217;s Dataplex captures lineage automatically for BigQuery jobs at the table level; to see which columns feed which, and through which functions and joins, you have to parse the SQL itself. Gudu SQLFlow does exactly that, with a dedicated BigQuery dialect parser that resolves nested STRUCT fields, UNNEST, star expansion, and view chains down to column granularity. Try it in 30 seconds: paste any\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\/6750"}],"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=6750"}],"version-history":[{"count":0,"href":"https:\/\/www.gudusoft.com\/fr\/wp-json\/wp\/v2\/pages\/6750\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.gudusoft.com\/fr\/wp-json\/wp\/v2\/media?parent=6750"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}