[{"data":1,"prerenderedAt":1217},["ShallowReactive",2],{"tutorial-bruin-templates/explore-run":3,"content-query-LHGJmgnUKe":317,"content-query-x7eameAQjh":535},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"date":10,"readingTime":11,"category":12,"tags":13,"difficulty":15,"module":5,"step":16,"subSteps":17,"learnMore":18,"author":28,"body":32,"_type":311,"_id":312,"_source":313,"_file":314,"_stem":315,"_extension":316},"/tutorials/bruin-templates/explore-run","bruin-templates",false,"","Explore & Run","Run the templated pipeline and explore the ingested and transformed data.","2026-04-15",4,"Tutorial",[14],"Bruin CLI","Beginner",2,true,[19,22,25],{"label":20,"url":21},"Bruin run command","https://getbruin.com/docs/bruin/commands/run.html",{"label":23,"url":24},"Bruin query command","https://getbruin.com/docs/bruin/commands/query.html",{"label":26,"url":27},"Tutorial video on Bruin templates","https://youtu.be/8RuVoSCNHQI",{"name":29,"role":30,"image":31},"Bruin Team","Bruin Data","/bruin-logo-2025.svg",{"type":33,"children":34,"toc":299},"root",[35,44,50,56,61,67,74,79,90,100,105,111,116,150,155,170,175,181,186,226,231,237,242,277,282,288,293],{"type":36,"tag":37,"props":38,"children":40},"element","h2",{"id":39},"what-youll-do",[41],{"type":42,"value":43},"text","What you'll do",{"type":36,"tag":45,"props":46,"children":47},"p",{},[48],{"type":42,"value":49},"Run the pipeline to ingest and transform exchange rate data, then explore the results.",{"type":36,"tag":37,"props":51,"children":53},{"id":52},"why-this-step-matters",[54],{"type":42,"value":55},"Why this step matters",{"type":36,"tag":45,"props":57,"children":58},{},[59],{"type":42,"value":60},"Running the pipeline is where the template pays off. A single command executes the full ingestion and transformation workflow that the template set up for you. The result is queryable data in DuckDB, ready for analysis.",{"type":36,"tag":37,"props":62,"children":64},{"id":63},"instructions",[65],{"type":42,"value":66},"Instructions",{"type":36,"tag":68,"props":69,"children":71},"h3",{"id":70},"_1-understand-the-assets",[72],{"type":42,"value":73},"1) Understand the assets",{"type":36,"tag":45,"props":75,"children":76},{},[77],{"type":42,"value":78},"Before running, take a look at what the template created:",{"type":36,"tag":45,"props":80,"children":81},{},[82,88],{"type":36,"tag":83,"props":84,"children":85},"strong",{},[86],{"type":42,"value":87},"Ingestr assets",{"type":42,"value":89}," pull exchange rate data from the Frankfurter API. These are YAML files that tell Bruin what data to fetch and where to store it.",{"type":36,"tag":45,"props":91,"children":92},{},[93,98],{"type":36,"tag":83,"props":94,"children":95},{},[96],{"type":42,"value":97},"SQL assets",{"type":42,"value":99}," transform the raw ingested data. For example, the template includes a SQL query that presents exchange rate trends over the last 30 days.",{"type":36,"tag":45,"props":101,"children":102},{},[103],{"type":42,"value":104},"The SQL assets depend on the ingestr assets, so Bruin automatically runs ingestion first, then transformation.",{"type":36,"tag":68,"props":106,"children":108},{"id":107},"_2-run-the-pipeline",[109],{"type":42,"value":110},"2) Run the pipeline",{"type":36,"tag":45,"props":112,"children":113},{},[114],{"type":42,"value":115},"Execute the entire pipeline:",{"type":36,"tag":117,"props":118,"children":122},"pre",{"className":119,"code":120,"language":121,"meta":7,"style":7},"language-bash shiki shiki-themes github-dark","bruin run .\n","bash",[123],{"type":36,"tag":124,"props":125,"children":126},"code",{"__ignoreMap":7},[127],{"type":36,"tag":128,"props":129,"children":132},"span",{"class":130,"line":131},"line",1,[133,139,145],{"type":36,"tag":128,"props":134,"children":136},{"style":135},"--shiki-default:#B392F0",[137],{"type":42,"value":138},"bruin",{"type":36,"tag":128,"props":140,"children":142},{"style":141},"--shiki-default:#9ECBFF",[143],{"type":42,"value":144}," run",{"type":36,"tag":128,"props":146,"children":147},{"style":141},[148],{"type":42,"value":149}," .\n",{"type":36,"tag":45,"props":151,"children":152},{},[153],{"type":42,"value":154},"Bruin resolves the dependency graph and runs assets in the correct order:",{"type":36,"tag":156,"props":157,"children":158},"ol",{},[159,165],{"type":36,"tag":160,"props":161,"children":162},"li",{},[163],{"type":42,"value":164},"First, the ingestr assets fetch exchange rate data from the Frankfurter API",{"type":36,"tag":160,"props":166,"children":167},{},[168],{"type":42,"value":169},"Then, the SQL assets transform the raw data into analytical views",{"type":36,"tag":45,"props":171,"children":172},{},[173],{"type":42,"value":174},"You'll see progress output as each asset completes.",{"type":36,"tag":68,"props":176,"children":178},{"id":177},"_3-query-the-results",[179],{"type":42,"value":180},"3) Query the results",{"type":36,"tag":45,"props":182,"children":183},{},[184],{"type":42,"value":185},"After the pipeline finishes, query the transformed data:",{"type":36,"tag":117,"props":187,"children":189},{"className":119,"code":188,"language":121,"meta":7,"style":7},"bruin query --c duckdb-default --q \"SELECT * FROM exchange_rate_summary LIMIT 10;\"\n",[190],{"type":36,"tag":124,"props":191,"children":192},{"__ignoreMap":7},[193],{"type":36,"tag":128,"props":194,"children":195},{"class":130,"line":131},[196,200,205,211,216,221],{"type":36,"tag":128,"props":197,"children":198},{"style":135},[199],{"type":42,"value":138},{"type":36,"tag":128,"props":201,"children":202},{"style":141},[203],{"type":42,"value":204}," query",{"type":36,"tag":128,"props":206,"children":208},{"style":207},"--shiki-default:#79B8FF",[209],{"type":42,"value":210}," --c",{"type":36,"tag":128,"props":212,"children":213},{"style":141},[214],{"type":42,"value":215}," duckdb-default",{"type":36,"tag":128,"props":217,"children":218},{"style":207},[219],{"type":42,"value":220}," --q",{"type":36,"tag":128,"props":222,"children":223},{"style":141},[224],{"type":42,"value":225}," \"SELECT * FROM exchange_rate_summary LIMIT 10;\"\n",{"type":36,"tag":45,"props":227,"children":228},{},[229],{"type":42,"value":230},"You should see exchange rate data with dates, currency pairs, and rates - a clean analytical view created by the SQL transformation.",{"type":36,"tag":68,"props":232,"children":234},{"id":233},"_4-explore-further",[235],{"type":42,"value":236},"4) Explore further",{"type":36,"tag":45,"props":238,"children":239},{},[240],{"type":42,"value":241},"Try querying the raw ingested data to see what the ingestr asset pulled:",{"type":36,"tag":117,"props":243,"children":245},{"className":119,"code":244,"language":121,"meta":7,"style":7},"bruin query --c duckdb-default --q \"SELECT * FROM fx_rates LIMIT 10;\"\n",[246],{"type":36,"tag":124,"props":247,"children":248},{"__ignoreMap":7},[249],{"type":36,"tag":128,"props":250,"children":251},{"class":130,"line":131},[252,256,260,264,268,272],{"type":36,"tag":128,"props":253,"children":254},{"style":135},[255],{"type":42,"value":138},{"type":36,"tag":128,"props":257,"children":258},{"style":141},[259],{"type":42,"value":204},{"type":36,"tag":128,"props":261,"children":262},{"style":207},[263],{"type":42,"value":210},{"type":36,"tag":128,"props":265,"children":266},{"style":141},[267],{"type":42,"value":215},{"type":36,"tag":128,"props":269,"children":270},{"style":207},[271],{"type":42,"value":220},{"type":36,"tag":128,"props":273,"children":274},{"style":141},[275],{"type":42,"value":276}," \"SELECT * FROM fx_rates LIMIT 10;\"\n",{"type":36,"tag":45,"props":278,"children":279},{},[280],{"type":42,"value":281},"You can modify the SQL asset to create different views, add new currencies, or change the date range. The template is a starting point - customize it to fit your needs.",{"type":36,"tag":37,"props":283,"children":285},{"id":284},"what-just-happened",[286],{"type":42,"value":287},"What just happened",{"type":36,"tag":45,"props":289,"children":290},{},[291],{"type":42,"value":292},"You ran a complete pipeline that was set up entirely from a template. Data was fetched from the Frankfurter API, loaded into DuckDB, and transformed into an analytical view - all with minimal configuration. Templates let you skip the boilerplate and get straight to working with data.",{"type":36,"tag":294,"props":295,"children":296},"style",{},[297],{"type":42,"value":298},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":7,"searchDepth":16,"depth":16,"links":300},[301,302,303,310],{"id":39,"depth":16,"text":43},{"id":52,"depth":16,"text":55},{"id":63,"depth":16,"text":66,"children":304},[305,307,308,309],{"id":70,"depth":306,"text":73},3,{"id":107,"depth":306,"text":110},{"id":177,"depth":306,"text":180},{"id":233,"depth":306,"text":236},{"id":284,"depth":16,"text":287},"markdown","content:tutorials:bruin-templates:explore-run.md","content","tutorials/bruin-templates/explore-run.md","tutorials/bruin-templates/explore-run","md",{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"date":10,"readingTime":11,"category":12,"tags":318,"difficulty":15,"module":5,"step":16,"subSteps":17,"learnMore":319,"author":323,"body":324,"_type":311,"_id":312,"_source":313,"_file":314,"_stem":315,"_extension":316},[14],[320,321,322],{"label":20,"url":21},{"label":23,"url":24},{"label":26,"url":27},{"name":29,"role":30,"image":31},{"type":33,"children":325,"toc":524},[326,330,334,338,342,346,350,354,362,370,374,378,382,403,407,418,422,426,430,463,467,471,475,508,512,516,520],{"type":36,"tag":37,"props":327,"children":328},{"id":39},[329],{"type":42,"value":43},{"type":36,"tag":45,"props":331,"children":332},{},[333],{"type":42,"value":49},{"type":36,"tag":37,"props":335,"children":336},{"id":52},[337],{"type":42,"value":55},{"type":36,"tag":45,"props":339,"children":340},{},[341],{"type":42,"value":60},{"type":36,"tag":37,"props":343,"children":344},{"id":63},[345],{"type":42,"value":66},{"type":36,"tag":68,"props":347,"children":348},{"id":70},[349],{"type":42,"value":73},{"type":36,"tag":45,"props":351,"children":352},{},[353],{"type":42,"value":78},{"type":36,"tag":45,"props":355,"children":356},{},[357,361],{"type":36,"tag":83,"props":358,"children":359},{},[360],{"type":42,"value":87},{"type":42,"value":89},{"type":36,"tag":45,"props":363,"children":364},{},[365,369],{"type":36,"tag":83,"props":366,"children":367},{},[368],{"type":42,"value":97},{"type":42,"value":99},{"type":36,"tag":45,"props":371,"children":372},{},[373],{"type":42,"value":104},{"type":36,"tag":68,"props":375,"children":376},{"id":107},[377],{"type":42,"value":110},{"type":36,"tag":45,"props":379,"children":380},{},[381],{"type":42,"value":115},{"type":36,"tag":117,"props":383,"children":384},{"className":119,"code":120,"language":121,"meta":7,"style":7},[385],{"type":36,"tag":124,"props":386,"children":387},{"__ignoreMap":7},[388],{"type":36,"tag":128,"props":389,"children":390},{"class":130,"line":131},[391,395,399],{"type":36,"tag":128,"props":392,"children":393},{"style":135},[394],{"type":42,"value":138},{"type":36,"tag":128,"props":396,"children":397},{"style":141},[398],{"type":42,"value":144},{"type":36,"tag":128,"props":400,"children":401},{"style":141},[402],{"type":42,"value":149},{"type":36,"tag":45,"props":404,"children":405},{},[406],{"type":42,"value":154},{"type":36,"tag":156,"props":408,"children":409},{},[410,414],{"type":36,"tag":160,"props":411,"children":412},{},[413],{"type":42,"value":164},{"type":36,"tag":160,"props":415,"children":416},{},[417],{"type":42,"value":169},{"type":36,"tag":45,"props":419,"children":420},{},[421],{"type":42,"value":174},{"type":36,"tag":68,"props":423,"children":424},{"id":177},[425],{"type":42,"value":180},{"type":36,"tag":45,"props":427,"children":428},{},[429],{"type":42,"value":185},{"type":36,"tag":117,"props":431,"children":432},{"className":119,"code":188,"language":121,"meta":7,"style":7},[433],{"type":36,"tag":124,"props":434,"children":435},{"__ignoreMap":7},[436],{"type":36,"tag":128,"props":437,"children":438},{"class":130,"line":131},[439,443,447,451,455,459],{"type":36,"tag":128,"props":440,"children":441},{"style":135},[442],{"type":42,"value":138},{"type":36,"tag":128,"props":444,"children":445},{"style":141},[446],{"type":42,"value":204},{"type":36,"tag":128,"props":448,"children":449},{"style":207},[450],{"type":42,"value":210},{"type":36,"tag":128,"props":452,"children":453},{"style":141},[454],{"type":42,"value":215},{"type":36,"tag":128,"props":456,"children":457},{"style":207},[458],{"type":42,"value":220},{"type":36,"tag":128,"props":460,"children":461},{"style":141},[462],{"type":42,"value":225},{"type":36,"tag":45,"props":464,"children":465},{},[466],{"type":42,"value":230},{"type":36,"tag":68,"props":468,"children":469},{"id":233},[470],{"type":42,"value":236},{"type":36,"tag":45,"props":472,"children":473},{},[474],{"type":42,"value":241},{"type":36,"tag":117,"props":476,"children":477},{"className":119,"code":244,"language":121,"meta":7,"style":7},[478],{"type":36,"tag":124,"props":479,"children":480},{"__ignoreMap":7},[481],{"type":36,"tag":128,"props":482,"children":483},{"class":130,"line":131},[484,488,492,496,500,504],{"type":36,"tag":128,"props":485,"children":486},{"style":135},[487],{"type":42,"value":138},{"type":36,"tag":128,"props":489,"children":490},{"style":141},[491],{"type":42,"value":204},{"type":36,"tag":128,"props":493,"children":494},{"style":207},[495],{"type":42,"value":210},{"type":36,"tag":128,"props":497,"children":498},{"style":141},[499],{"type":42,"value":215},{"type":36,"tag":128,"props":501,"children":502},{"style":207},[503],{"type":42,"value":220},{"type":36,"tag":128,"props":505,"children":506},{"style":141},[507],{"type":42,"value":276},{"type":36,"tag":45,"props":509,"children":510},{},[511],{"type":42,"value":281},{"type":36,"tag":37,"props":513,"children":514},{"id":284},[515],{"type":42,"value":287},{"type":36,"tag":45,"props":517,"children":518},{},[519],{"type":42,"value":292},{"type":36,"tag":294,"props":521,"children":522},{},[523],{"type":42,"value":298},{"title":7,"searchDepth":16,"depth":16,"links":525},[526,527,528,534],{"id":39,"depth":16,"text":43},{"id":52,"depth":16,"text":55},{"id":63,"depth":16,"text":66,"children":529},[530,531,532,533],{"id":70,"depth":306,"text":73},{"id":107,"depth":306,"text":110},{"id":177,"depth":306,"text":180},{"id":233,"depth":306,"text":236},{"id":284,"depth":16,"text":287},[536,999],{"_path":537,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":538,"description":539,"date":10,"readingTime":11,"category":12,"tags":540,"difficulty":15,"module":5,"step":131,"subSteps":17,"learnMore":541,"author":548,"body":549,"_type":311,"_id":996,"_source":313,"_file":997,"_stem":998,"_extension":316},"/tutorials/bruin-templates/initialize-template","Initialize from a Template","Use bruin init to scaffold a pipeline from a template - either interactively or by specifying the template name directly.",[14],[542,545],{"label":543,"url":544},"Bruin init command","https://getbruin.com/docs/bruin/commands/init.html",{"label":546,"url":547},"Bruin project structure (docs)","https://getbruin.com/docs/bruin/core-concepts/project.html",{"name":29,"role":30,"image":31},{"type":33,"children":550,"toc":985},[551,555,568,572,577,581,587,596,601,620,625,630,636,644,649,678,699,705,710,720,725,790,796,808,910,921,972,976,981],{"type":36,"tag":37,"props":552,"children":553},{"id":39},[554],{"type":42,"value":43},{"type":36,"tag":45,"props":556,"children":557},{},[558,560,566],{"type":42,"value":559},"Use ",{"type":36,"tag":124,"props":561,"children":563},{"className":562},[],[564],{"type":42,"value":565},"bruin init",{"type":42,"value":567}," to create a new pipeline project from a template, then explore the generated project structure.",{"type":36,"tag":37,"props":569,"children":570},{"id":52},[571],{"type":42,"value":55},{"type":36,"tag":45,"props":573,"children":574},{},[575],{"type":42,"value":576},"Templates eliminate boilerplate. Instead of manually creating configuration files, asset definitions, and pipeline configs, a single command gives you a working project with everything wired up. Understanding how to pick and use templates is the fastest way to start building with Bruin.",{"type":36,"tag":37,"props":578,"children":579},{"id":63},[580],{"type":42,"value":66},{"type":36,"tag":68,"props":582,"children":584},{"id":583},"_1-browse-available-templates",[585],{"type":42,"value":586},"1) Browse available templates",{"type":36,"tag":45,"props":588,"children":589},{},[590],{"type":36,"tag":591,"props":592,"children":595},"img",{"alt":593,"src":594},"bruin init interactive wizard","/img/learn/tutorials/init-wizard.gif",[],{"type":36,"tag":45,"props":597,"children":598},{},[599],{"type":42,"value":600},"Navigate to the folder where you want to create your project and run:",{"type":36,"tag":117,"props":602,"children":604},{"className":119,"code":603,"language":121,"meta":7,"style":7},"bruin init\n",[605],{"type":36,"tag":124,"props":606,"children":607},{"__ignoreMap":7},[608],{"type":36,"tag":128,"props":609,"children":610},{"class":130,"line":131},[611,615],{"type":36,"tag":128,"props":612,"children":613},{"style":135},[614],{"type":42,"value":138},{"type":36,"tag":128,"props":616,"children":617},{"style":141},[618],{"type":42,"value":619}," init\n",{"type":36,"tag":45,"props":621,"children":622},{},[623],{"type":42,"value":624},"You'll see an interactive menu listing all available templates. Use the arrow keys to browse through them and press Enter to select one.",{"type":36,"tag":45,"props":626,"children":627},{},[628],{"type":42,"value":629},"Each template is designed for a specific use case - some pull data from APIs, others connect to databases like Oracle or PostgreSQL.",{"type":36,"tag":68,"props":631,"children":633},{"id":632},"_2-initialize-with-a-specific-template",[634],{"type":42,"value":635},"2) Initialize with a specific template",{"type":36,"tag":45,"props":637,"children":638},{},[639],{"type":36,"tag":591,"props":640,"children":643},{"alt":641,"src":642},"bruin init with template name","/img/learn/tutorials/init.gif",[],{"type":36,"tag":45,"props":645,"children":646},{},[647],{"type":42,"value":648},"If you already know which template you want, skip the interactive menu by specifying the template name and folder directly:",{"type":36,"tag":117,"props":650,"children":652},{"className":119,"code":651,"language":121,"meta":7,"style":7},"bruin init frankfurter FXmetrics\n",[653],{"type":36,"tag":124,"props":654,"children":655},{"__ignoreMap":7},[656],{"type":36,"tag":128,"props":657,"children":658},{"class":130,"line":131},[659,663,668,673],{"type":36,"tag":128,"props":660,"children":661},{"style":135},[662],{"type":42,"value":138},{"type":36,"tag":128,"props":664,"children":665},{"style":141},[666],{"type":42,"value":667}," init",{"type":36,"tag":128,"props":669,"children":670},{"style":141},[671],{"type":42,"value":672}," frankfurter",{"type":36,"tag":128,"props":674,"children":675},{"style":141},[676],{"type":42,"value":677}," FXmetrics\n",{"type":36,"tag":45,"props":679,"children":680},{},[681,683,689,691,697],{"type":42,"value":682},"This creates a project called ",{"type":36,"tag":124,"props":684,"children":686},{"className":685},[],[687],{"type":42,"value":688},"FXmetrics",{"type":42,"value":690}," from the ",{"type":36,"tag":124,"props":692,"children":694},{"className":693},[],[695],{"type":42,"value":696},"frankfurter",{"type":42,"value":698}," template. The Frankfurter template ingests foreign exchange rate data from the open Frankfurter API - no credentials needed.",{"type":36,"tag":68,"props":700,"children":702},{"id":701},"_3-explore-the-project-structure",[703],{"type":42,"value":704},"3) Explore the project structure",{"type":36,"tag":45,"props":706,"children":707},{},[708],{"type":42,"value":709},"After initialization, your project looks like this:",{"type":36,"tag":117,"props":711,"children":715},{"className":712,"code":714,"language":42},[713],"language-text","FXmetrics/\n├── assets/\n│   ├── fx_rates.asset.yml        # ingestr: fetches exchange rate data\n│   └── exchange_rate_summary.sql # SQL: transforms the raw data\n├── .bruin.yml                     # connections and environment config\n├── pipeline.yml                   # pipeline name and defaults\n└── README.md                      # template documentation\n",[716],{"type":36,"tag":124,"props":717,"children":718},{"__ignoreMap":7},[719],{"type":42,"value":714},{"type":36,"tag":45,"props":721,"children":722},{},[723],{"type":42,"value":724},"Key files:",{"type":36,"tag":726,"props":727,"children":728},"ul",{},[729,743,757,774],{"type":36,"tag":160,"props":730,"children":731},{},[732,741],{"type":36,"tag":83,"props":733,"children":734},{},[735],{"type":36,"tag":124,"props":736,"children":738},{"className":737},[],[739],{"type":42,"value":740},".bruin.yml",{"type":42,"value":742}," — Defines your connections and environments. The template pre-fills this with sensible defaults.",{"type":36,"tag":160,"props":744,"children":745},{},[746,755],{"type":36,"tag":83,"props":747,"children":748},{},[749],{"type":36,"tag":124,"props":750,"children":752},{"className":751},[],[753],{"type":42,"value":754},"pipeline.yml",{"type":42,"value":756}," — Sets the pipeline name and links it to the default connections.",{"type":36,"tag":160,"props":758,"children":759},{},[760,764,766,772],{"type":36,"tag":83,"props":761,"children":762},{},[763],{"type":42,"value":87},{"type":42,"value":765}," (",{"type":36,"tag":124,"props":767,"children":769},{"className":768},[],[770],{"type":42,"value":771},".asset.yml",{"type":42,"value":773},") — Define where to pull data from and where to store it.",{"type":36,"tag":160,"props":775,"children":776},{},[777,781,782,788],{"type":36,"tag":83,"props":778,"children":779},{},[780],{"type":42,"value":97},{"type":42,"value":765},{"type":36,"tag":124,"props":783,"children":785},{"className":784},[],[786],{"type":42,"value":787},".sql",{"type":42,"value":789},") — Transform the ingested data into analytical views.",{"type":36,"tag":68,"props":791,"children":793},{"id":792},"_4-review-the-configuration",[794],{"type":42,"value":795},"4) Review the configuration",{"type":36,"tag":45,"props":797,"children":798},{},[799,801,806],{"type":42,"value":800},"Open ",{"type":36,"tag":124,"props":802,"children":804},{"className":803},[],[805],{"type":42,"value":740},{"type":42,"value":807}," to see the pre-configured connections. The Frankfurter template typically sets up a DuckDB connection for local storage:",{"type":36,"tag":117,"props":809,"children":813},{"className":810,"code":811,"language":812,"meta":7,"style":7},"language-yaml shiki shiki-themes github-dark","environments:\n  default:\n    connections:\n      duckdb:\n        - name: \"duckdb-default\"\n          path: \"fx.db\"\n","yaml",[814],{"type":36,"tag":124,"props":815,"children":816},{"__ignoreMap":7},[817,832,844,856,868,892],{"type":36,"tag":128,"props":818,"children":819},{"class":130,"line":131},[820,826],{"type":36,"tag":128,"props":821,"children":823},{"style":822},"--shiki-default:#85E89D",[824],{"type":42,"value":825},"environments",{"type":36,"tag":128,"props":827,"children":829},{"style":828},"--shiki-default:#E1E4E8",[830],{"type":42,"value":831},":\n",{"type":36,"tag":128,"props":833,"children":834},{"class":130,"line":16},[835,840],{"type":36,"tag":128,"props":836,"children":837},{"style":822},[838],{"type":42,"value":839},"  default",{"type":36,"tag":128,"props":841,"children":842},{"style":828},[843],{"type":42,"value":831},{"type":36,"tag":128,"props":845,"children":846},{"class":130,"line":306},[847,852],{"type":36,"tag":128,"props":848,"children":849},{"style":822},[850],{"type":42,"value":851},"    connections",{"type":36,"tag":128,"props":853,"children":854},{"style":828},[855],{"type":42,"value":831},{"type":36,"tag":128,"props":857,"children":858},{"class":130,"line":11},[859,864],{"type":36,"tag":128,"props":860,"children":861},{"style":822},[862],{"type":42,"value":863},"      duckdb",{"type":36,"tag":128,"props":865,"children":866},{"style":828},[867],{"type":42,"value":831},{"type":36,"tag":128,"props":869,"children":871},{"class":130,"line":870},5,[872,877,882,887],{"type":36,"tag":128,"props":873,"children":874},{"style":828},[875],{"type":42,"value":876},"        - ",{"type":36,"tag":128,"props":878,"children":879},{"style":822},[880],{"type":42,"value":881},"name",{"type":36,"tag":128,"props":883,"children":884},{"style":828},[885],{"type":42,"value":886},": ",{"type":36,"tag":128,"props":888,"children":889},{"style":141},[890],{"type":42,"value":891},"\"duckdb-default\"\n",{"type":36,"tag":128,"props":893,"children":895},{"class":130,"line":894},6,[896,901,905],{"type":36,"tag":128,"props":897,"children":898},{"style":822},[899],{"type":42,"value":900},"          path",{"type":36,"tag":128,"props":902,"children":903},{"style":828},[904],{"type":42,"value":886},{"type":36,"tag":128,"props":906,"children":907},{"style":141},[908],{"type":42,"value":909},"\"fx.db\"\n",{"type":36,"tag":45,"props":911,"children":912},{},[913,914,919],{"type":42,"value":800},{"type":36,"tag":124,"props":915,"children":917},{"className":916},[],[918],{"type":42,"value":754},{"type":42,"value":920}," to see the pipeline configuration:",{"type":36,"tag":117,"props":922,"children":924},{"className":810,"code":923,"language":812,"meta":7,"style":7},"name: FXmetrics\ndefault_connections:\n  duckdb: \"duckdb-default\"\n",[925],{"type":36,"tag":124,"props":926,"children":927},{"__ignoreMap":7},[928,944,956],{"type":36,"tag":128,"props":929,"children":930},{"class":130,"line":131},[931,935,939],{"type":36,"tag":128,"props":932,"children":933},{"style":822},[934],{"type":42,"value":881},{"type":36,"tag":128,"props":936,"children":937},{"style":828},[938],{"type":42,"value":886},{"type":36,"tag":128,"props":940,"children":941},{"style":141},[942],{"type":42,"value":943},"FXmetrics\n",{"type":36,"tag":128,"props":945,"children":946},{"class":130,"line":16},[947,952],{"type":36,"tag":128,"props":948,"children":949},{"style":822},[950],{"type":42,"value":951},"default_connections",{"type":36,"tag":128,"props":953,"children":954},{"style":828},[955],{"type":42,"value":831},{"type":36,"tag":128,"props":957,"children":958},{"class":130,"line":306},[959,964,968],{"type":36,"tag":128,"props":960,"children":961},{"style":822},[962],{"type":42,"value":963},"  duckdb",{"type":36,"tag":128,"props":965,"children":966},{"style":828},[967],{"type":42,"value":886},{"type":36,"tag":128,"props":969,"children":970},{"style":141},[971],{"type":42,"value":891},{"type":36,"tag":37,"props":973,"children":974},{"id":284},[975],{"type":42,"value":287},{"type":36,"tag":45,"props":977,"children":978},{},[979],{"type":42,"value":980},"You scaffolded a complete pipeline project from a template. The project has pre-configured connections, ingestr assets for data ingestion, and SQL assets for transformation. Next, you'll run the pipeline and explore the results.",{"type":36,"tag":294,"props":982,"children":983},{},[984],{"type":42,"value":298},{"title":7,"searchDepth":16,"depth":16,"links":986},[987,988,989,995],{"id":39,"depth":16,"text":43},{"id":52,"depth":16,"text":55},{"id":63,"depth":16,"text":66,"children":990},[991,992,993,994],{"id":583,"depth":306,"text":586},{"id":632,"depth":306,"text":635},{"id":701,"depth":306,"text":704},{"id":792,"depth":306,"text":795},{"id":284,"depth":16,"text":287},"content:tutorials:bruin-templates:initialize-template.md","tutorials/bruin-templates/initialize-template.md","tutorials/bruin-templates/initialize-template",{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"date":10,"readingTime":11,"category":12,"tags":1000,"difficulty":15,"module":5,"step":16,"subSteps":17,"learnMore":1001,"author":1005,"body":1006,"_type":311,"_id":312,"_source":313,"_file":314,"_stem":315,"_extension":316},[14],[1002,1003,1004],{"label":20,"url":21},{"label":23,"url":24},{"label":26,"url":27},{"name":29,"role":30,"image":31},{"type":33,"children":1007,"toc":1206},[1008,1012,1016,1020,1024,1028,1032,1036,1044,1052,1056,1060,1064,1085,1089,1100,1104,1108,1112,1145,1149,1153,1157,1190,1194,1198,1202],{"type":36,"tag":37,"props":1009,"children":1010},{"id":39},[1011],{"type":42,"value":43},{"type":36,"tag":45,"props":1013,"children":1014},{},[1015],{"type":42,"value":49},{"type":36,"tag":37,"props":1017,"children":1018},{"id":52},[1019],{"type":42,"value":55},{"type":36,"tag":45,"props":1021,"children":1022},{},[1023],{"type":42,"value":60},{"type":36,"tag":37,"props":1025,"children":1026},{"id":63},[1027],{"type":42,"value":66},{"type":36,"tag":68,"props":1029,"children":1030},{"id":70},[1031],{"type":42,"value":73},{"type":36,"tag":45,"props":1033,"children":1034},{},[1035],{"type":42,"value":78},{"type":36,"tag":45,"props":1037,"children":1038},{},[1039,1043],{"type":36,"tag":83,"props":1040,"children":1041},{},[1042],{"type":42,"value":87},{"type":42,"value":89},{"type":36,"tag":45,"props":1045,"children":1046},{},[1047,1051],{"type":36,"tag":83,"props":1048,"children":1049},{},[1050],{"type":42,"value":97},{"type":42,"value":99},{"type":36,"tag":45,"props":1053,"children":1054},{},[1055],{"type":42,"value":104},{"type":36,"tag":68,"props":1057,"children":1058},{"id":107},[1059],{"type":42,"value":110},{"type":36,"tag":45,"props":1061,"children":1062},{},[1063],{"type":42,"value":115},{"type":36,"tag":117,"props":1065,"children":1066},{"className":119,"code":120,"language":121,"meta":7,"style":7},[1067],{"type":36,"tag":124,"props":1068,"children":1069},{"__ignoreMap":7},[1070],{"type":36,"tag":128,"props":1071,"children":1072},{"class":130,"line":131},[1073,1077,1081],{"type":36,"tag":128,"props":1074,"children":1075},{"style":135},[1076],{"type":42,"value":138},{"type":36,"tag":128,"props":1078,"children":1079},{"style":141},[1080],{"type":42,"value":144},{"type":36,"tag":128,"props":1082,"children":1083},{"style":141},[1084],{"type":42,"value":149},{"type":36,"tag":45,"props":1086,"children":1087},{},[1088],{"type":42,"value":154},{"type":36,"tag":156,"props":1090,"children":1091},{},[1092,1096],{"type":36,"tag":160,"props":1093,"children":1094},{},[1095],{"type":42,"value":164},{"type":36,"tag":160,"props":1097,"children":1098},{},[1099],{"type":42,"value":169},{"type":36,"tag":45,"props":1101,"children":1102},{},[1103],{"type":42,"value":174},{"type":36,"tag":68,"props":1105,"children":1106},{"id":177},[1107],{"type":42,"value":180},{"type":36,"tag":45,"props":1109,"children":1110},{},[1111],{"type":42,"value":185},{"type":36,"tag":117,"props":1113,"children":1114},{"className":119,"code":188,"language":121,"meta":7,"style":7},[1115],{"type":36,"tag":124,"props":1116,"children":1117},{"__ignoreMap":7},[1118],{"type":36,"tag":128,"props":1119,"children":1120},{"class":130,"line":131},[1121,1125,1129,1133,1137,1141],{"type":36,"tag":128,"props":1122,"children":1123},{"style":135},[1124],{"type":42,"value":138},{"type":36,"tag":128,"props":1126,"children":1127},{"style":141},[1128],{"type":42,"value":204},{"type":36,"tag":128,"props":1130,"children":1131},{"style":207},[1132],{"type":42,"value":210},{"type":36,"tag":128,"props":1134,"children":1135},{"style":141},[1136],{"type":42,"value":215},{"type":36,"tag":128,"props":1138,"children":1139},{"style":207},[1140],{"type":42,"value":220},{"type":36,"tag":128,"props":1142,"children":1143},{"style":141},[1144],{"type":42,"value":225},{"type":36,"tag":45,"props":1146,"children":1147},{},[1148],{"type":42,"value":230},{"type":36,"tag":68,"props":1150,"children":1151},{"id":233},[1152],{"type":42,"value":236},{"type":36,"tag":45,"props":1154,"children":1155},{},[1156],{"type":42,"value":241},{"type":36,"tag":117,"props":1158,"children":1159},{"className":119,"code":244,"language":121,"meta":7,"style":7},[1160],{"type":36,"tag":124,"props":1161,"children":1162},{"__ignoreMap":7},[1163],{"type":36,"tag":128,"props":1164,"children":1165},{"class":130,"line":131},[1166,1170,1174,1178,1182,1186],{"type":36,"tag":128,"props":1167,"children":1168},{"style":135},[1169],{"type":42,"value":138},{"type":36,"tag":128,"props":1171,"children":1172},{"style":141},[1173],{"type":42,"value":204},{"type":36,"tag":128,"props":1175,"children":1176},{"style":207},[1177],{"type":42,"value":210},{"type":36,"tag":128,"props":1179,"children":1180},{"style":141},[1181],{"type":42,"value":215},{"type":36,"tag":128,"props":1183,"children":1184},{"style":207},[1185],{"type":42,"value":220},{"type":36,"tag":128,"props":1187,"children":1188},{"style":141},[1189],{"type":42,"value":276},{"type":36,"tag":45,"props":1191,"children":1192},{},[1193],{"type":42,"value":281},{"type":36,"tag":37,"props":1195,"children":1196},{"id":284},[1197],{"type":42,"value":287},{"type":36,"tag":45,"props":1199,"children":1200},{},[1201],{"type":42,"value":292},{"type":36,"tag":294,"props":1203,"children":1204},{},[1205],{"type":42,"value":298},{"title":7,"searchDepth":16,"depth":16,"links":1207},[1208,1209,1210,1216],{"id":39,"depth":16,"text":43},{"id":52,"depth":16,"text":55},{"id":63,"depth":16,"text":66,"children":1211},[1212,1213,1214,1215],{"id":70,"depth":306,"text":73},{"id":107,"depth":306,"text":110},{"id":177,"depth":306,"text":180},{"id":233,"depth":306,"text":236},{"id":284,"depth":16,"text":287},1776427881364]