datahub/assets/js/ac97fef2.0b4a111f.js
2025-08-22 14:09:31 +00:00

1 line
46 KiB
JavaScript

"use strict";(self.webpackChunkdocs_website=self.webpackChunkdocs_website||[]).push([[79024],{7653:(e,a,t)=>{t.d(a,{A:()=>n});const n={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm127.98 274.82h-.04l-.08.06L512 466.75 384.14 338.88c-.04-.05-.06-.06-.08-.06a.12.12 0 00-.07 0c-.03 0-.05.01-.09.05l-45.02 45.02a.2.2 0 00-.05.09.12.12 0 000 .07v.02a.27.27 0 00.06.06L466.75 512 338.88 639.86c-.05.04-.06.06-.06.08a.12.12 0 000 .07c0 .03.01.05.05.09l45.02 45.02a.2.2 0 00.09.05.12.12 0 00.07 0c.02 0 .04-.01.08-.05L512 557.25l127.86 127.87c.04.04.06.05.08.05a.12.12 0 00.07 0c.03 0 .05-.01.09-.05l45.02-45.02a.2.2 0 00.05-.09.12.12 0 000-.07v-.02a.27.27 0 00-.05-.06L557.25 512l127.87-127.86c.04-.04.05-.06.05-.08a.12.12 0 000-.07c0-.03-.01-.05-.05-.09l-45.02-45.02a.2.2 0 00-.09-.05.12.12 0 00-.07 0z"}}]},name:"close-circle",theme:"filled"}},4732:(e,a,t)=>{t.d(a,{A:()=>o});var n=t(89379),r=t(96540),l=t(7653),g=t(89990),i=function(e,a){return r.createElement(g.A,(0,n.A)((0,n.A)({},e),{},{ref:a,icon:l.A}))};const o=r.forwardRef(i)},15680:(e,a,t)=>{t.d(a,{xA:()=>u,yg:()=>m});var n=t(96540);function r(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function l(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,n)}return t}function g(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?l(Object(t),!0).forEach((function(a){r(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):l(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}function i(e,a){if(null==e)return{};var t,n,r=function(e,a){if(null==e)return{};var t,n,r={},l=Object.keys(e);for(n=0;n<l.length;n++)t=l[n],a.indexOf(t)>=0||(r[t]=e[t]);return r}(e,a);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)t=l[n],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var o=n.createContext({}),d=function(e){var a=n.useContext(o),t=a;return e&&(t="function"==typeof e?e(a):g(g({},a),e)),t},u=function(e){var a=d(e.components);return n.createElement(o.Provider,{value:a},e.children)},s="mdxType",y={inlineCode:"code",wrapper:function(e){var a=e.children;return n.createElement(n.Fragment,{},a)}},p=n.forwardRef((function(e,a){var t=e.components,r=e.mdxType,l=e.originalType,o=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),s=d(t),p=r,m=s["".concat(o,".").concat(p)]||s[p]||y[p]||l;return t?n.createElement(m,g(g({ref:a},u),{},{components:t})):n.createElement(m,g({ref:a},u))}));function m(e,a){var t=arguments,r=a&&a.mdxType;if("string"==typeof e||r){var l=t.length,g=new Array(l);g[0]=p;var i={};for(var o in a)hasOwnProperty.call(a,o)&&(i[o]=a[o]);i.originalType=e,i[s]="string"==typeof e?e:r,g[1]=i;for(var d=2;d<l;d++)g[d]=t[d];return n.createElement.apply(null,g)}return n.createElement.apply(null,t)}p.displayName="MDXCreateElement"},43655:(e,a,t)=>{t.d(a,{A:()=>h});var n=t(96540),r=t(20053);const l="availabilityCard_P5od",g="managedIcon_AxXO",i="platform_wqXv",o="platformAvailable_Y8lN";var d=t(4732),u=t(89379);const s={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 01-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z"}}]},name:"check-circle",theme:"filled"};var y=t(89990),p=function(e,a){return n.createElement(y.A,(0,u.A)((0,u.A)({},e),{},{ref:a,icon:s}))};const m=n.forwardRef(p);const c={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M811.4 418.7C765.6 297.9 648.9 212 512.2 212S258.8 297.8 213 418.6C127.3 441.1 64 519.1 64 612c0 110.5 89.5 200 199.9 200h496.2C870.5 812 960 722.5 960 612c0-92.7-63.1-170.7-148.6-193.3zm36.3 281a123.07 123.07 0 01-87.6 36.3H263.9c-33.1 0-64.2-12.9-87.6-36.3A123.3 123.3 0 01140 612c0-28 9.1-54.3 26.2-76.3a125.7 125.7 0 0166.1-43.7l37.9-9.9 13.9-36.6c8.6-22.8 20.6-44.1 35.7-63.4a245.6 245.6 0 0152.4-49.9c41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.2c19.9 14 37.5 30.8 52.4 49.9 15.1 19.3 27.1 40.7 35.7 63.4l13.8 36.5 37.8 10c54.3 14.5 92.1 63.8 92.1 120 0 33.1-12.9 64.3-36.3 87.7z"}}]},name:"cloud",theme:"outlined"};var N=function(e,a){return n.createElement(y.A,(0,u.A)((0,u.A)({},e),{},{ref:a,icon:c}))};const b=n.forwardRef(N),h=({saasOnly:e,ossOnly:a})=>n.createElement("div",{className:(0,r.A)(l,"card")},n.createElement("strong",null,"Feature Availability"),n.createElement("div",null,n.createElement("span",{className:(0,r.A)(i,!e&&o)},"Self-Hosted DataHub ",e?n.createElement(d.A,null):n.createElement(m,null))),n.createElement("div",null,n.createElement(b,{className:g}),n.createElement("span",{className:(0,r.A)(i,!a&&o)},"DataHub Cloud ",a?n.createElement(d.A,null):n.createElement(m,null))))},76097:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>s,contentTitle:()=>d,default:()=>c,frontMatter:()=>o,metadata:()=>u,toc:()=>y});t(96540);var n=t(15680),r=t(43655);function l(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function g(e,a){return a=null!=a?a:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):function(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,n)}return t}(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})),e}function i(e,a){if(null==e)return{};var t,n,r=function(e,a){if(null==e)return{};var t,n,r={},l=Object.keys(e);for(n=0;n<l.length;n++)t=l[n],a.indexOf(t)>=0||(r[t]=e[t]);return r}(e,a);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)t=l[n],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}const o={title:"About DataHub Lineage",sidebar_label:"Lineage",slug:"/generated/lineage/lineage-feature-guide",custom_edit_url:"https://github.com/datahub-project/datahub/blob/master/docs/generated/lineage/lineage-feature-guide.md"},d="About DataHub Lineage",u={unversionedId:"docs/generated/lineage/lineage-feature-guide",id:"version-1.1.0/docs/generated/lineage/lineage-feature-guide",title:"About DataHub Lineage",description:"Data lineage is a map that shows how data flows through your organization. It details where your data originates, how it travels, and where it ultimately ends up.",source:"@site/versioned_docs/version-1.1.0/docs/generated/lineage/lineage-feature-guide.md",sourceDirName:"docs/generated/lineage",slug:"/generated/lineage/lineage-feature-guide",permalink:"/docs/1.1.0/generated/lineage/lineage-feature-guide",draft:!1,editUrl:"https://github.com/datahub-project/datahub/blob/master/docs/generated/lineage/lineage-feature-guide.md",tags:[],version:"1.1.0",frontMatter:{title:"About DataHub Lineage",sidebar_label:"Lineage",slug:"/generated/lineage/lineage-feature-guide",custom_edit_url:"https://github.com/datahub-project/datahub/blob/master/docs/generated/lineage/lineage-feature-guide.md"},sidebar:"overviewSidebar",previous:{title:"UI Based Ingestion / Managed Ingestion",permalink:"/docs/1.1.0/ui-ingestion"},next:{title:"Lineage Impact Analysis",permalink:"/docs/1.1.0/act-on-metadata/impact-analysis"}},s={},y=[{value:"Viewing Lineage",id:"viewing-lineage",level:2},{value:"Column Level Lineage Support",id:"column-level-lineage-support",level:2},{value:"Adding Lineage",id:"adding-lineage",level:2},{value:"Ingestion Source",id:"ingestion-source",level:3},{value:"UI",id:"ui",level:3},{value:"API",id:"api",level:3},{value:"Lineage Support",id:"lineage-support",level:2},{value:"Types of Lineage Connections",id:"types-of-lineage-connections",level:3},{value:"Automatic Lineage Extraction Support",id:"automatic-lineage-extraction-support",level:3},{value:"SQL Parser Lineage Extraction",id:"sql-parser-lineage-extraction",level:3},{value:"References",id:"references",level:2}],p={toc:y},m="wrapper";function c(e){var{components:a}=e,t=i(e,["components"]);return(0,n.yg)(m,g(function(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{},n=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),n.forEach((function(a){l(e,a,t[a])}))}return e}({},p,t),{components:a,mdxType:"MDXLayout"}),(0,n.yg)("h1",{id:"about-datahub-lineage"},"About DataHub Lineage"),(0,n.yg)(r.A,{mdxType:"FeatureAvailability"}),(0,n.yg)("p",null,"Data lineage is a ",(0,n.yg)("strong",{parentName:"p"},"map that shows how data flows through your organization.")," It details where your data originates, how it travels, and where it ultimately ends up.\nThis can happen within a single system (like data moving between Snowflake tables) or across various platforms."),(0,n.yg)("p",null,"With data lineage, you can"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},"Maintaining Data Integrity"),(0,n.yg)("li",{parentName:"ul"},"Simplify and Refine Complex Relationships"),(0,n.yg)("li",{parentName:"ul"},"Perform ",(0,n.yg)("a",{parentName:"li",href:"/docs/1.1.0/act-on-metadata/impact-analysis"},"Lineage Impact Analysis")),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("a",{parentName:"li",href:"https://blog.datahubproject.io/acryl-data-introduces-lineage-support-and-automated-propagation-of-governance-information-for-339c99536561"},"Propagate Metadata")," Across Lineage")),(0,n.yg)("h2",{id:"viewing-lineage"},"Viewing Lineage"),(0,n.yg)("p",null,"You can view lineage under ",(0,n.yg)("strong",{parentName:"p"},"Lineage")," tab or ",(0,n.yg)("strong",{parentName:"p"},"Lineage Visualization")," screen."),(0,n.yg)("p",{align:"center"},(0,n.yg)("img",{width:"80%",src:"https://raw.githubusercontent.com/datahub-project/static-assets/main/imgs/lineage/lineage-tab.png"})),(0,n.yg)("p",null,"By default, the UI shows the latest version of the lineage. The time picker can be used to filter out edges within the latest version to exclude those that were last updated outside of the time window. Selecting time windows in the patch will not show you historical lineages. It will only filter the view of the latest version of the lineage."),(0,n.yg)("p",{align:"center"},(0,n.yg)("img",{width:"80%",src:"https://raw.githubusercontent.com/datahub-project/static-assets/main/imgs/lineage/lineage-view.png"})),(0,n.yg)("p",null,"In this example, data flows from Airflow/BigQuery to Snowflake tables, then to the Hive dataset, and ultimately to the features of Machine Learning Models."),(0,n.yg)("admonition",{title:"The Lineage Tab is greyed out - why can\u2019t I click on it?",type:"tip"},(0,n.yg)("p",{parentName:"admonition"},"This means you have not yet ingested lineage metadata for that entity. Please ingest lineage to proceed.")),(0,n.yg)("h2",{id:"column-level-lineage-support"},"Column Level Lineage Support"),(0,n.yg)("p",null,"Column-level lineage ",(0,n.yg)("strong",{parentName:"p"},"tracks changes and movements for each specific data column.")," This approach is often contrasted with table-level lineage, which specifies lineage at the table level.\nBelow is how column-level lineage can be set with dbt and Postgres tables."),(0,n.yg)("p",{align:"center"},(0,n.yg)("img",{width:"80%",src:"https://raw.githubusercontent.com/datahub-project/static-assets/main/imgs/lineage/column-level-lineage.png"})),(0,n.yg)("h2",{id:"adding-lineage"},"Adding Lineage"),(0,n.yg)("h3",{id:"ingestion-source"},"Ingestion Source"),(0,n.yg)("p",null,"If you're using an ingestion source that supports extraction of Lineage (e.g. ",(0,n.yg)("strong",{parentName:"p"},"Table Lineage Capability"),"), then lineage information can be extracted automatically.\nFor detailed instructions, refer to the ",(0,n.yg)("a",{parentName:"p",href:"/integrations"},"source documentation")," for the source you are using."),(0,n.yg)("h3",{id:"ui"},"UI"),(0,n.yg)("p",null,"As of ",(0,n.yg)("inlineCode",{parentName:"p"},"v0.9.5"),", DataHub supports the manual editing of lineage between entities. Data experts are free to add or remove upstream and downstream lineage edges in both the Lineage Visualization screen as well as the Lineage tab on entity pages. Use this feature to supplement automatic lineage extraction or establish important entity relationships in sources that do not support automatic extraction. Editing lineage by hand is supported for Datasets, Charts, Dashboards, and Data Jobs.\nPlease refer to our ",(0,n.yg)("a",{parentName:"p",href:"/docs/1.1.0/features/feature-guides/ui-lineage"},"UI Guides on Lineage")," for more information."),(0,n.yg)("admonition",{title:"Recommendation on UI-based lineage",type:"caution"},(0,n.yg)("p",{parentName:"admonition"},"Lineage added by hand and programmatically may conflict with one another to cause unwanted overwrites.\nIt is strongly recommend that lineage is edited manually in cases where lineage information is not also extracted in automated fashion, e.g. by running an ingestion source.")),(0,n.yg)("h3",{id:"api"},"API"),(0,n.yg)("p",null,"If you are not using a Lineage-support ingestion source, you can programmatically emit lineage edges between entities via API.\nPlease refer to ",(0,n.yg)("a",{parentName:"p",href:"/docs/1.1.0/api/tutorials/lineage"},"API Guides on Lineage")," for more information."),(0,n.yg)("h2",{id:"lineage-support"},"Lineage Support"),(0,n.yg)("p",null,"DataHub supports ",(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("a",{parentName:"strong",href:"#automatic-lineage-extraction-support"},"automatic table- and column-level lineage detection"))," from BigQuery, Snowflake, dbt, Looker, PowerBI, and 20+ modern data tools.\nFor data tools with limited native lineage tracking, ",(0,n.yg)("a",{parentName:"p",href:"/docs/1.1.0/lineage/sql_parsing"},(0,n.yg)("strong",{parentName:"a"},"DataHub's SQL Parser"))," detects lineage with 97-99% accuracy, ensuring teams will have high quality lineage graphs across all corners of their data stack."),(0,n.yg)("h3",{id:"types-of-lineage-connections"},"Types of Lineage Connections"),(0,n.yg)("p",null,"Types of lineage connections supported in DataHub and the example codes are as follows."),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},"Dataset to Dataset",(0,n.yg)("ul",{parentName:"li"},(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("a",{parentName:"li",href:"https://github.com/datahub-project/datahub/blob/master/metadata-ingestion/examples/library/lineage_emitter_rest.py"},"Dataset Lineage")),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("a",{parentName:"li",href:"https://github.com/datahub-project/datahub/blob/master/metadata-ingestion/examples/library/lineage_emitter_dataset_finegrained.py"},"Finegrained Dataset Lineage")),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("a",{parentName:"li",href:"https://github.com/datahub-project/datahub/blob/master/metadata-ingestion/src/datahub/ingestion/source/sql/snowflake.py#L249"},"Datahub BigQuery Lineage")),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("a",{parentName:"li",href:"https://github.com/datahub-project/datahub/blob/master/metadata-ingestion/examples/library/lineage_emitter_mcpw_rest.py"},"Dataset Lineage via MCPW REST Emitter")),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("a",{parentName:"li",href:"https://github.com/datahub-project/datahub/blob/master/metadata-ingestion/examples/library/lineage_emitter_kafka.py"},"Dataset Lineage via Kafka Emitter")))),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("a",{parentName:"li",href:"https://github.com/datahub-project/datahub/blob/master/metadata-ingestion/examples/library/lineage_job_dataflow.py"},"DataJob to DataFlow")),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("a",{parentName:"li",href:"https://github.com/datahub-project/datahub/blob/master/metadata-ingestion/examples/library/lineage_dataset_job_dataset.py"},"DataJob to Dataset")),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("a",{parentName:"li",href:"https://github.com/datahub-project/datahub/blob/master/metadata-ingestion/examples/library/lineage_chart_dashboard.py"},"Chart to Dashboard")),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("a",{parentName:"li",href:"https://github.com/datahub-project/datahub/blob/master/metadata-ingestion/examples/library/lineage_dataset_chart.py"},"Chart to Dataset"))),(0,n.yg)("h3",{id:"automatic-lineage-extraction-support"},"Automatic Lineage Extraction Support"),(0,n.yg)("p",null,"This is a summary of automatic lineage extraciton support in our data source. Please refer to the ",(0,n.yg)("strong",{parentName:"p"},"Important Capabilities")," table in the source documentation. Note that even if the source does not support automatic extraction, you can still add lineage manually using our API & SDKs."),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:null},"Source"),(0,n.yg)("th",{parentName:"tr",align:null},"Table-Level Lineage"),(0,n.yg)("th",{parentName:"tr",align:null},"Column-Level Lineage"),(0,n.yg)("th",{parentName:"tr",align:null},"Related Configs"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/abs"},"ABS Data Lake")),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/athena"},"Athena")),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"- incremental_lineage",(0,n.yg)("br",null),"- include_table_location_lineage",(0,n.yg)("br",null),"- include_view_lineage",(0,n.yg)("br",null),"- include_view_column_lineage")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/bigquery"},"BigQuery")),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"- enable_stateful_lineage_ingestion",(0,n.yg)("br",null),"- incremental_lineage",(0,n.yg)("br",null),"- include_table_location_lineage",(0,n.yg)("br",null),"- include_view_lineage",(0,n.yg)("br",null),"- include_view_column_lineage",(0,n.yg)("br",null),"- gcs_lineage_config",(0,n.yg)("br",null),"- lineage_use_sql_parser",(0,n.yg)("br",null),"- lineage_sql_parser_use_raw_names",(0,n.yg)("br",null),"- extract_column_lineage",(0,n.yg)("br",null),"- extract_lineage_from_catalog",(0,n.yg)("br",null),"- include_table_lineage",(0,n.yg)("br",null),"- include_column_lineage_with_gcs",(0,n.yg)("br",null),"- upstream_lineage_in_report")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/business-glossary"},"Business Glossary")),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/cassandra"},"Cassandra")),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/clickhouse"},"ClickHouse ",(0,n.yg)("inlineCode",{parentName:"a"},"clickhouse"))),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/clickhouse"},"ClickHouse ",(0,n.yg)("inlineCode",{parentName:"a"},"clickhouse-usage"))),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/cockroachdb"},"CockroachDB")),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"- incremental_lineage",(0,n.yg)("br",null),"- include_table_location_lineage",(0,n.yg)("br",null),"- include_view_lineage",(0,n.yg)("br",null),"- include_view_column_lineage")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/csv-enricher"},"CSV Enricher")),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/databricks"},"Databricks")),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"- incremental_lineage",(0,n.yg)("br",null),"- include_table_location_lineage",(0,n.yg)("br",null),"- include_view_lineage",(0,n.yg)("br",null),"- include_view_column_lineage",(0,n.yg)("br",null),"- include_table_lineage",(0,n.yg)("br",null),"- include_external_lineage",(0,n.yg)("br",null),"- include_column_lineage",(0,n.yg)("br",null),"- column_lineage_column_limit")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/datahub"},"DataHub")),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/datahubapply"},"DataHubApply")),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/datahubgc"},"DataHubGc")),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/dbt"},"dbt ",(0,n.yg)("inlineCode",{parentName:"a"},"dbt"))),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"- incremental_lineage",(0,n.yg)("br",null),"- prefer_sql_parser_lineage",(0,n.yg)("br",null),"- skip_sources_in_lineage",(0,n.yg)("br",null),"- include_column_lineage")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/dbt"},"dbt ",(0,n.yg)("inlineCode",{parentName:"a"},"dbt-cloud"))),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"- incremental_lineage",(0,n.yg)("br",null),"- prefer_sql_parser_lineage",(0,n.yg)("br",null),"- skip_sources_in_lineage",(0,n.yg)("br",null),"- include_column_lineage")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/delta-lake"},"Delta Lake")),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/dremio"},"Dremio")),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"- include_query_lineage")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/druid"},"Druid")),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/elasticsearch"},"Elasticsearch")),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/feast"},"Feast")),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/file-based-lineage"},"File Based Lineage")),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/fivetran"},"Fivetran")),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"- include_column_lineage")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/glue"},"Glue")),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"- emit_s3_lineage",(0,n.yg)("br",null),"- glue_s3_lineage_direction",(0,n.yg)("br",null),"- include_column_lineage")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/gcs"},"Google Cloud Storage")),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/grafana"},"Grafana")),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/hex"},"Hex")),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/hive"},"Hive")),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/hive-metastore"},"Hive Metastore ",(0,n.yg)("inlineCode",{parentName:"a"},"hive-metastore"))),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/hive-metastore"},"Hive Metastore ",(0,n.yg)("inlineCode",{parentName:"a"},"presto-on-hive"))),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/kafka"},"Kafka")),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/kafka-connect"},"Kafka Connect")),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"- convert_lineage_urns_to_lowercase")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/looker"},"Looker ",(0,n.yg)("inlineCode",{parentName:"a"},"looker"))),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"- extract_column_level_lineage")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/looker"},"Looker ",(0,n.yg)("inlineCode",{parentName:"a"},"lookml"))),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"- extract_column_level_lineage")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/mariadb"},"MariaDB")),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/metabase"},"Metabase")),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/metadata-file"},"Metadata File")),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/mssql"},"Microsoft SQL Server")),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/mlflow"},"MLflow")),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/mode"},"Mode")),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/mongodb"},"MongoDB")),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/mysql"},"MySQL")),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/neo4j"},"Neo4j")),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/nifi"},"NiFi")),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"- incremental_lineage")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/okta"},"Okta")),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/oracle"},"Oracle")),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/postgres"},"Postgres")),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"- incremental_lineage",(0,n.yg)("br",null),"- include_table_location_lineage",(0,n.yg)("br",null),"- include_view_lineage",(0,n.yg)("br",null),"- include_view_column_lineage")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/powerbi"},"PowerBI")),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"- incremental_lineage",(0,n.yg)("br",null),"- extract_lineage",(0,n.yg)("br",null),"- convert_lineage_urns_to_lowercase",(0,n.yg)("br",null),"- enable_advance_lineage_sql_construct",(0,n.yg)("br",null),"- extract_column_level_lineage")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/powerbi-report-server"},"PowerBI Report Server")),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/preset"},"Preset")),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/presto"},"Presto")),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/qlik-sense"},"Qlik Sense")),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/redash"},"Redash")),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/redshift"},"Redshift")),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"- enable_stateful_lineage_ingestion",(0,n.yg)("br",null),"- incremental_lineage",(0,n.yg)("br",null),"- s3_lineage_config",(0,n.yg)("br",null),"- include_table_location_lineage",(0,n.yg)("br",null),"- include_view_lineage",(0,n.yg)("br",null),"- include_view_column_lineage",(0,n.yg)("br",null),"- use_lineage_v2",(0,n.yg)("br",null),"- lineage_v2_generate_queries",(0,n.yg)("br",null),"- include_table_lineage",(0,n.yg)("br",null),"- include_copy_lineage",(0,n.yg)("br",null),"- include_share_lineage",(0,n.yg)("br",null),"- include_unload_lineage",(0,n.yg)("br",null),"- include_table_rename_lineage",(0,n.yg)("br",null),"- table_lineage_mode",(0,n.yg)("br",null),"- extract_column_level_lineage",(0,n.yg)("br",null),"- resolve_temp_table_in_lineage")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/s3"},"S3 / Local Files")),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/sagemaker"},"SageMaker")),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/salesforce"},"Salesforce")),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/sac"},"SAP Analytics Cloud")),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"- incremental_lineage")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/hana"},"SAP HANA")),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/sigma"},"Sigma")),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"- extract_lineage",(0,n.yg)("br",null),"- workbook_lineage_pattern")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/slack"},"Slack")),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/snowflake"},"Snowflake")),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"- enable_stateful_lineage_ingestion",(0,n.yg)("br",null),"- incremental_lineage",(0,n.yg)("br",null),"- include_table_location_lineage",(0,n.yg)("br",null),"- include_view_lineage",(0,n.yg)("br",null),"- include_view_column_lineage",(0,n.yg)("br",null),"- include_table_lineage",(0,n.yg)("br",null),"- ignore_start_time_lineage",(0,n.yg)("br",null),"- upstream_lineage_in_report",(0,n.yg)("br",null),"- include_column_lineage")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/sql-queries"},"SQL Queries")),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/superset"},"Superset")),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/tableau"},"Tableau")),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"- extract_column_level_lineage",(0,n.yg)("br",null),"- lineage_overrides",(0,n.yg)("br",null),"- extract_lineage_from_unsupported_custom_sql_queries",(0,n.yg)("br",null),"- force_extraction_of_lineage_from_custom_sql_queries")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/teradata"},"Teradata")),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"- incremental_lineage",(0,n.yg)("br",null),"- include_table_location_lineage",(0,n.yg)("br",null),"- include_view_lineage",(0,n.yg)("br",null),"- include_view_column_lineage",(0,n.yg)("br",null),"- include_table_lineage")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/trino"},"Trino ",(0,n.yg)("inlineCode",{parentName:"a"},"trino"))),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/trino"},"Trino ",(0,n.yg)("inlineCode",{parentName:"a"},"starburst-trino-usage"))),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/vertexai"},"Vertex AI")),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null})),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:null},(0,n.yg)("a",{parentName:"td",href:"/docs/1.1.0/generated/ingestion/sources/vertica"},"Vertica")),(0,n.yg)("td",{parentName:"tr",align:null},"\u2705"),(0,n.yg)("td",{parentName:"tr",align:null},"\u274c"),(0,n.yg)("td",{parentName:"tr",align:null},"- incremental_lineage",(0,n.yg)("br",null),"- include_table_location_lineage",(0,n.yg)("br",null),"- include_view_lineage",(0,n.yg)("br",null),"- include_view_column_lineage",(0,n.yg)("br",null),"- include_projection_lineage")))),(0,n.yg)("h3",{id:"sql-parser-lineage-extraction"},"SQL Parser Lineage Extraction"),(0,n.yg)("p",null,"If you\u2019re using a different database system for which we don\u2019t support column-level lineage out of the box, but you do have a database query log available,\nwe have a SQL queries connector that generates column-level lineage and detailed table usage statistics from the query log."),(0,n.yg)("p",null,"If these does not suit your needs, you can use the new ",(0,n.yg)("inlineCode",{parentName:"p"},"DataHubGraph.parse_sql_lineage()")," method in our SDK. (See the source code ",(0,n.yg)("a",{parentName:"p",href:"/docs/python-sdk/clients/graph-client"},"here"),")"),(0,n.yg)("p",null,"For more information, refer to the ",(0,n.yg)("a",{parentName:"p",href:"https://blog.datahubproject.io/extracting-column-level-lineage-from-sql-779b8ce17567"},"Extracting Column-Level Lineage from SQL")," "),(0,n.yg)("admonition",{title:"Our Roadmap",type:"tip"},(0,n.yg)("p",{parentName:"admonition"},"We're actively working on expanding lineage support for new data sources.\nVisit our ",(0,n.yg)("a",{parentName:"p",href:"https://feature-requests.datahubproject.io/roadmap"},"Official Roadmap")," for upcoming updates!")),(0,n.yg)("h2",{id:"references"},"References"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("a",{parentName:"li",href:"https://www.youtube.com/watch?v=rONGpsndzRw&t=1s"},"DataHub Basics: Lineage 101")),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("a",{parentName:"li",href:"https://www.youtube.com/watch?v=BlCLhG8lGoY&t=1s"},"DataHub November 2022 Town Hall")," - Including Manual Lineage Demo"),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("a",{parentName:"li",href:"https://blog.datahubproject.io/data-in-context-lineage-explorer-in-datahub-a53a9a476dc4"},"Data in Context: Lineage Explorer in DataHub")),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("a",{parentName:"li",href:"https://blog.datahubproject.io/harnessing-the-power-of-data-lineage-with-datahub-ad086358dec4"},"Harnessing the Power of Data Lineage with DataHub")),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("a",{parentName:"li",href:"https://blog.datahubproject.io/data-lineage-what-it-is-and-why-it-matters-1a8d9846f0bd"},"Data Lineage: What It Is And Why It Matters"))))}c.isMDXComponent=!0}}]);