1"use strict";(globalThis.webpackChunkcoalesce_docs=globalThis.webpackChunkcoalesce_docs||[]).push([[13653],{13441(e,o,s){s.r(o),s.d(o,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>t,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"setup-your-project/add-a-data-source","title":"Step 4: Add a Data Source","description":"Learn how Coalesce Transform models existing warehouse tables and views as Source Nodes, how that differs from connecting your Workspace or Environment, and how to use Build > Add Sources after Storage Locations and mappings are set. Includes troubleshooting when sources are missing and how Marketplace packages fit alongside standard sources.","source":"@site/docs/setup-your-project/add-a-data-source.md","sourceDirName":"setup-your-project","slug":"/setup-your-project/add-a-data-source","permalink":"/docs/setup-your-project/add-a-data-source","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"title":"Step 4: Add a Data Source","description":"Learn how Coalesce Transform models existing warehouse tables and views as Source Nodes, how that differs from connecting your Workspace or Environment, and how to use Build > Add Sources after Storage Locations and mappings are set. Includes troubleshooting when sources are missing and how Marketplace packages fit alongside standard sources.","keywords":["Coalesce data sources","Source Nodes","Add Sources","Transform setup","storage mappings","warehouse connection","Coalesce Marketplace","Build canvas","data pipeline setup"]},"sidebar":"tutorialSidebar","previous":{"title":"Step 3: Create a Workspace","permalink":"/docs/setup-your-project/create-a-workspace"},"next":{"title":"Step 5: Authentication to Coalesce","permalink":"/docs/setup-your-project/authentication-to-coalesce"}}');var n=s(74848),a=s(28453);const t={title:"Step 4: Add a Data Source",description:"Learn how Coalesce Transform models existing warehouse tables and views as Source Nodes, how that differs from connecting your Workspace or Environment, and how to use Build > Add Sources after Storage Locations and mappings are set. Includes troubleshooting when sources are missing and how Marketplace packages fit alongside standard sources.",keywords:["Coalesce data sources","Source Nodes","Add Sources","Transform setup","storage mappings","warehouse connection","Coalesce Marketplace","Build canvas","data pipeline setup"]},i=void 0,c={},d=[{value:"Before You Begin",id:"before-you-begin",level:2},{value:"How Source Nodes Relate to Your Warehouse",id:"how-source-nodes-relate-to-your-warehouse",level:2},{value:"How to Add Sources From the Build Screen",id:"how-to-add-sources-from-the-build-screen",level:2},{value:"If Source Tables Do Not Appear in Add Sources",id:"if-source-tables-do-not-appear-in-add-sources",level:2},{value:"What's Next?",id:"whats-next",level:2}];function l(e){const o={a:"a",admonition:"admonition",code:"code",h2:"h2",hr:"hr",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,a.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(o.p,{children:["This page explains how to turn tables and views that already live in your connected data platform into ",(0,n.jsx)(o.strong,{children:"Source Nodes"})," on the Build canvas. You'll confirm prerequisites, walk through ",(0,n.jsx)(o.strong,{children:"Add Sources"}),", and know where to look when expected tables do not show up. You'll also see how ",(0,n.jsx)(o.strong,{children:"Marketplace"})," packages add optional Node patterns on top of the standard source flow."]}),"\n",(0,n.jsx)(o.h2,{id:"before-you-begin",children:"Before You Begin"}),"\n",(0,n.jsxs)(o.p,{children:["Use this checklist before you open ",(0,n.jsx)(o.strong,{children:"Add Sources"}),":"]}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsxs)(o.li,{children:["You have a ",(0,n.jsx)(o.a,{href:"/docs/setup-your-project/create-your-project",children:"Project"})," with version control configured, and a ",(0,n.jsx)(o.a,{href:"/docs/get-started/coalesce-fundamentals/workspaces",children:"Workspace"})," where you can develop."]}),"\n",(0,n.jsxs)(o.li,{children:["Your Workspace is connected to your data platform with valid credentials. Platform-specific steps, including ",(0,n.jsx)(o.strong,{children:"Test Connection"})," where the wizard exposes it, are in ",(0,n.jsx)(o.a,{href:"/docs/setup-your-project/create-a-workspace",children:"Create a Workspace"})," and the ",(0,n.jsx)(o.a,{href:"/docs/category/connection-guides",children:"Connection guides"}),"."]}),"\n",(0,n.jsxs)(o.li,{children:["You've configured ",(0,n.jsx)(o.strong,{children:"Storage Locations"})," and ",(0,n.jsx)(o.strong,{children:"Storage Mappings"})," for the Workspace so Coalesce knows which databases and schemas map to your logical locations. See ",(0,n.jsx)(o.a,{href:"/docs/get-started/coalesce-fundamentals/storage-locations-and-storage-mappings",children:"Storage Locations and
1Storage Mappings"}),"."]}),"\n",(0,n.jsx)(o.li,{children:"The tables or views you want to model already exist in the warehouse context your credentials can read. Coalesce Transform models existing objects; it does not replace your usual ingestion or loading tools that land data in the warehouse."}),"\n"]}),"\n",(0,n.jsx)(o.h2,{id:"how-source-nodes-relate-to-your-warehouse",children:"How Source Nodes Relate to Your Warehouse"}),"\n",(0,n.jsxs)(o.p,{children:["A ",(0,n.jsx)(o.strong,{children:"Source Node"})," is the Coalesce representation of a table, external table, or view that already exists in your data platform. After you add sources, downstream Nodes read from those objects during refresh. Source metadata is treated as read-only input to the pipeline; you change location or description where the product allows, not the underlying warehouse definition here. For a full tour of Node types, see ",(0,n.jsx)(o.a,{href:"/docs/get-started/coalesce-fundamentals/nodes",children:"Nodes and Node Types"}),"."]}),"\n",(0,n.jsx)(o.h2,{id:"how-to-add-sources-from-the-build-screen",children:"How to Add Sources From the Build Screen"}),"\n",(0,n.jsxs)(o.p,{children:["On the ",(0,n.jsx)(o.strong,{children:"Build"})," screen, add existing warehouse tables and views as ",(0,n.jsx)(o.strong,{children:"Source Nodes"})," with these steps:"]}),"\n",(0,n.jsxs)(o.ol,{children:["\n",(0,n.jsxs)(o.li,{children:["\n",(0,n.jsxs)(o.p,{children:["Open ",(0,n.jsx)(o.strong,{children:"Build"})," for your Workspace."]}),"\n"]}),"\n",(0,n.jsxs)(o.li,{children:["\n",(0,n.jsxs)(o.p,{children:["Select the ",(0,n.jsx)(o.code,{children:"+"})," control, then ",(0,n.jsx)(o.strong,{children:"Add Sources"}),"."]}),"\n",(0,n.jsx)("img",{src:"/img/docs-images/setup-your-project/295e531-build_add_data_sources_03_04_24.png",alt:"Build canvas menu open with Add Sources highlighted after choosing the plus control.",className:"mdImages"}),"\n"]}),"\n",(0,n.jsxs)(o.li,{children:["\n",(0,n.jsxs)(o.p,{children:["Select the sources to add, then confirm with ",(0,n.jsx)(o.strong,{children:"Add Sources"}),". You can inspect a preview for each selected object."]}),"\n",(0,n.jsx)("img",{src:"/img/docs-images/setup-your-project/959a265-build_add_sources_03_04_2024.png",alt:"Add Sources dialog listing available warehouse tables and views with selection checkboxes.",className:"mdImages"}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(o.admonition,{title:"Modifying Source Nodes and tables",type:"info",children:(0,n.jsx)(o.p,{children:"Source Nodes reflect warehouse objects you selected. Treat the underlying source data as read-only in this workflow; you're not editing raw table definitions inside Coalesce."})}),"\n",(0,n.jsx)(o.h2,{id:"if-source-tables-do-not-appear-in-add-sources",children:"If Source Tables Do Not Appear in Add Sources"}),"\n",(0,n.jsx)(o.p,{children:"Work through these checks in order:"}),"\n",(0,n.jsxs)(o.ol,{children:["\n",(0,n.jsxs)(o.li,{children:[(0,n.jsx)(o.strong,{children:"Confirm Storage Locations and mappings"})," - If mappings are missing or point at the wrong database or schema, objects outside the mapped context will not list as expected. Revisit ",(0,n.jsx)(o.a,{href:"/docs/get-started/coalesce-fundamentals/storage-locations-and-storage-mappings",children:"Storage Locations and Storage Mappings"})," and your Workspace settings."]}),"\n",(0,n.jsxs)(o.li,{children:[(0,n.jsx)(o.strong,{children:"Confirm the Workspace connection"})," - In ",(0,n.jsx)(o.strong,{children:"Build Settings"}),", open ",(0,n.jsx)(o.strong,{children:"Workspace"})," settings and verify account URL, authentication, role, and warehouse as required for your platform. Run ",(0,n.jsx)(o.strong,{children:"Test Connection"})," when it is available, then save. For Environment-specific deploy and refresh credentials, see ",(0,n.jsx)(o.a,{href:"/docs/setup-your-project/create-your-environments",children:"Create Your Environments"}),"."]}),"\n",(0,n.jsxs)(o.li,{children:[(0,n.jsx)(o.strong,{children:"Confirm platform grants"})," - The role Coalesce uses needs read access to the databases and schemas that hold your source data. Your administrator can align grants with the paths you mapped."]}),"\n",(0,n.jsxs)(o.li,{children:[(0,n.jsx)(o.strong,{children:"Confirm you're in the right Project and Workspace"})," - Sources are scoped to the Workspace connection and mappings. Switching Worksp
1aces or branches can change which objects are visible."]}),"\n"]}),"\n",(0,n.jsx)(o.h2,{id:"whats-next",children:"What's Next?"}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsxs)(o.li,{children:[(0,n.jsx)(o.a,{href:"/docs/build-your-pipeline/the-build-interface/",children:"Building Your Pipeline"})," - Lay out Stages, Dimensions, Facts, and the rest of your graph from your new sources."]}),"\n",(0,n.jsxs)(o.li,{children:[(0,n.jsx)(o.a,{href:"/docs/guides/using-coalesce-marketplace-to-build-first-class-data-pipelines",children:"Using Coalesce Marketplace to Build First Class Data Pipelines"})," - Practice package-driven patterns after your sources are on the canvas."]}),"\n",(0,n.jsxs)(o.li,{children:[(0,n.jsx)(o.a,{href:"/docs/get-started/coalesce-fundamentals/nodes",children:"Nodes and Node Types"})," - Deepen how Source Nodes interact with other Node types."]}),"\n"]}),"\n",(0,n.jsx)(o.hr,{})]})}function u(e={}){const{wrapper:o}={...(0,a.R)(),...e.components};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},28453(e,o,s){s.d(o,{R:()=>t,x:()=>i});var r=s(96540);const n={},a=r.createContext(n);function t(e){const o=r.useContext(a);return r.useMemo(function(){return"function"==typeof e?e(o):{...o,...e}},[o,e])}function i(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:t(e.components),r.createElement(a.Provider,{value:o},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.