{"templateName":"quickstart-page-template","cssClassNames":"page basicpage summit-page","dataLayerName":"adobeDataLayer","clientlibsAsync":false,"dataLayerClientlibIncluded":true,"designPath":"/libs/settings/wcm/designs/default","brandSlug":"","componentsResourceTypes":["snowflake-site/components/quickstart/quickstart-button","snowflake-site/components/nav/nav-column/nav-column-container","snowflake-site/components/structure/page","snowflake-site/components/button","snowflake-site/components/quickstart/quickstart-hero","snowflake-site/components/quickstart/quickstart-table-of-content","snowflake-site/components/experiencefragment","snowflake-site/components/mega-header","snowflake-site/components/modal/modal-container","snowflake-site/components/image","snowflake-site/components/nav/nav-dropdown-header","snowflake-site/components/wistia-video/cta","nt:folder","snowflake-site/components/container","snowflake-site/components/nav/nav-dropdown-menu","snowflake-site/components/nav/nav-column","snowflake-site/components/flexible-column-container","snowflake-site/components/quickstart/quickstart-table-of-content/quickstart-table-of-content-container","snowflake-site/components/button/embedded","snowflake-site/components/icon","snowflake-site/components/nav/nav-mega","cq:LiveCopy","snowflake-site/components/quickstart/quickstart-last-modified","snowflake-site/components/nav/nav-promo-section","snowflake-site/components/markup-editor","snowflake-site/components/text","snowflake-site/components/title-v2","snowflake-site/components/nav/nav-dropdown-footer","nt:unstructured","nt:file","snowflake-site/components/contentfragment","snowflake-site/components/nav/nav-item","snowflake-site/components/nav/nav-promo-card","snowflake-site/components/form/marketo-v2","snowflake-site/components/nav/language-navigation","snowflake-site/components/title","wcm/foundation/components/responsivegrid","nt:resource","snowflake-site/components/structure/xfpage","snowflake-site/components/flexible-column-container/flexible-column-content-container","snowflake-site/components/pushdown-banner"],"lastModifiedDate":1761002005097,"language":"en","title":"End to End Machine learning with Snowflake and Dataiku","tags":["snowflake-site:taxonomy/solution-center/certification/quickstart","snowflake-site:taxonomy/product/ai","snowflake-site:taxonomy/product/applications-and-collaboration","snowflake-site:taxonomy/solution-center/certification/partner-solution","snowflake-site:taxonomy/exclude-tags/hidden"],"allowedRenditionsWidth":["320","480","640","768","960","1200","1440","1920"],"analyticsPageType":"quickstart-page-template","analyticsCategory":"general","analyticsSubCategory":"","excludeFromAnalytics":false,":hierarchyType":"page",":path":"/content/snowflake-site/global/en/developers/guides/end-to-end-machine-learning-with-dataiku","analyticsEnabled":true,":mappedPath":"/en/developers/guides/end-to-end-machine-learning-with-dataiku/",":type":"snowflake-site/components/structure/page",":items":{"root":{"columnClassNames":{"markup_editor_1950346551":"aem-GridColumn aem-GridColumn--default--12","experiencefragment-banner":"aem-GridColumn aem-GridColumn--default--12","experiencefragment-header":"aem-GridColumn aem-GridColumn--default--12","responsivegrid":"aem-GridColumn aem-GridColumn--default--12","experiencefragment-footer":"aem-GridColumn aem-GridColumn--default--12","modal_container":"aem-GridColumn aem-GridColumn--default--12","markup_editor":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","columnCount":12,":items":{"experiencefragment-banner":{"id":"experiencefragment-2a5593e999","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/pushdown-banner/master/jcr:content","configured":true,":type":"snowflake-site/components/experiencefragment",":items":{"root":{"columnClassNames":{"pushdown_banner_copy":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-0006fdd815",":type":"snowflake-site/components/container",":items":{"pushdown_banner_copy":{"id":"pushdown-banner-0acff58b48","contentHeadline":"Summit Builder Keynote Debut","contentDescription":"Broadcast live on June 23","contentJustifyContent":"center","linkStyle":"text-white","linkCTA":{"id":"link-cta","heapButtonClasses":["pushdown_banner"],"showOutboundIcon":false,"buttonLink":{"valid":true,"attributes":{"target":"_blank"},"url":"https://reg.snowflake.com/flow/snowflake/summit26/digitalreg/page/main"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Register now"},":type":"snowflake-site/components/pushdown-banner","appliedCssClassNames":"snowflake-pushdown-banner-text-white snowflake-pushdown-banner-background-black"}},":itemsOrder":["pushdown_banner_copy"]},"image":{":type":"nt:unstructured"},"cq:metadata":{":type":"nt:unstructured"}},":itemsOrder":["root","image","cq:metadata"],"classNames":"aem-xf"},"experiencefragment-header":{"id":"experiencefragment-1316f6e992","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/jcr:content","configured":true,":type":"snowflake-site/components/experiencefragment",":items":{"root":{"columnClassNames":{"mega_header":"aem-GridColumn aem-GridColumn--default--12","markup_editor":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-1d38293add",":type":"snowflake-site/components/container",":items":{"markup_editor":{"id":"markup-editor-151f184582","title":" ","cssContent":".footer-nav__link-group .snowflake-button-container,.subnav__item--button,.snowflake-card-v2-advanced-button .snowflake-button-container{justify-content:flex-start}.mega-nav__sign-in.snowflake-button-container{display:none}@media screen and (min-width:768px){.mega-nav__sign-in.snowflake-button-container{display:inline-block;font-family:'Texta',sans-serif;font-weight:800 !important}}@media screen and (min-width:1024px) and (max-width:1199px){.snowflake-mega-nav-header-buttons-container .snowflake-button-blue .snowflake-button-container{font-size:13px !important}.snowflake-language-navigation .language-icon{width:18px !important;height:18px !important;margin-right:4px !important}}.mega-nav__sign-in svg{display:none}.nav-item__platform-parent-why-sf.snowflake-mega-nav-nav-item\u003Ea:hover,.nav-item__platform-parent.snowflake-mega-nav-nav-item\u003Ea:hover{background-color:transparent !important}.nav-platform-sidebar .snowflake-mega-nav-nav-item:hover.blue-icon .snowflake-mega-nav-nav-item-icon__inner{background-color:var(--ui-01) !important}@media screen and (min-width:1024px){.snowflake-mega-nav-navigation-dropdown{overflow:hidden}.meganav-platform-features{padding-left:64px}.meganav-platform-features::before{content:'';transform:translateX(-64px);display:block;z-index:0;width:100%;height:100%;position:absolute;top:0;background:#f7f9fa}.nav-item--si.snowflake-mega-nav-nav-item\u003Ea:hover{background-color:transparent}.nav-item--si{border-bottom:1px solid #ccc;padding-bottom:16px;margin-bottom:8px}.nav-item__platform-parent{border-bottom:1px solid #ccc;margin-bottom:8px;padding-bottom:16px}.nav-item__platform-parent-why-sf .snowflake-mega-nav-nav-item-description::after{content:'What Snowflake can do for you \u003E';display:block;color:var(--ui-01);margin-top:16px}.nav-item__platform-parent .snowflake-mega-nav-nav-item-description::after{content:'View the platform \u003E';display:block;color:var(--ui-01);margin-top:16px}}@media screen and (min-width:1367px){.snowflake-mega-nav-nav-item-description{font-size:13px !important;line-height:20px !important}.snowflake-mega-nav-nav-item-title-wrapper\u003E.snowflake-mega-nav-nav-item-title{font-size:17px !important}.nav-item__platform-parent-why-sf .snowflake-mega-nav-nav-item-title,.nav-item__platform-parent .snowflake-mega-nav-nav-item-title{font-size:24px !important;line-height:32px !important;margin-bottom:8px !important}.nav-item__platform-parent-why-sf .snowflake-mega-nav-nav-item-description,.nav-item__platform-parent .snowflake-mega-nav-nav-item-description{font-size:14px !important;line-height:20px !important}}html.wf-texta-n9-loading .display-1-v2{font-size:48px!important;line-height:50px!important;letter-spacing:-.5px!important;font-family:sans-serif!important}html.wf-texta-n9-loading .heading-4-v2{font-size:18px!important;line-height:24px!important;font-family:sans-serif!important}@media screen and (min-width:768px){html.wf-texta-n9-loading .display-2-v2{font-size:48px!important;line-height:50px!important;font-family:sans-serif!important}html.wf-texta-n9-loading .display-1-v2{font-size:55.5px!important;line-height:54px!important;letter-spacing:-.5px!important;font-family:sans-serif!important}html.wf-lato-n4-loading .body-2,html.wf-lato-n4-loading .heading-5-v2,html.wf-lato-n4-loading .snowflake-card-v2-advanced-text .snowflake-text p{font-size:15.5px!important;font-family:sans-serif!important}html.wf-texta-n9-loading .heading-2,html.wf-texta-n9-loading .heading-2-v2{font-size:34px!important;line-height:38px!important;letter-spacing:-.75px!important;font-family:sans-serif!important}html.wf-texta-n8-loading .heading-6-v2.snowflake-mega-nav-navigation-title{font-size:13.5px!important;font-family:sans-serif!important}html.wf-texta-n8-loading .heading-4,html.wf-texta-n8-loading .snowflake-button-container,html.wf-texta-n8-loading .snowflake-button-regular .snowflake-button-container{font-size:13px!important;line-height:20px!important;letter-spacing:.25px!important;font-family:sans-serif!important}}@media screen and (min-width:1024px){html.wf-lato-n4-loading .snowflake-mega-nav-nav-item-description{font-size:11.5px!important;font-family:sans-serif!important}html.wf-lato-n4-loading .body-2,html.wf-lato-n4-loading .text-size-regular .snowflake-text li,html.wf-lato-n4-loading .text-size-regular .snowflake-text p,html.wf-lato-n4-loading .text-size-regular .snowflake-text span[data-testid=text-content],html.wf-lato-n4-loading .text-size-regular.cq-Editable-dom li,html.wf-lato-n4-loading .text-size-regular.cq-Editable-dom p,html.wf-lato-n4-loading .text-size-regular.cq-Editable-dom span[data-testid=text-content]{font-size:13.5px!important;font-family:sans-serif!important}html.wf-texta-n8-loading .snowflake-button-compact .snowflake-button-container{font-size:12px!important;letter-spacing:0!important;line-height:18px!important}}@media screen and (min-width:1367px){html.wf-lato-n4-loading .hp-hero__eyebrow a\u003Eb:first-child{font-size:11px!important;font-family:sans-serif!important}html.wf-texta-n8-loading .hp-hero__eyebrow a{font-size:13px!important;font-family:sans-serif!important}html.wf-texta-n9-loading .display-2-v2{font-size:61px!important;line-height:60px!important;font-family:sans-serif!important}html.wf-texta-n9-loading .display-1-v2{font-size:74.5px!important;line-height:74px!important;letter-spacing:-.75px!important;font-family:sans-serif!important}html.wf-texta-n9-loading .heading-2,html.wf-texta-n9-loading .heading-2-v2{font-size:41px!important;letter-spacing:-.75px!important;font-family:sans-serif!important}html.wf-texta-n9-loading .heading-3-v2{font-family:sans-serif!important;letter-spacing:-.75px!important;font-size:33.75px!important}html.wf-texta-n9-loading .heading-4-v2{font-size:19.5px!important;line-height:26px!important;font-family:sans-serif!important}html.wf-texta-n8-loading .heading-6-v2{font-size:12px!important;font-family:sans-serif!important}html.wf-texta-n8-loading .heading-6-v2.snowflake-mega-nav-navigation-title{font-size:14px!important;font-family:sans-serif!important}html.wf-lato-n4-loading .body-1,html.wf-lato-n4-loading .cq-Editable-dom[data-cq-data-path*=text] ol\u003Eli,html.wf-lato-n4-loading .snowflake-text li,html.wf-lato-n4-loading .snowflake-text p,html.wf-lato-n4-loading .text-size-large .snowflake-text li,html.wf-lato-n4-loading .text-size-large .snowflake-text p,html.wf-lato-n4-loading .text-size-large .snowflake-text span[data-testid=text-content],html.wf-lato-n4-loading .text-size-large.cq-Editable-dom li,html.wf-lato-n4-loading .text-size-large.cq-Editable-dom p,html.wf-lato-n4-loading .text-size-large.cq-Editable-dom span[data-testid=text-content],html.wf-lato-n4-loading.cq-Editable-dom[data-cq-data-path*=text]\u003Ep,html.wf-lato-n4-loading.cq-Editable-dom[data-cq-data-path*=text]\u003Eul\u003Eli{font-size:17.5px!important;font-family:sans-serif!important}html.wf-lato-n4-loading .body-2,html.wf-lato-n4-loading .text-size-regular .snowflake-text li,html.wf-lato-n4-loading .text-size-regular .snowflake-text p,html.wf-lato-n4-loading .text-size-regular .snowflake-text span[data-testid=text-content],html.wf-lato-n4-loading .text-size-regular.cq-Editable-dom li,html.wf-lato-n4-loading .text-size-regular.cq-Editable-dom p,html.wf-lato-n4-loading .text-size-regular.cq-Editable-dom span[data-testid=text-content],html.wf-texta-n8-loading .snowflake-button-link .snowflake-button-container,html.wf-texta-n8-loading .snowflake-button-link-back .snowflake-button-container{font-size:15.5px!important;font-family:sans-serif!important}html.wf-lato-n4-loading .body-3,html.wf-lato-n4-loading .text-size-small .snowflake-text li,html.wf-lato-n4-loading .text-size-small .snowflake-text p,html.wf-lato-n4-loading .text-size-small .snowflake-text span[data-testid=text-content],html.wf-lato-n4-loading .text-size-small.cq-Editable-dom li,html.wf-lato-n4-loading .text-size-small.cq-Editable-dom p,html.wf-lato-n4-loading .text-size-small.cq-Editable-dom span[data-testid=text-content]{font-size:13.5px!important;font-family:sans-serif!important}}#industryPlatformSection,.sc-hero{background-position:top left;background-size:20% auto}.bwalignc,.bwalignr{list-style-position:inside}.snowflake-text p sup{font-size:10px}#industryPlatformSection .industry-platform__row .snowflake-flexible-column-container-items,.button-group-pair\u003E.container\u003E.cmp-container\u003E.aem-container,.snowflake-hero-system-content-container{gap:16px}.agenda-item p,.button-group-pair\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv,.partner-details p{margin:0!important}.button-group-pair\u003E.container\u003E.cmp-container\u003E.aem-container::after,.button-group-pair\u003E.container\u003E.cmp-container\u003E.aem-container::before,.hide-logo .snowflake-case-study-card-logo,.partner-page__powered-by-logo,.sc-hero div.code-toolbar\u003E.toolbar,.snowflake-card-v2-advanced.no-link .snowflake-card-v2-advanced-button,.snowflake-partner-hero-card-badge-container{display:none!important}.section--card-mobile-carousel .snowflake-flexible-column-container-items-with-carousel{max-width:100%!important}@media screen and (min-width:768px){.button-group-pair .snowflake-button-container.inline-button--desktop,.button-group-pair\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:auto!important;display:inline-block!important}.button-group-pair\u003E.container\u003E.cmp-container\u003E.aem-container{align-items:center;justify-content:flex-start!important}.button-group-pair.center\u003E.container\u003E.cmp-container\u003E.aem-container{justify-content:center!important}.section--card-mobile-carousel{margin-left:var(--tablet-portrait-margin,48px)!important;margin-right:var(--tablet-portrait-margin,48px);width:calc(100% - 96px)!important;width:calc(100% - var(--tablet-portrait-margin) * 2)!important}}@media screen and (min-width:1024px){.section--card-mobile-carousel{margin-left:var(--tablet-horizontal-margin,48px)!important;margin-right:var(--tablet-horizontal-margin,48px);width:calc(100% - 96px)!important;width:calc(100% - var(--tablet-horizontal-margin) * 2)!important}.snowflake-mega-nav-header-mobile-icon{display:none!important}}@media screen and (min-width:1367px){.section--card-mobile-carousel{margin-left:var(--desktop-margin,6.5%)!important;margin-right:var(--desktop-margin,6.5%);width:87%!important;width:calc(100% - var(--desktop-margin) * 2)!important}.logo-container{min-width:143px}.sc-hero__headline .heading-1-v2{font-size:60px}.snowflake-mega-nav-navigation-title{font-size:17px}.snowflake-mega-nav-dropdown-footer-wrapper .snowflake-title-v2 .snowflake-title-v2-line:first-child{font-size:16px!important;line-height:24px!important}}.hero--home{overflow:hidden;background-color:var(--ui-01);z-index:2}.hp-hero__subheadline{width:90%}.hero--home .snowflake-button-container{transition:.3s}.hero--home .snowflake-button-primary a:hover,.hero--home .snowflake-button-secondary a:hover,.hero--home .snowflake-button-white a:hover{transition:.3s;background-color:var(--ui-02)!important;color:var(--ui-05)!important}.hero--home .snowflake-button-secondary a:hover{border-color:var(--ui-05)!important}.hero--home .snowflake-button-primary a:hover,.hero--home .snowflake-button-white a:hover{border-color:var(--ui-02)!important}.bwalignc,.hp-hero__eyebrow{text-align:center}.hp-hero__eyebrow a{display:inline-flex;flex-direction:column;justify-content:center;cursor:pointer;padding:8px;border-radius:var(--spacing-01);gap:8px;align-items:center;background-color:#45aee3;color:var(--ui-03);font-family:Texta,sans-serif;font-weight:800;font-size:16px;line-height:22px;transition:background-color .3s}.hp-hero__eyebrow a:hover{background-color:#7fc6ea;text-decoration:none;transition:background-color .3s}.hp-hero__eyebrow a\u003Eb:first-child{text-transform:uppercase;white-space:nowrap;display:inline-block;background-color:var(--ui-02);color:var(--ui-05);font-size:12px!important;line-height:16px!important;font-family:Lato,sans-serif;font-weight:500!important;padding:3px 6px;border-radius:2px;letter-spacing:1px}@media screen and (min-width:767px){.hp-hero__eyebrow{text-align:left}.hp-hero__eyebrow a{flex-direction:row;text-align:left}}.hero--home__inner .offset-video,.hero--home__inner .snowflake-experience-fragment,.offset-video__bg-image{max-height:200px;overflow:hidden}.hero--home__inner .offset-video .wistia-responsive-padding{padding-top:100%}.hero--home__inner .snowflake-experience-fragment,.offset-video__bg-image{position:absolute!important;top:0;left:0;width:100%}.offset-video__bg-image{z-index:-1}@media screen and (min-width:768px){.hero--home__inner .snowflake-experience-fragment,.offset-video,.offset-video__bg-image{position:absolute!important;max-height:none;top:0;left:0;width:250%;padding-bottom:250%;transform:translate(0,-50%);height:0}.workloads_7.unistore{max-width:317px}}.promo-banner--homepage{z-index:2}.homepage-banner-offset-container::after{content:\"\";display:block;position:absolute;bottom:0;z-index:1;left:0;width:100%;height:80%;background:#fff}.section--quicklinks .snowflake-button-full-width a{padding-left:24px!important;padding-right:24px!important;transition:box-shadow .25s cubic-bezier(.4,0,.2,1);text-align:left;display:flex;justify-content:center;align-items:center}.section--quicklinks .snowflake-button-full-width a:hover{box-shadow:0 16px 16px 0 rgb(0 0 0 / .16);transition:box-shadow .25s cubic-bezier(.4,0,.2,1)}.section--quicklinks .snowflake-button-container:focus-visible a::before,.section--quicklinks .snowflake-button-full-width a::before{content:\"\";width:23px;height:23px;flex-shrink:0;margin-right:12px;display:inline-block;background-size:cover;background-repeat:no-repeat;background-position:center}#industryPartnerSlider .snowflake-navigation-icon.swiper-button-disabled,#partnerResources .section--resource-hub a svg,.button-tabs span.snowflake-tabs-navigation-item:after,.customer-card--hide-cta .snowflake-case-study-card-button,.dot-tabs span.snowflake-tabs-navigation-item::after,.partner-sidebar__mobile-expand,html:not(.aem-AuthorLayer-initial):not(.aem-AuthorLayer-Edit) .tab-content:not(.is-active){display:none}.section--quicklinks .snowflake-button-full-width a.pricing::before{background-image:url(https://www.snowflake.com/content/dam/snowflake-site/general/icons/decorative-icons/pricing-icon.svg)}.section--quicklinks .snowflake-button-full-width a.snowflake_on_snowflake::before{background-image:url(https://www.snowflake.com/content/dam/snowflake-site/general/icons/navigation/nav-icon_snowflake-bug.svg)}.section--quicklinks .snowflake-button-full-width a.virtual_hands_on_labs::before{background-image:url(https://www.snowflake.com/content/dam/snowflake-site/general/icons/navigation/nav-icon__training.svg)}.section--quicklinks .snowflake-button-full-width a.weekly_demo::before{background-image:url(https://www.snowflake.com/content/dam/snowflake-site/general/icons/navigation/nav-icon__webinars.svg)}@media screen and (min-width:1024px){.hero--home__inner .snowflake-experience-fragment,.offset-video,.offset-video__bg-image{left:-50%}.section--quicklinks .snowflake-flexible-column-container-items{gap:24px}.snowflake-quote-item-inner{padding:32px 24px 24px!important}}#communitiesOuter_overflowBottomGray::after{max-height:100px}#caseStudyOuter_overflowBottomMidBlue::after{max-height:180px}#caseStudyInner .snowflake-case-study-card .snowflake-wistia-video{border-radius:0!important}#caseStudyInner .snowflake-case-study-card{box-shadow:none!important;border-radius:0}#caseStudyInner{max-width:1200px;margin:0 auto;box-shadow:rgb(152 162 179 / .1) 0 10px 20px 0,rgb(152 162 179 / .25) 0 2px 6px 0;border-radius:8px;overflow:hidden;position:relative;z-index:1}.case-study__logo-bar\u003E.snowflake-flexible-column-container-items{background:#f7f9fa;padding:32px 16px 40px}.case-study__logo-bar .cmp-image__image{width:90%;margin:0 auto;max-width:240px}.hp-platform__text-group\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:not(:first-child),.sc-sidebar__group .snowflake-button-link{margin-top:8px}.workloads_7.unistore{margin-left:auto;margin-right:auto}#homepageFootnotesInner .snowflake-simple-stat-disclaimer .snowflake-text p{color:#fff!important}.snowflake-simple-stat-disclaimer .snowflake-text p\u003Ea{border-bottom:1px solid var(--ui-03);color:var(--text-03)}.snowflake-card-v2-advanced{color:inherit}#workloadCardGridOuter .snowflake-card-v2-base-front{gap:0}.video-modal.snowflake-modal-window-open-inner{background-color:#fff0;padding:8px;border:none}.snowflake-container-arrow-dotted-faded .snowflake-container-arrow-dotted-faded-image{width:40%!important;max-width:420px;top:4%!important}.list--blue-bullets ul{margin:0!important;padding:0!important;list-style-type:none}.list--blue-bullets li{margin:0;padding:0 0 0 32px;position:relative}.list--blue-bullets li::before{content:\"\";display:block;border-radius:100%;background:#29b5e8;width:18px;height:18px;position:absolute;top:4px;left:0;border:5px solid #e5f2f7;box-sizing:border-box}.list--blue-bullets li:not(:last-child){margin-bottom:1rem}.logo-tabs .snowflake-navigation-container,.snowflake-simple-stat-content:empty,.summit-speaker-card .snowflake-card-v2-advanced-text{margin-bottom:0}#techResourceInner,#techResourceOuter,div.overflow-bottom--blue,div.overflow-bottom--gray,div.overflow-bottom--mid-blue,div.overflow-bottom--white,div.overflow-top--blue,div.overflow-top--gray,div.overflow-top--mid-blue,div.overflow-top--white,div[id$=overflowBottomGray],div[id$=overflowBottomMidBlue],div[id$=overflowTopBlue],div[id$=overflowTopGray]{position:relative}div.overflow-bottom--blue::after,div.overflow-bottom--gray::after,div.overflow-bottom--mid-blue::after,div.overflow-bottom--white::after,div.overflow-top--blue::after,div.overflow-top--gray::after,div.overflow-top--mid-blue::after,div.overflow-top--white::after,div[id$=overflowBottomGray]::after,div[id$=overflowBottomMidBlue]::after,div[id$=overflowBottomWhite]::after,div[id$=overflowTopBlue]::after,div[id$=overflowTopGray]::after,div[id$=overflowTopWhite]::after{content:\"\";display:block;position:absolute;left:0;width:100%;height:40%}div.overflow-top--blue::after,div.overflow-top--gray::after,div.overflow-top--mid-blue::after,div.overflow-top--white::after,div[id$=overflowTopBlue]::after,div[id$=overflowTopGray]::after,div[id$=overflowTopWhite]::after{top:0}div.overflow-bottom--blue::after,div.overflow-bottom--gray::after,div.overflow-bottom--mid-blue::after,div.overflow-bottom--white::after,div[id$=overflowBottomGray]::after,div[id$=overflowBottomMidBlue]::after,div[id$=overflowBottomWhite]::after{bottom:0}div.overflow-bottom--white::after,div.overflow-top--white::after,div[id$=overflowBottomWhite]::after,div[id$=overflowTopWhite]::after{background:#fff!important}div.overflow-bottom--gray::after,div.overflow-top--gray::after,div[id$=overflowBottomGray]::after,div[id$=overflowTopGray]::after{background:#f6f9fa!important}div.overflow-bottom--mid-blue::after,div.overflow-top--mid-blue::after,div[id$=overflowBottomMidBlue]::after,div[id$=overflowTopMidBlue]::after{background:#11567f!important}div.overflow-bottom--blue::after,div.overflow-top--blue::after,div[id$=overflowBottomBlue]::after,div[id$=overflowTopBlue]::after{background:#259edc!important}.snowflake-premium-content-banner.promo-banner--no-shadow{box-shadow:none!important}#industryPartnerSlider .cmp-image__image,#industryPartnerSlider .section--partner-tabs .snowflake-image-container .cmp-image__image,#partnerSidebar,.has-shadow .cmp-image__image{box-shadow:0 10px 20px 0 rgb(152 162 179 / .1),0 2px 6px 0 rgb(152 162 179 / .25)}.content-chip--has-desc{align-items:flex-start;padding:20px!important}.content-chip--has-desc .snowflake-content-chip-image{max-width:100px}.content-chip--has-desc .snowflake-content-chip-image__image{aspect-ratio:1}.content-chip--has-desc .snowflake-title-v2-line:first-child{font-size:18px!important}.content-chip--has-desc .snowflake-title-v2-line:nth-child(2){color:#000!important;font-weight:500!important;font-size:16px!important;line-height:22px!important;margin-top:2px!important}.content-chip--has-desc .snowflake-content-chip-button{margin-top:6px!important;font-size:18px!important;display:none}.square-image .snowflake-content-chip-image{aspect-ratio:1;max-width:120px}.section--logo-bar.smaller-logos .snowflake-image-container .cmp-image__image{max-width:200px;margin:0 auto}.snowflake-card-v2-advanced-tag,.snowflake-content-chip-tag{padding:3px 6px!important}.sc-overview__webinar-promo-banner .snowflake-content-chip-button,.snowflake-card-v2-advanced-title:first-child,.summit-pricing-block__aside ul{margin-top:0}.dot-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item{width:40px;height:40px;display:flex;justify-content:center;align-items:center;margin:0!important}.dot-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item p{width:12px;height:12px;background:var(--ui-12);border-radius:100%}.dot-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item p,.logo-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item p{font-size:0!important}.dot-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item.active p{background:var(--ui-01)}.button-tabs .snowflake-navigation-container .swiper-wrapper{padding:8px 0}.button-tabs .snowflake-navigation-container .swiper-slide{margin:0 6px}.button-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item{padding:8px 24px;background-color:#f6f9fa;border-radius:48px;margin:0}.button-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item p{text-transform:uppercase;font-family:Texta,sans-serif;font-weight:700}.button-tabs .border-top{border-top:1px solid #ccc}.button-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item.active{background-color:var(--ui-01);box-shadow:0 2px 6px 0 rgb(152 162 179 / .25),0 10px 20px 0 rgb(152 162 179 / .1)}.button-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item.active p{color:#fff}.button-tabs.has-icons .snowflake-navigation-container .snowflake-tabs-navigation-item p::before{content:\"\";display:inline-block;width:20px;height:20px;background-size:contain;background-repeat:no-repeat;background-position:center center;margin-right:12px;vertical-align:middle;margin-top:-3px}.logo-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item{width:220px;padding-bottom:50%;height:0;margin:0 8px!important;background-size:cover;background-repeat:no-repeat;opacity:.5;transition:opacity .3s}.logo-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item:hover{opacity:.75;transition:opacity .3s}.logo-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item.active{opacity:1;transition:opacity .3s}.dot-tabs .aem-container.cmp-tabs,.logo-tabs .aem-container.cmp-tabs{display:flex;flex-direction:column-reverse}.snowflake-icon.is-center{margin:0 auto;display:block}#industryPartnerSlider .snowflake-flexible-column-container-items,#partnerLogoSquare .snowflake-flexible-column-container-items{gap:24px}#techResourceOuter::after{content:\"\";display:block;position:absolute;top:0;left:0;width:100%;height:40%;background:#f6f9fa}#techResourceInner{z-index:1}.partner-tier-tag h6{display:inline-block!important;padding:2px 6px;border-radius:2px;color:#666}.partner-tier-tag.registered h6{background-color:#f6f9fa}.partner-tier-tag.elite h6{background-color:#11567f;color:#fff}.partner-tier-tag.premier h6{background-color:#b14c77;color:#fff}.partner-tier-tag.select h6{background-color:#5094a0;color:#fff}.partner-details\u003Espan{display:flex;gap:24px}.partner-details a{color:inherit!important;font-weight:400!important}.partner-details p::before{content:\"\";display:inline-block;vertical-align:middle;width:16px;height:16px;background-repeat:no-repeat;background-position:center;transform:translateY(-1px);background-size:auto 90%;margin-right:6px}.partner-details__location::before{background-image:url(\"data:image/svg+xml,%3Csvg width='13' height='18' viewBox='0 0 13 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M6.25 17.7531C6.4375 17.7531 6.6 17.6844 6.7375 17.5531C6.875 17.4219 6.95 17.2531 6.95 17.0531C6.95 16.8531 7.075 16.4281 7.3 15.7969C7.5875 15.0281 7.925 14.3156 8.30625 13.6406C8.8 12.7781 9.3125 12.1031 9.85 11.6094C10.75 10.7969 11.4125 9.96563 11.85 9.12188C12.2875 8.27813 12.5063 7.40313 12.5063 6.49063C12.5063 5.36563 12.2187 4.31563 11.6437 3.33438C11.0937 2.40313 10.3438 1.65938 9.4 1.10938C8.43125 .534376 7.375 .246876 6.24375 .246876C5.1125 .246876 4.06875 .534376 3.0875 1.10938C2.15625 1.65938 1.4125 2.40313 .862498 3.33438C.287498 4.31563 0 5.36563 0 6.49063C0 7.47188 .262499 8.42813 .787499 9.35938C1.14375 10.0031 1.65625 10.6656 2.3125 11.3344C2.75625 11.8031 3.24375 12.4781 3.78125 13.3656C4.225 14.0969 4.63125 14.8594 5 15.6656C5.35 16.3844 5.53125 16.8531 5.55625 17.0656C5.55625 17.2594 5.625 17.4156 5.7625 17.5531C5.9 17.6844 6.0625 17.7531 6.25 17.7531ZM6.16875 14.9156C5.775 14.0656 5.325 13.2469 4.825 12.4594C4.275 11.5594 3.7625 10.8719 3.28125 10.3969C2.625 9.71563 2.1375 9.05938 1.825 8.43438C1.5125 7.80313 1.35625 7.16563 1.35625 6.50313C1.35625 5.61563 1.575 4.80313 2.0125 4.05313C2.45 3.30313 3.04375 2.71563 3.7875 2.27813C4.5375 1.84063 5.35 1.62188 6.2375 1.62188C7.125 1.62188 7.9375 1.84063 8.6875 2.27813C9.4375 2.71563 10.0312 3.30313 10.475 4.04688C10.9187 4.80313 11.1375 5.62188 11.1375 6.50313C11.1375 7.90313 10.3937 9.26563 8.9125 10.5969C8.35 11.1094 7.8125 11.7906 7.3 12.6406C6.88125 13.3344 6.50625 14.0969 6.16875 14.9219V14.9156ZM6.26875 8.36563C6.65625 8.36563 7.01875 8.26563 7.35625 8.07188C7.69375 7.87813 7.95625 7.60938 8.14375 7.28438C8.3375 6.95313 8.43125 6.59063 8.43125 6.19688C8.43125 5.80313 8.33125 5.43438 8.1375 5.10313C7.9375 4.76563 7.675 4.50313 7.3375 4.31563C7 4.12813 6.6375 4.02813 6.24375 4.02813C5.85 4.02813 5.4875 4.12813 5.15625 4.32188C4.825 4.52188 4.56875 4.78438 4.375 5.12188C4.18125 5.45938 4.0875 5.82188 4.0875 6.20938C4.0875 6.59688 4.1875 6.95938 4.38125 7.29688C4.58125 7.63438 4.84375 7.89688 5.18125 8.08438C5.51875 8.27813 5.88125 8.37188 6.26875 8.37188V8.36563ZM6.24375 7.50313C5.8875 7.50313 5.575 7.37188 5.31875 7.11563C5.0625 6.85938 4.93125 6.55313 4.93125 6.19063C4.93125 5.82813 5.0625 5.52188 5.31875 5.26563C5.575 5.00938 5.88125 4.87813 6.24375 4.87813C6.60625 4.87813 6.9125 5.00938 7.16875 5.26563C7.425 5.52188 7.55625 5.82813 7.55625 6.19063C7.55625 6.55313 7.425 6.85938 7.16875 7.11563C6.9125 7.37188 6.60625 7.50313 6.24375 7.50313Z' fill='%2329B5E8'/%3E%3C/svg%3E%0A\")}.partner-details__website::before{background-image:url(\"data:image/svg+xml,%3Csvg width='18' height='16' viewBox='0 0 18 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.61587 2.96889C2.61587 2.75109 2.79633 2.57062 3.01413 2.57062C3.23192 2.57062 3.41238 2.75109 3.41238 2.96889C3.41238 3.18669 3.23192 3.36716 3.01413 3.36716C2.79633 3.36716 2.61587 3.18669 2.61587 2.96889ZM4.21512 2.96889C4.21512 2.75109 4.39558 2.57062 4.61338 2.57062C4.83117 2.57062 5.01163 2.75109 5.01163 2.96889C5.01163 3.18669 4.83117 3.36716 4.61338 3.36716C4.39558 3.36716 4.21512 3.18669 4.21512 2.96889ZM5.81438 2.96889C5.81438 2.75109 5.99484 2.57062 6.21264 2.57062C6.43043 2.57062 6.61089 2.75109 6.61089 2.96889C6.61089 3.18669 6.43043 3.36716 6.21264 3.36716C5.99484 3.36716 5.81438 3.18669 5.81438 2.96889ZM17.2518 .697559H1.19085C.811258 .697559 .506348 1.0025 .506348 1.38209V14.6179C.506348 14.9975 .811258 15.3024 1.19085 15.3024H17.2518C17.6314 15.3024 17.9363 14.9975 17.9363 14.6179V1.38209C17.9363 1.0025 17.6314 .697559 17.2518 .697559ZM16.5673 2.06035V3.90853H1.86914V2.06035H16.5673ZM1.86914 13.9334V4.78593H16.5673V13.9334H1.86914Z' fill='%2329B5E8'/%3E%3C/svg%3E%0A\")}#partnerSidebar{border-radius:4px;background-color:#fff;padding:24px 24px 32px;border-bottom:6px solid #29b5e8}#partnerSidebar h5,.newsletter-disclaimer p{font-size:14px!important}#partnerSidebar ul{margin-top:0;list-style-type:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}#partnerSidebar li{border:1px solid;border-radius:2px;padding:0 4px!important;font-size:11px!important;letter-spacing:.25px;text-transform:uppercase}div.snowflake-partner-hero-card{width:100%;margin:0}.partner-details__logo{max-width:380px;margin:0 auto}@media screen and (max-width:767px){.left-alignment .hp-hero__subheadline{margin-left:auto;margin-right:auto}.left-alignment .hp-hero__headline .snowflake-title-v2-line,.left-alignment .hp-hero__subheadline .snowflake-title-v2-line{text-align:center}.hero--home__inner .snowflake-flexible-column-container-items-top-padding-large{padding-top:var(--spacing-02)}.section--logo-bar\u003E.snowflake-flexible-column-container-items{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:center;gap:8px}.section--logo-bar\u003E.snowflake-flexible-column-container-items\u003Ediv{width:calc(33.33% - 8px)}.partner-sidebar__mobile-expand{display:inline-block;color:#249edc;border-color:#249edc!important}#partnerSidebar li:nth-child(n+6),.summit-nav__links .snowflake-button-tertiary{display:none}.sc-body__sidebar{background-color:#f6f9fa;padding:24px}.sc-body__content{padding:0 24px 24px}.summit-speaker-card .snowflake-card-v2-advanced-content{padding:24px}}#partnerResources h6,.snowflake-tabs-navigation-item p.body-1{font-size:16px!important}#partnerResources .section--resource-hub{padding:0 16px}#partnerResources .section--resource-hub a,.bwalignl{text-align:left}@media screen and (max-width:1023px){.hero--workload .snowflake-hero-system-media-container{width:100%}}.section--timely-content .snowflake-content-chip,.snowflake-mega-nav-dropdown-footer-wrapper{align-items:center}.section--timely-content .snowflake-content-chip-image{max-width:94px}.section--timely-content .snowflake-content-chip-image__inner{line-height:0}.section--timely-content .snowflake-content-chip-image__image{aspect-ratio:1;height:auto}.section--workload-overview .workload-overview__headline{max-width:280px;margin:0 auto}#industryPartnerSlider .swiper-slide{margin-top:0!important;padding:0 12px}#industryPartnerSlider .snowflake-tabs-navigation-item{margin-left:0!important;margin-right:0!important}#industryPartnerSlider .snowflake-premium-content-banner-background-grad-white .snowflake-premium-content-banner{box-shadow:none}#industryPartnerSlider .logo-slider__slide .aem-container{display:flex;padding:0 8px!important;flex-wrap:wrap;gap:16px!important;justify-content:center}#industryPartnerSlider .logo-slider__slide .aem-container\u003Ediv{width:48%;max-width:200px}#useCaseTabs{padding-top:24px;padding-bottom:24px;padding-right:24px}#useCaseTabs .tab-content.is-active{display:block}#useCaseTabs .vert-tab{border-bottom:1px solid #a0bbcc;padding-bottom:16px}#useCaseTabs .vert-tab p{display:inline-block}#useCaseTabs .vert-tab p:hover{cursor:pointer}#useCaseTabs .vert-tab p,#useCaseTabs .vert-tab.is-active p.not-active{color:#249edc}#useCaseTabs .vert-tab p.is-active,#useCaseTabs .vert-tab.is-active p{color:#000}#industryPlatformSection{background-image:url(/adobe/dynamicmedia/deliver/dm-aid--db074ad5-7122-4c51-87a3-76c3aa466182/double-arrow-bg%403x.png);background-repeat:no-repeat}.snowflake-text p.featured-quote__source{font-weight:900!important;text-transform:uppercase;font-size:16px!important;margin-top:2rem!important}.snowflake-text p.featured-quote__title{margin-top:0!important;font-size:16px!important}.snowflake-case-study-card-logo img{width:auto!important;height:100px!important;transform:translateX(-15%)}.snowflake-quote-item-quote-text{font-weight:600!important}#customerStoryStatsInner\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;flex-direction:row}#customerStoryStat1,#customerStoryStat2{max-width:240px}#storyHighlights{border-radius:4px;padding:1rem}.sc-overview__webinar-promo-banner .snowflake-content-chip-content .snowflake-title-v2-line,.summit-pricing-block__tile .black-blue-text-color .snowflake-title-v2-line{color:#000!important}.snowflake-youtube-embedded-wrapper{border-radius:var(--small-border-radius)}#arcticNavItem::before,#offset::before,#open-source::before{color:var(--text-05);font-family:Texta,sans-serif!important}#offset,.sc-architecture-caption{margin-top:16px}.hero--press .snowflake-title-v2-line{text-transform:none!important}@media screen and (min-width:768px){.subpage-timely-content__inner\u003E.snowflake-flexible-column-container-items{box-shadow:0 10px 20px 0 rgb(152 162 179 / .1),0 2px 6px 0 rgb(152 162 179 / .25);padding:var(--spacing-04);border-radius:4px;overflow:hidden}#partnerLogoSquare{padding:0 0 0 48px}.hero--workload .snowflake-container{max-width:1440px;margin:0 auto!important;align-items:center}#industryPartnerSlider.snowflake-flexible-column-container-2-column-40-60\u003E.snowflake-flexible-column-container-items{grid-template-columns:minmax(40%,4fr) minmax(0,6fr)}#industryPartnerSlider .swiper-slide{padding:0 24px}.sc-body{padding:48px}.sc-body\u003E.snowflake-flexible-column-container-items{grid-template-columns:7fr 3fr;gap:124px}}.snowflake-button-container.has-icon{display:inline-flex;justify-content:center;align-items:center;text-align:left}.snowflake-button-container.has-icon::before{content:\"\";display:inline-block;width:20px;height:20px;margin-right:12px;background-size:contain;background-repeat:no-repeat;background-position:center}.snowflake-button-container.is-video::before{background-image:url(\"data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 1.28663C13.2523 1.28663 16.7134 4.74768 16.7134 9C16.7134 13.2523 13.2523 16.7134 9 16.7134C4.74768 16.7198 1.28663 13.2588 1.28663 9C1.28663 4.74124 4.74768 1.28663 9 1.28663ZM9 0C4.0336 0 0 4.0336 0 9C0 13.9664 4.0336 18 9 18C13.9728 18 18 13.9664 18 9C18 4.0336 13.9728 0 9 0Z' fill='white'/%3E%3Cpath d='M7.75106 6.18211C7.42941 6.16925 7.16565 6.42658 7.16565 6.74823V11.2772C7.16565 11.7082 7.65457 11.9848 8.02126 11.7597L11.7975 9.4952C12.1578 9.27647 12.1578 8.74252 11.7975 8.52379L8.02126 6.25931C7.93763 6.21428 7.84756 6.18211 7.75106 6.18211Z' fill='white'/%3E%3C/svg%3E%0A\")}.snowflake-button-container.is-github::before{background-image:url(\"data:image/svg+xml,%3Csvg width='20' height='21' viewBox='0 0 20 21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10 .651794C4.475 .651794 0 5.12679 0 10.6518C0 15.0768 2.8625 18.8143 6.8375 20.1393C7.3375 20.2268 7.525 19.9268 7.525 19.6643C7.525 19.4268 7.5125 18.6393 7.5125 17.8018C5 18.2643 4.35 17.1893 4.15 16.6268C4.0375 16.3393 3.55 15.4518 3.125 15.2143C2.775 15.0268 2.275 14.5643 3.1125 14.5518C3.9 14.5393 4.4625 15.2768 4.65 15.5768C5.55 17.0893 6.9875 16.6643 7.5625 16.4018C7.65 15.7518 7.9125 15.3143 8.2 15.0643C5.975 14.8143 3.65 13.9518 3.65 10.1268C3.65 9.03929 4.0375 8.13929 4.675 7.43929C4.575 7.18929 4.225 6.16429 4.775 4.78929C4.775 4.78929 5.6125 4.52679 7.525 5.81429C8.325 5.58929 9.175 5.47679 10.025 5.47679C10.875 5.47679 11.725 5.58929 12.525 5.81429C14.4375 4.51429 15.275 4.78929 15.275 4.78929C15.825 6.16429 15.475 7.18929 15.375 7.43929C16.0125 8.13929 16.4 9.02679 16.4 10.1268C16.4 13.9643 14.0625 14.8143 11.8375 15.0643C12.2 15.3768 12.5125 15.9768 12.5125 16.9143C12.5125 18.2518 12.5 19.3268 12.5 19.6643C12.5 19.9268 12.6875 20.2393 13.1875 20.1393C17.1375 18.8143 20 15.0643 20 10.6518C20 5.12679 15.525 .651794 10 .651794Z' fill='%23249EDC'/%3E%3C/svg%3E%0A\")}.snowflake-button-container.is-quickstart::before{background-image:url(\"data:image/svg+xml,%3Csvg width='15' height='21' viewBox='0 0 15 21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.8489 2.79368H11.6439V2.38493C11.6439 1.71368 11.1451 .967427 10.4251 .967427H8.94762C8.80887 .359927 8.37387 .299927 7.89762 .299927H7.23012C6.85512 .299927 6.26637 .299927 6.08637 .967427H4.68387C3.94887 .967427 3.35637 1.74368 3.35637 2.38493V2.79368H1.15137C.738867 2.79368 .401367 3.13118 .401367 3.54368V20.2537C.401367 20.6662 .738867 21.0037 1.15137 21.0037H13.8489C14.2614 21.0037 14.5989 20.6662 14.5989 20.2537V3.54368C14.5989 3.13118 14.2614 2.79368 13.8489 2.79368ZM4.29387 2.38493C4.29387 2.18243 4.54137 1.90493 4.68387 1.90493H6.50262C6.76137 1.90493 6.97137 1.69493 6.97137 1.43618C6.97137 1.33868 6.97887 1.27868 6.98637 1.24118C7.05012 1.23368 7.15512 1.23368 7.23387 1.23368H7.90137C7.95012 1.23368 8.00637 1.23368 8.05137 1.23368C8.05512 1.27868 8.05887 1.34243 8.05887 1.43243C8.05887 1.69118 8.26887 1.90118 8.52762 1.90118H10.4289C10.5301 1.90118 10.7101 2.14493 10.7101 2.38118V2.78993H4.29762V2.38118L4.29387 2.38493ZM13.0989 19.4999H1.90137V4.29368H13.0989V19.5037V19.4999Z' fill='%23249EDC'/%3E%3Cpath d='M3.82512 16.0424H11.1751C11.4339 16.0424 11.6439 15.8324 11.6439 15.5736V6.88486C11.6439 6.62611 11.4339 6.41611 11.1751 6.41611H3.82512C3.56637 6.41611 3.35637 6.62611 3.35637 6.88486V15.5736C3.35637 15.8324 3.56637 16.0424 3.82512 16.0424ZM4.29387 15.1049V13.3686H10.7064V15.1049H4.29387ZM10.7101 7.35361V12.4311H4.29762V7.35361H10.7101Z' fill='%23249EDC'/%3E%3Cpath d='M6.16512 9.35989H8.83887C9.09762 9.35989 9.30762 9.14989 9.30762 8.89114C9.30762 8.63239 9.09762 8.42239 8.83887 8.42239H6.16512C5.90637 8.42239 5.69637 8.63239 5.69637 8.89114C5.69637 9.14989 5.90637 9.35989 6.16512 9.35989Z' fill='%23249EDC'/%3E%3Cpath d='M6.16512 11.3624H8.83887C9.09762 11.3624 9.30762 11.1524 9.30762 10.8937C9.30762 10.6349 9.09762 10.4249 8.83887 10.4249H6.16512C5.90637 10.4249 5.69637 10.6349 5.69637 10.8937C5.69637 11.1524 5.90637 11.3624 6.16512 11.3624Z' fill='%23249EDC'/%3E%3C/svg%3E%0A\")}.snowflake-button-container.is-download::before{background-image:url(\"data:image/svg+xml,%3Csvg width='16' height='18' viewBox='0 0 16 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.2017 17.1637H.798265C.364425 17.1637 0 16.7993 0 16.3655V12.3568C0 11.923 .364425 11.5585 .798265 11.5585C1.2321 11.5585 1.59653 11.923 1.59653 12.3568V15.5498H14.4035V12.3568C14.4035 11.923 14.7679 11.5585 15.2017 11.5585C15.6356 11.5585 16 11.923 16 12.3568V16.3655C16 16.7993 15.6529 17.1637 15.2017 17.1637Z' fill='%23249EDC'/%3E%3Cpath d='M7.94793 12.9642C7.84381 12.9642 7.73969 12.9468 7.63557 12.8947C7.34056 12.7733 7.14967 12.4783 7.14967 12.1485L7.18437 .938127C7.18437 .504287 7.5488 .139862 7.98264 .139862C8.41648 .139862 8.7809 .504287 8.7809 .938127L8.7462 10.257L12.8416 6.33509C13.154 6.02273 13.6746 6.04008 13.9696 6.35244C14.282 6.66481 14.2646 7.18542 13.9523 7.48043L8.50325 12.7386C8.36442 12.8774 8.15617 12.9642 7.94793 12.9642Z' fill='%23249EDC'/%3E%3Cpath d='M7.94793 12.9642C7.73969 12.9642 7.54881 12.8947 7.39262 12.7386L2.03037 7.53249C1.718 7.22012 1.70065 6.71687 2.01301 6.40451C2.32538 6.09214 2.82863 6.07479 3.141 6.38715L8.50325 11.5932C8.81562 11.9056 8.83297 12.4088 8.52061 12.7212C8.36442 12.8774 8.15617 12.9642 7.94793 12.9642Z' fill='%23249EDC'/%3E%3C/svg%3E%0A\")}.snowflake-button-container.is-expand::before{background-image:url(\"data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.64375 10.9125C6.9375 11.2062 6.93125 11.6812 6.64375 11.9687L2.57502 16H3.79375C4.20625 16 4.54376 16.3375 4.54376 16.75C4.54376 17.1625 4.20625 17.5 3.79375 17.5H.756264C.556264 17.5 .36876 17.4187 .22501 17.2812C.22501 17.2812 .206248 17.25 .193748 17.2375C.143748 17.1812 .100004 17.1125 .0625038 17.0437C.0375038 16.9687 .0187492 16.8937 .0187492 16.8187C.0187492 16.8 .0062561 16.7813 .0062561 16.7625V13.725C.0187561 13.3125 .356257 12.9875 .768757 12.9937C1.16876 13 1.48752 13.325 1.50002 13.725V14.9688L5.5875 10.9187C5.88125 10.6312 6.35 10.6312 6.64375 10.9187V10.9125ZM17.5063 .743732C17.5063 .543732 17.425 .356235 17.2875 .218735C17.2875 .218735 17.2562 .199998 17.2437 .193748C17.1875 .137498 17.1188 .0937347 17.0438 .0624847C16.9688 .0374847 16.8938 .0187492 16.8188 .0187492C16.8 .0187492 16.7813 .00623703 16.7625 .00623703H13.725C13.3125 .00623703 12.975 .343745 12.975 .756245C12.975 1.16874 13.3125 1.50623 13.725 1.50623H14.9688L11.1312 5.37498C10.8437 5.67498 10.8563 6.14999 11.1563 6.43124C11.45 6.71249 11.9063 6.70624 12.1938 6.43124L16.0125 2.575V3.79375C16.0125 4.20625 16.35 4.54372 16.7625 4.54372C17.175 4.54372 17.5125 4.20625 17.5125 3.79375V.756245L17.5063 .743732ZM16.7562 12.9688C16.3437 12.9688 16.0063 13.3063 16.0063 13.7188V14.8937L12.1938 10.925C11.9063 10.625 11.4375 10.6188 11.1375 10.9063C10.8375 11.1938 10.8313 11.6625 11.1188 11.9625L15 16.0062H13.7188C13.3063 16.0062 12.9688 16.3437 12.9688 16.7562C12.9688 17.1687 13.3063 17.5063 13.7188 17.5063H16.7562C16.85 17.5063 16.95 17.4875 17.0375 17.45C17.0875 17.425 17.1313 17.3937 17.175 17.3625C17.2063 17.3437 17.2438 17.325 17.275 17.3C17.3313 17.2375 17.375 17.1687 17.4125 17.1C17.4188 17.0875 17.4375 17.075 17.4438 17.0562C17.45 17.025 17.4563 16.9938 17.4625 16.9625C17.4813 16.9 17.5 16.8375 17.5 16.7687V13.725C17.5 13.3125 17.1687 12.975 16.7562 12.975V12.9688ZM.750008 4.53125C1.16251 4.53125 1.50002 4.19374 1.50002 3.78124V2.5L5.59376 6.43124C5.89376 6.71874 6.36251 6.70626 6.65001 6.41251C6.93751 6.11876 6.92501 5.64375 6.63126 5.35625L2.61251 1.49998H3.7875C4.2 1.49998 4.53751 1.16249 4.53751 .749989C4.53751 .337489 4.2 0 3.7875 0H.743752C.668752 0 .600004 .0187355 .531254 .0437355C.506254 .0499855 .481263 .0437477 .462513 .0562477C.443763 .0687477 .425015 .0812462 .406265 .0937462C.337515 .124996 .275004 .168741 .218754 .224991H.212498C.212498 .224991 .175 .28125 .15625 .3125C.11875 .3625 .0812477 .4125 .0562477 .46875C.0374977 .525 .0249992 .587499 .0187492 .643749C.0124992 .674999 0 .712482 0 .743732V3.78124C0 4.19374 .337508 4.53125 .750008 4.53125Z' fill='white'/%3E%3C/svg%3E%0A\")}@keyframes slow-scroll{100%{transform:translateY(-50%)}}.sc-hero{overflow:hidden;background-color:#212d35;background-repeat:repeat-y;background-image:url(\"data:image/svg+xml,%3Csvg width='389' height='17' viewBox='0 0 389 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M.638672 7.80824L.638672 9.2566C.638672 9.52364 .85538 9.74024 1.12262 9.74024H2.57204C2.83928 9.74024 3.05598 9.52364 3.05598 9.2566V7.80824C3.05598 7.54119 2.83928 7.32472 2.57204 7.32472L1.12262 7.32472C.85538 7.32472 .638672 7.54119 .638672 7.80824Z' fill='url(%23paint0_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.9639 7.80824V9.2566C10.9639 9.52364 11.1806 9.74024 11.4478 9.74024L12.8972 9.74024C13.1645 9.74024 13.3812 9.52364 13.3812 9.2566V7.80824C13.3812 7.54119 13.1645 7.32471 12.8972 7.32471L11.4478 7.32471C11.1806 7.32471 10.9639 7.54119 10.9639 7.80824Z' fill='url(%23paint1_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M21.2891 7.80823V9.2566C21.2891 9.52364 21.5058 9.74024 21.773 9.74024L23.2224 9.74024C23.4897 9.74024 23.7064 9.52364 23.7064 9.2566V7.80823C23.7064 7.54119 23.4897 7.32471 23.2224 7.32471L21.773 7.32471C21.5058 7.32471 21.2891 7.54119 21.2891 7.80823Z' fill='url(%23paint2_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M31.6143 7.80823V9.2566C31.6143 9.52364 31.831 9.74024 32.0982 9.74024H33.5476C33.8149 9.74024 34.0316 9.52364 34.0316 9.2566V7.80823C34.0316 7.54119 33.8149 7.32471 33.5476 7.32471L32.0982 7.32471C31.831 7.32471 31.6143 7.54119 31.6143 7.80823Z' fill='url(%23paint3_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M41.9395 7.80823V9.2566C41.9395 9.52364 42.1562 9.74024 42.4234 9.74024H43.8728C44.1401 9.74024 44.3568 9.52364 44.3568 9.2566V7.80823C44.3568 7.54119 44.1401 7.32471 43.8728 7.32471L42.4234 7.32471C42.1562 7.32471 41.9395 7.54119 41.9395 7.80823Z' fill='url(%23paint4_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M52.5076 7.80823V9.2566C52.5076 9.52364 52.7243 9.74024 52.9916 9.74024H54.441C54.7082 9.74024 54.9249 9.52364 54.9249 9.2566V7.80823C54.9249 7.54119 54.7082 7.32471 54.441 7.32471L52.9916 7.32471C52.7243 7.32471 52.5076 7.54119 52.5076 7.80823Z' fill='url(%23paint5_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M62.8331 7.80823V9.2566C62.8331 9.52364 63.0493 9.74024 63.3165 9.74024H64.7664C65.0332 9.74024 65.2504 9.52364 65.2504 9.2566V7.80823C65.2504 7.54119 65.0332 7.32471 64.7664 7.32471L63.3165 7.32471C63.0493 7.32471 62.8331 7.54119 62.8331 7.80823Z' fill='url(%23paint6_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M73.1583 7.80823V9.2566C73.1583 9.52364 73.3745 9.74024 73.6417 9.74024H75.0916C75.3584 9.74024 75.5756 9.52364 75.5756 9.2566V7.80823C75.5756 7.54119 75.3584 7.32471 75.0916 7.32471L73.6417 7.32471C73.3745 7.32471 73.1583 7.54119 73.1583 7.80823Z' fill='url(%23paint7_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M83.4835 7.80823V9.2566C83.4835 9.52364 83.6997 9.74024 83.9669 9.74024H85.4168C85.6836 9.74024 85.9008 9.52364 85.9008 9.2566V7.80823C85.9008 7.54119 85.6836 7.32471 85.4168 7.32471L83.9669 7.32471C83.6997 7.32471 83.4835 7.54119 83.4835 7.80823Z' fill='url(%23paint8_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M93.8087 7.80823V9.2566C93.8087 9.52364 94.0249 9.74024 94.2921 9.74024H95.742C96.0088 9.74024 96.226 9.52364 96.226 9.2566V7.80823C96.226 7.54119 96.0088 7.32471 95.742 7.32471L94.2921 7.32471C94.0249 7.32471 93.8087 7.54119 93.8087 7.80823Z' fill='url(%23paint9_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M104.134 7.80823V9.2566C104.134 9.52364 104.35 9.74024 104.617 9.74024H106.067C106.334 9.74024 106.551 9.52364 106.551 9.2566V7.80823C106.551 7.54119 106.334 7.32471 106.067 7.32471L104.617 7.32471C104.35 7.32471 104.134 7.54119 104.134 7.80823Z' fill='url(%23paint10_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M114.702 7.80823V9.2566C114.702 9.52364 114.918 9.74024 115.185 9.74024L116.635 9.74024C116.902 9.74024 117.119 9.52364 117.119 9.25659V7.80823C117.119 7.54119 116.902 7.32471 116.635 7.32471L115.185 7.32471C114.918 7.32471 114.702 7.54119 114.702 7.80823Z' fill='url(%23paint11_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M125.027 7.80823V9.25659C125.027 9.52364 125.243 9.74024 125.511 9.74024L126.961 9.74024C127.227 9.74024 127.445 9.52364 127.445 9.25659V7.80823C127.445 7.54119 127.227 7.32471 126.961 7.32471L125.511 7.32471C125.243 7.32471 125.027 7.54119 125.027 7.80823Z' fill='url(%23paint12_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M135.352 7.80823V9.25659C135.352 9.52364 135.569 9.74024 135.836 9.74024H137.286C137.553 9.74024 137.77 9.52364 137.77 9.25659V7.80823C137.77 7.54119 137.553 7.32471 137.286 7.32471L135.836 7.32471C135.569 7.32471 135.352 7.54119 135.352 7.80823Z' fill='url(%23paint13_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M145.678 7.80823V9.25659C145.678 9.52364 145.894 9.74024 146.161 9.74024H147.611C147.878 9.74024 148.095 9.52364 148.095 9.25659V7.80823C148.095 7.54119 147.878 7.32471 147.611 7.32471L146.161 7.32471C145.894 7.32471 145.678 7.54119 145.678 7.80823Z' fill='url(%23paint14_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M156.003 7.80823V9.25659C156.003 9.52364 156.219 9.74024 156.486 9.74024H157.936C158.203 9.74024 158.42 9.52364 158.42 9.25659V7.80823C158.42 7.54119 158.203 7.32471 157.936 7.32471L156.486 7.32471C156.219 7.32471 156.003 7.54119 156.003 7.80823Z' fill='url(%23paint15_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M166.328 7.80823V9.25659C166.328 9.52363 166.544 9.74024 166.811 9.74024H168.261C168.528 9.74024 168.745 9.52363 168.745 9.25659V7.80823C168.745 7.54119 168.528 7.32471 168.261 7.32471L166.811 7.32471C166.544 7.32471 166.328 7.54119 166.328 7.80823Z' fill='url(%23paint16_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M176.896 7.80823V9.25659C176.896 9.52363 177.112 9.74023 177.38 9.74023H178.83C179.096 9.74023 179.313 9.52363 179.313 9.25659V7.80823C179.313 7.54119 179.096 7.32471 178.83 7.32471L177.38 7.32471C177.112 7.32471 176.896 7.54119 176.896 7.80823Z' fill='url(%23paint17_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M187.221 7.80823V9.25659C187.221 9.52363 187.438 9.74023 187.705 9.74023H189.155C189.421 9.74023 189.639 9.52363 189.639 9.25659V7.80823C189.639 7.54119 189.421 7.32471 189.155 7.32471L187.705 7.32471C187.438 7.32471 187.221 7.54119 187.221 7.80823Z' fill='url(%23paint18_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M199.639 7.80824V9.2566C199.639 9.52364 199.855 9.74024 200.123 9.74024H201.572C201.839 9.74024 202.056 9.52364 202.056 9.2566V7.80824C202.056 7.54119 201.839 7.32472 201.572 7.32472L200.123 7.32472C199.855 7.32472 199.639 7.54119 199.639 7.80824Z' fill='url(%23paint19_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M209.964 7.80824V9.2566C209.964 9.52364 210.181 9.74024 210.448 9.74024L211.897 9.74024C212.164 9.74024 212.381 9.52364 212.381 9.2566V7.80824C212.381 7.54119 212.164 7.32471 211.897 7.32471L210.448 7.32471C210.181 7.32471 209.964 7.54119 209.964 7.80824Z' fill='url(%23paint20_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M220.289 7.80823V9.2566C220.289 9.52364 220.506 9.74024 220.773 9.74024L222.222 9.74024C222.49 9.74024 222.706 9.52364 222.706 9.2566V7.80823C222.706 7.54119 222.49 7.32471 222.222 7.32471L220.773 7.32471C220.506 7.32471 220.289 7.54119 220.289 7.80823Z' fill='url(%23paint21_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M230.614 7.80823V9.2566C230.614 9.52364 230.831 9.74024 231.098 9.74024H232.548C232.815 9.74024 233.032 9.52364 233.032 9.2566V7.80823C233.032 7.54119 232.815 7.32471 232.548 7.32471L231.098 7.32471C230.831 7.32471 230.614 7.54119 230.614 7.80823Z' fill='url(%23paint22_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M240.939 7.80823V9.2566C240.939 9.52364 241.156 9.74024 241.423 9.74024H242.873C243.14 9.74024 243.357 9.52364 243.357 9.2566V7.80823C243.357 7.54119 243.14 7.32471 242.873 7.32471L241.423 7.32471C241.156 7.32471 240.939 7.54119 240.939 7.80823Z' fill='url(%23paint23_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M251.508 7.80823V9.2566C251.508 9.52364 251.724 9.74024 251.992 9.74024H253.441C253.708 9.74024 253.925 9.52364 253.925 9.2566V7.80823C253.925 7.54119 253.708 7.32471 253.441 7.32471L251.992 7.32471C251.724 7.32471 251.508 7.54119 251.508 7.80823Z' fill='url(%23paint24_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M261.833 7.80823V9.2566C261.833 9.52364 262.049 9.74024 262.317 9.74024H263.766C264.033 9.74024 264.25 9.52364 264.25 9.2566V7.80823C264.25 7.54119 264.033 7.32471 263.766 7.32471L262.317 7.32471C262.049 7.32471 261.833 7.54119 261.833 7.80823Z' fill='url(%23paint25_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M272.158 7.80823V9.2566C272.158 9.52364 272.374 9.74024 272.642 9.74024H274.092C274.358 9.74024 274.576 9.52364 274.576 9.2566L274.576 7.80823C274.576 7.54119 274.358 7.32471 274.092 7.32471L272.642 7.32471C272.374 7.32471 272.158 7.54119 272.158 7.80823Z' fill='url(%23paint26_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M282.483 7.80823V9.2566C282.483 9.52364 282.7 9.74024 282.967 9.74024H284.417C284.684 9.74024 284.901 9.52364 284.901 9.2566V7.80823C284.901 7.54119 284.684 7.32471 284.417 7.32471L282.967 7.32471C282.7 7.32471 282.483 7.54119 282.483 7.80823Z' fill='url(%23paint27_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M292.809 7.80823L292.809 9.2566C292.809 9.52364 293.025 9.74024 293.292 9.74024H294.742C295.009 9.74024 295.226 9.52364 295.226 9.2566V7.80823C295.226 7.54119 295.009 7.32471 294.742 7.32471L293.292 7.32471C293.025 7.32471 292.809 7.54119 292.809 7.80823Z' fill='url(%23paint28_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M303.134 7.80823L303.134 9.2566C303.134 9.52364 303.35 9.74024 303.617 9.74024H305.067C305.334 9.74024 305.551 9.52364 305.551 9.2566V7.80823C305.551 7.54119 305.334 7.32471 305.067 7.32471L303.617 7.32471C303.35 7.32471 303.134 7.54119 303.134 7.80823Z' fill='url(%23paint29_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M313.702 7.80823L313.702 9.2566C313.702 9.52364 313.918 9.74024 314.185 9.74024L315.635 9.74024C315.902 9.74024 316.119 9.52364 316.119 9.25659V7.80823C316.119 7.54119 315.902 7.32471 315.635 7.32471L314.185 7.32471C313.918 7.32471 313.702 7.54119 313.702 7.80823Z' fill='url(%23paint30_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M324.027 7.80823V9.25659C324.027 9.52364 324.243 9.74024 324.511 9.74024L325.961 9.74024C326.227 9.74024 326.445 9.52364 326.445 9.25659V7.80823C326.445 7.54119 326.227 7.32471 325.961 7.32471L324.511 7.32471C324.243 7.32471 324.027 7.54119 324.027 7.80823Z' fill='url(%23paint31_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M334.352 7.80823V9.25659C334.352 9.52364 334.569 9.74024 334.836 9.74024H336.286C336.553 9.74024 336.77 9.52364 336.77 9.25659L336.77 7.80823C336.77 7.54119 336.553 7.32471 336.286 7.32471L334.836 7.32471C334.569 7.32471 334.352 7.54119 334.352 7.80823Z' fill='url(%23paint32_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M344.678 7.80823V9.25659C344.678 9.52364 344.894 9.74024 345.161 9.74024H346.611C346.878 9.74024 347.095 9.52364 347.095 9.25659L347.095 7.80823C347.095 7.54119 346.878 7.32471 346.611 7.32471L345.161 7.32471C344.894 7.32471 344.678 7.54119 344.678 7.80823Z' fill='url(%23paint33_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M355.003 7.80823V9.25659C355.003 9.52364 355.219 9.74024 355.486 9.74024H356.936C357.203 9.74024 357.42 9.52364 357.42 9.25659L357.42 7.80823C357.42 7.54119 357.203 7.32471 356.936 7.32471L355.486 7.32471C355.219 7.32471 355.003 7.54119 355.003 7.80823Z' fill='url(%23paint34_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M365.328 7.80823V9.25659C365.328 9.52363 365.544 9.74024 365.811 9.74024H367.261C367.528 9.74024 367.745 9.52363 367.745 9.25659V7.80823C367.745 7.54119 367.528 7.32471 367.261 7.32471L365.811 7.32471C365.544 7.32471 365.328 7.54119 365.328 7.80823Z' fill='url(%23paint35_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M375.896 7.80823V9.25659C375.896 9.52363 376.112 9.74023 376.38 9.74023H377.83C378.096 9.74023 378.313 9.52363 378.313 9.25659V7.80823C378.313 7.54119 378.096 7.32471 377.829 7.32471L376.38 7.32471C376.112 7.32471 375.896 7.54119 375.896 7.80823Z' fill='url(%23paint36_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M386.221 7.80823V9.25659C386.221 9.52363 386.438 9.74023 386.705 9.74023H388.155C388.421 9.74023 388.639 9.52363 388.639 9.25659V7.80823C388.639 7.54119 388.421 7.32471 388.155 7.32471L386.705 7.32471C386.438 7.32471 386.221 7.54119 386.221 7.80823Z' fill='url(%23paint37_linear_8295_70635)'/%3E%3Cdefs%3E%3ClinearGradient id='paint0_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint1_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint2_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint3_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint4_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint5_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint6_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint7_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint8_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint9_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint10_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint11_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint12_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint13_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint14_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint15_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint16_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint17_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint18_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint19_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint20_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint21_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint22_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint23_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint24_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint25_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint26_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint27_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint28_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint29_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint30_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint31_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint32_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint33_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint34_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint35_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint36_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint37_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E%0A\")}.sc-hero__inner\u003E.snowflake-flexible-column-container-items\u003Ediv:first-child{position:relative;z-index:3}.sc-hero__inner\u003E.snowflake-flexible-column-container-items\u003Ediv:last-child{position:absolute;height:100%;width:100%;top:0;left:-24px}.sc-hero__inner\u003E.snowflake-flexible-column-container-items\u003Ediv:last-child::before{content:\"\";display:block;z-index:1;position:absolute;top:-64px;left:0;width:150%;height:calc(100% + 160px);background-color:rgb(32 44 53 / .9)}.sc-body__content .heading-3-v2,.sc-hero__headline .heading-1-v2{text-transform:none}.sc-body__content span.snowflake-image-caption{display:block!important;font-style:italic}.sc-body__content .snowflake-text p+ul{margin-top:24px!important;padding-left:16px!important}.white-blue-text-color .snowflake-title-v2.solution-center-hero__certification .snowflake-typographyv2\u003Espan.snowflake-title-v2-line{color:#e9eaeb!important;font-size:16px}.white-blue-text-color .snowflake-title-v2.solution-center-hero__certification.is-large .snowflake-typographyv2\u003Espan.snowflake-title-v2-line{color:#fff!important;font-size:18px}.solution-center-hero__certification\u003E.snowflake-title-v2-line\u003Espan:first-child{display:flex;justify-content:flex-start;align-items:center;gap:8px}.solution-center-hero__certification\u003E.snowflake-title-v2-line\u003Espan:first-child::before{content:\"\";display:inline-block;width:16px;height:16px;background-image:url(\"data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 0C3.58146 0 0 3.58146 0 8C0 12.4185 3.58146 16 8 16C12.4185 16 16 12.4185 16 8C16 3.58146 12.4185 0 8 0ZM12.7184 5.91984L7.33471 11.3026C7.31293 11.3244 7.31293 11.3454 7.29198 11.3454L7.20653 11.4308C6.94933 11.688 6.54132 11.7525 6.21962 11.6235C6.11238 11.5808 6.00514 11.5163 5.9197 11.4308L5.83425 11.3454C5.83425 11.3454 5.83425 11.3236 5.81246 11.3236L3.28149 8.79347C2.93799 8.44997 2.93799 7.87107 3.28149 7.50664L3.36694 7.42119C3.71044 7.07769 4.28934 7.07769 4.65377 7.42119L6.58401 9.35143L11.3877 4.5477C11.7312 4.2042 12.3101 4.2042 12.6746 4.5477L12.76 4.63315C13.0826 4.99758 13.0828 5.55541 12.7184 5.91984Z' fill='%230E8A16'/%3E%3C/svg%3E%0A\");background-size:contain;background-repeat:no-repeat;background-color:#fff;border-radius:100%}.sc-hero__byline{padding-top:8px}.sc-hero__byline p{color:#e2e2e2;margin-top:0!important}.sc-hero pre[class*=language-]{overflow:visible}.snowflake-code-snippet,.snowflake-code-snippet code,.snowflake-code-snippet pre{font-size:16px}.sc-hero__code-snippet:not(pre)\u003Ecode[class*=language-],.sc-hero__code-snippet pre[class*=language-]{background:0 0}.sc-hero__code-snippet{opacity:.8;background-color:transparent!important;position:absolute;top:0;right:0;width:100%;animation:240s linear 1s forwards slow-scroll}.sc-hero__button-container .snowflake-flexible-column-container-items{padding:0 0 24px;margin-top:-8px;margin-left:24px}.sc-sidebar__partner-logo{width:100%;max-width:140px;margin-top:8px}.sc-sidebar__partner-logo .cmp-image__image{border-radius:0}.sc-tag-cluster.snowflake-text ul{list-style-type:none;padding:0;display:flex;flex-wrap:wrap;gap:8px;margin:0}.sc-tag-cluster.snowflake-text li{color:#373f41;border-radius:4px;display:inline-block;padding:6px;text-transform:uppercase;letter-spacing:1px;font-size:12px!important;line-height:12px!important;margin:0!important;background-color:#f3f3f3}.sc-body .share-icon svg{height:24px;cursor:pointer}.sc-body .share-icon svg:hover path{fill:var(--ui-02)}.sc-overview__webinar-promo-banner{align-items:center;border:1px solid #ccc;padding:var(--spacing-02)}.sc-overview__webinar-promo-banner .snowflake-content-chip-image{max-width:32px;margin-right:var(--spacing-02);line-height:0}.sc-overview__webinar-promo-banner .snowflake-content-chip-image__image,.summit-speaker-card .snowflake-card-v2-advanced-image__image{aspect-ratio:1}.sc-overview__webinar-promo-banner .snowflake-content-chip-content .heading-5-v2{font-size:14px;font-family:Lato,sans-serif}.sc-overview__webinar-promo-banner .snowflake-content-chip-content .snowflake-title-v2-line:not(:first-child){font-weight:400}.sc-overview__webinar-promo-banner .snowflake-content-chip-button .snowflake-button-container{font-size:14px!important}.diagram-group__button{position:absolute;bottom:24px;right:24px;background-color:#212c35!important}.section--mountains-bottom,.summit-hp-hero{position:relative}.sc-cert-banner{background-color:#212d35;border-radius:8px;padding:24px;overflow:hidden}.sc-cert-banner\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;flex-direction:row;align-items:center}:root{--text-secondary:#706f6f;--summit-bg-ltblue:#eaf8fd;--summit-bg-blue:#249edc;--summit-border:#d2d1d4;--summit-border-radius:8px;--summit-card-padding:32px;--summit-card-padding-sm:28px}.section--mountains-bottom::after,.section--mountains-bottom::before{content:\"\";display:block;position:absolute;bottom:-1px;max-width:400px;background-size:100% auto;height:100%;width:30%;line-height:0;background-repeat:no-repeat}.button-group\u003E.container\u003E.cmp-container\u003E.aem-container{justify-content:center;align-items:center}.button-group\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:auto!important;margin:0 8px!important}.button-group .snowflake-button-container{font-family:Texta,sans-serif}.section--summit-bg-ltblue{background-color:var(--summit-bg-ltblue)}.section--summit-bg-blue,.summit-hero-secondary{background-color:var(--summit-bg-blue)}.section--mountains-bottom::before{left:0;background-image:url(\"data:image/svg+xml,%3Csvg width='402' height='309' viewBox='0 0 402 309' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M401.523 308.761H0V0L181.63 182.431L228.479 135.531L401.523 308.761Z' fill='%23249EDC'/%3E%3C/svg%3E%0A\");background-position:bottom left}.section--mountains-bottom::after{right:0;background-image:url(\"data:image/svg+xml,%3Csvg width='402' height='309' viewBox='0 0 402 309' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 308.761H401.523V0L219.893 182.431L173.044 135.531L0 308.761Z' fill='%23249EDC'/%3E%3C/svg%3E%0A\");background-position:bottom right}.summit-hp-hero{overflow:hidden}.summit-hero__bg-video{position:absolute;top:50%;left:50%;width:120%;height:100%;opacity:.3;transform:translate(-50%,-50%)}.summit-hero__bg-svg,.summit-prefooter__bg-image,.summit-secondary-hero__bg-image{position:absolute;bottom:0;left:0;width:100%}.summit-hp-promo-banner__headline .heading-4-v2{font-weight:900}.summit-hero-secondary .hero-lottie__left{position:absolute;bottom:0;left:0;width:30%;line-height:0}.summit-timeline__card::after,.summit-timeline__card::before{bottom:0;left:50%;position:absolute;display:block;background-color:var(--ui-01);content:\"\"}.summit-hero-secondary .snowflake-text p{font-size:24px!important;line-height:32px!important;max-width:720px;margin:0 auto}.summit-stat-container\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;justify-content:center}.summit-stat-container\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:auto!important;max-width:25%}.summit-stat-container\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:not(:last-child){border-right:1px solid #fff}.summit-timeline__card{border:1px solid var(--summit-border);border-radius:var(--summit-border-radius);padding:var(--summit-card-padding);position:relative;background-color:#fff}.summit-timeline__card::before{width:20px;height:20px;border-radius:100%;transform:translate(-50%,50%)}.summit-timeline__card::after{width:3px;height:50px;transform:translate(-50%,100%)}.summit-timeline-card__icon{width:48px;height:48px}.summit-timeline-card__headline .heading-3-v2{font-size:32px}.faq-group{border:1px solid var(--ui-12);border-radius:4px;background-color:#fff}.faq-group__question{padding:24px}.faq-group__question:hover{color:var(--ui-01);cursor:pointer}.faq-group__question .heading-4-v2,.faq-group__question .heading-5-v2{position:relative;padding-right:64px}.faq-group__question .heading-4-v2::after,.faq-group__question .heading-5-v2::after{content:\"\";display:block;width:32px;height:32px;background-image:url(\"data:image/svg+xml,%3Csvg width='29' height='16' viewBox='0 0 29 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M14.16 14.6807C14.2537 14.7957 14.3719 14.8884 14.506 14.952C14.64 15.0157 14.7866 15.0487 14.935 15.0487C15.0834 15.0487 15.2299 15.0157 15.3639 14.952C15.498 14.8884 15.6162 14.7957 15.71 14.6807V14.6807L28.51 2.00068C29.07 1.43068 29.07 .92068 28.51 .44068C27.95 -.0393204 27.43 -.11932 26.96 .44068L14.94 12.0007L2.99996 .45068C2.90725 .322624 2.7855 .218374 2.6447 .146483C2.50389 .0745926 2.34805 .0371094 2.18996 .0371094C2.03187 .0371094 1.87603 .0745926 1.73522 .146483C1.59442 .218374 1.47267 .322624 1.37996 .45068C.819961 .93068 .819961 1.45068 1.37996 2.01068L14.16 14.6807Z' fill='black'/%3E%3C/svg%3E%0A\");background-size:80% auto;background-repeat:no-repeat;background-position:center;position:absolute;top:-2px;right:0;transition:.3s 150ms}.faq-group__question .heading-5-v2::after{top:-4px}.faq-group__answer{max-height:0;overflow:hidden;width:95%;padding:0 24px;transition:.5s}.faq-group__answer\u003Espan{display:block;padding-bottom:24px}.is-open .faq-group__answer{max-height:600px;transition:1s}.is-open .faq-group__question .heading-4-v2::after,.is-open .faq-group__question .heading-5-v2::after{transform:rotate(180deg);transition:.3s}.summit-agenda{box-shadow:2px 4px 10px 0 rgb(156 156 156 / .52);border-radius:8px;background-color:#fff;max-width:980px;margin-left:auto;margin-right:auto;padding:40px;width:90%}.agenda-item{border-radius:8px;background-color:#d4f0fa;padding:16px;border-left:4px solid var(--ui-01);position:relative}.summit-pricing-block__tile.is-past,.summit-pricing-block__tile.is-upcoming{pointer-events:none;border-color:#d2d1d4}p.agenda-item__time{width:25%;font-family:Texta!important;font-size:32px!important;font-weight:900!important;text-transform:uppercase!important;max-width:140px}@media screen and (max-width:991px){#partnerResources .section--resource-hub .snowflake-button-link .snowflake-button-container{font-size:14px!important;line-height:20px!important;margin-top:4px}#industryPartnerSlider\u003E.snowflake-flexible-column-container-items{display:flex;flex-direction:column}#industryPartnerSlider\u003E.snowflake-flexible-column-container-items\u003Ediv{width:100%}.sc-cert-banner__left{text-align:center}.sc-cert-banner__left .solution-center-hero__certification .snowflake-title-v2-line{justify-content:center}.summit-hero__bg-video{width:200%}.summit-leadership-grid .snowflake-flexible-column-container-items{grid-template-columns:repeat(2,1fr)}.summit-stat-container\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:50%!important;max-width:50%!important}.summit-stat-container\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:not(:last-child){border-right:none!important}.summit-agenda{padding:24px}p.agenda-item__time{font-size:24px!important;width:auto;white-space:nowrap;padding-right:24px}}.agenda-item\u003Espan{display:flex;align-items:center}.summit-add-on-block,.summit-pricing-block{border:1px solid #d2d1d4;border-radius:8px;overflow:hidden;box-shadow:2px 4px 10px 0 rgb(156 156 156 / .52);background-color:#fff}.summit-add-on-block__content,.summit-pricing-block__content{padding:0 20px 20px}.summit-pricing-block__tile{padding:24px 20px;border-radius:4px;background:#fff;border:1px solid var(--ui-01);position:relative;transition:background-color .3s}.summit-pricing-block__tile:hover{background-color:var(--ui-01);transition:background-color .3s}.summit-pricing-block__tile.is-past{background-color:#d4f0fa}.summit-pricing-block__tile:hover .black-blue-text-color .snowflake-title-v2-line{color:#fff!important;transition:color .3s}.partner-card__logo-grid\u003E.container\u003E.cmp-container\u003E.aem-container::after,.partner-card__logo-grid\u003E.container\u003E.cmp-container\u003E.aem-container::before,.summit-add-on-block__content\u003E.container\u003E.cmp-container\u003E.aem-container::after,.summit-add-on-block__content\u003E.container\u003E.cmp-container\u003E.aem-container::before,.summit-pricing-block__tile.is-past .snowflake-content-chip-button,.summit-pricing-block__tile.is-upcoming .snowflake-content-chip-button,.summit-speaker-card .snowflake-card-v2-advanced-tag-indicator{display:none}.summit-pricing-block__tile.is-past .black-blue-text-color .snowflake-title-v2-line{color:#7cc7eb!important}.summit-pricing-block__tile.is-upcoming .black-blue-text-color .snowflake-title-v2-line{color:#8c8c8c!important}.summit-pricing-block__aside{background-color:#d4f0fa;border:1px solid #d2d1d4;border-radius:8px;padding:24px;width:100%}.summit-pricing-block__aside li::marker{color:var(--ui-01)}.summit-pricing-block__aside-headline .heading-5-v2{font-weight:900;margin-bottom:12px}.summit-pricing-block__header{background:#000;padding:24px 40px}.summit-pricing-block__header .heading-4-v2{font-weight:900;letter-spacing:.5px}.bwwidth100,.snowflake-mega-nav-dropdown-footer-content,.summit-pricing-block__tile .black-blue-text-color{width:100%}.summit-pricing-block__tile .heading-5-v2{position:static}.summit-pricing-block__tile .heading-5-v2 span.snowflake-title-v2-line:first-child{text-transform:uppercase;font-weight:900!important;letter-spacing:.25px;font-size:24px!important}.summit-pricing-block__tile .heading-5-v2 span.snowflake-title-v2-line:nth-child(2){margin-top:8px;font-family:Lato,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:16px}.summit-pricing-block__tile .heading-5-v2 span.snowflake-title-v2-line:last-child{font-weight:900!important;font-size:40px!important}.snowflake-mega-nav-nav-item\u003Ea:hover .snowflake-mega-nav-nav-item-title-wrapper\u003E.snowflake-mega-nav-nav-item-title,.summit-pricing-block__tile:not(.is-upcoming):not(.is-past) .heading-5-v2 span.snowflake-title-v2-line:last-child{color:var(--ui-01)!important}.summit-pricing-block__tile:hover:not(.is-upcoming):not(.is-past) .heading-5-v2 span.snowflake-title-v2-line:last-child{color:#fff!important}.summit-pricing-block__tile.is-past .heading-5-v2 span.snowflake-title-v2-line:last-child{text-decoration:line-through}.summit-pricing-block__tile .snowflake-content-chip-button{margin-top:0;white-space:nowrap;display:none}.snowflake-card-v2-advanced.no-link{pointer-events:none!important}.snowpro-card{border:1px solid var(--summit-border);border-radius:var(--summit-border-radius);padding:var(--summit-card-padding-sm);display:flex;height:100%}.snowpro-card__headline{margin:24px 0 12px}.snowpro-card__pricing{margin-top:48px}.snowpro-card .snowflake-text .snowpro-card__price{color:var(--ui-01);font-weight:900;font-size:40px!important;font-family:Texta,sans-serif}.summit-stat-container\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;flex-direction:row;flex-wrap:wrap}.summit-stat-container\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:not(:last-child){border-right:1px solid var(--summit-border)}.summit-stat-card{padding:0 40px}.summit-stat .heading-2-v2 .snowflake-title-v2-line:first-child{font-size:64px;line-height:52px;margin-bottom:8px}.summit-stat .heading-2-v2 .snowflake-title-v2-line:last-child{font-size:32px;line-height:30px;margin-bottom:16px}.summit-speaker-card .snowflake-card-v2-advanced-title{margin-bottom:var(--spacing-01)}.summit-add-on-card{padding:24px;border:1px solid #d2d1d4;border-radius:8px}.summit-add-on__subhead{padding-left:40px;padding-right:40px}.partner-card__logo-grid,.partner-card__logo-single{padding:40px}.partner-card__logo-grid .snowflake-image-container .cmp-image__image,.partner-card__logo-single .snowflake-image-container .cmp-image__image{border-radius:0;max-width:240px;margin:0 auto}.partner-card\u003E.container,.partner-card\u003E.container\u003E.aem-container,.partner-card\u003E.container\u003E.cmp-container{height:100%}.summit-add-on-block__content\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;flex-direction:row;gap:24px;align-items:stretch}.partner-card__logo-grid\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;flex-direction:row;flex-wrap:wrap;gap:40px 24px;justify-content:center;align-items:center}.partner-card__logo-grid\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(33.3333% - 24px);margin:0!important}.partner-card{border-radius:8px;border:1px solid #d2d1d4;overflow:hidden;height:100%;background-color:#fff}.partner-card__header{padding:16px 24px;border-bottom:1px solid #d2d1d4}.partner-card__header.is-purple{background-color:#7d44cf}.partner-card__header h4{display:flex;flex-direction:row!important;align-items:center;gap:12px}.partner-card__header h4::before{vertical-align:middle;content:\"\";display:inline-block;width:20px;height:20px;background-size:contain;background-repeat:no-repeat;background-image:url(\"data:image/svg+xml,%3Csvg width='21' height='23' viewBox='0 0 21 23' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M20.0375 12.8374C20.1644 12.439 20.2172 12.0289 20.2077 11.6237C20.193 11.3305 20.1548 11.0373 20.0712 10.7441C19.8196 9.83306 19.223 9.01989 18.3294 8.50724L5.61817 1.2017C3.82388 .173815 1.53618 .784335 .506483 2.56804C-.533615 4.34915 .0797871 6.62351 1.87408 7.65398L8.97715 11.7427L1.87408 15.8201C.0797871 16.8527 -.531016 19.1271 .506483 20.9156C1.53618 22.6941 3.82388 23.302 5.61817 22.2746L18.3294 14.9643C19.1871 14.4728 19.7693 13.7027 20.0375 12.8374Z' fill='black'/%3E%3C/svg%3E%0A\")}.partner-card__header.is-purple h4::before{background-image:url(\"data:image/svg+xml,%3Csvg width='21' height='23' viewBox='0 0 21 23' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M20.0375 12.8374C20.1644 12.439 20.2172 12.0289 20.2077 11.6237C20.193 11.3305 20.1548 11.0373 20.0712 10.7441C19.8196 9.83306 19.223 9.01989 18.3294 8.50724L5.61817 1.2017C3.82388 .173815 1.53618 .784335 .506483 2.56804C-.533615 4.34915 .0797871 6.62351 1.87408 7.65398L8.97715 11.7427L1.87408 15.8201C.0797871 16.8527 -.531016 19.1271 .506483 20.9156C1.53618 22.6941 3.82388 23.302 5.61817 22.2746L18.3294 14.9643C19.1871 14.4728 19.7693 13.7027 20.0375 12.8374Z' fill='white'/%3E%3C/svg%3E%0A\")}.sf-blue-mountains{background-size:90% auto;background-repeat:no-repeat;background-position:center bottom;background-image:url(\"data:image/svg+xml,%3Csvg width='1361' height='410' viewBox='0 0 1361 410' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1360.25 410L1065.53 114.309L976.256 203.875L773.049 0L364.393 410H1360.25Z' fill='%233AA8DF'/%3E%3Cpath d='M274.778 410L137.467 272.238L.15625 410H274.778Z' fill='%233AA8DF'/%3E%3C/svg%3E%0A\")}.bwalignr,.main-pr-body .bwalignr{text-align:right}.bwblockalignl{margin-left:0;margin-right:auto}.bwcellpmargin{margin-top:0;margin-bottom:0}.bwlistdisc{list-style-type:disc}.bwpadb3{padding-bottom:4px}.bwpadb4{padding-bottom:5px}.bwpadl0{padding-left:0}.bwpadl3{padding-left:15px}.bwpadl6{padding-left:30px}.bwpadl9{padding-left:45px}.bwpadl12{padding-left:60px}.bwpadr0{padding-right:0}.bwtablemarginb{margin-bottom:10px}.bwvertalignb{vertical-align:bottom}.bwvertalignt{vertical-align:top}.bwsinglebottom{border-bottom:1pt solid #000}.bwdoublebottom{border-bottom:2.25pt double #000}.bwwidth1{width:1%}.bwwidth2{width:2%}.bwwidth6{width:6%}.bwwidth7{width:7%}.bwwidth8{width:8%}.bwwidth10{width:10%}.bwwidth12{width:12%}.bwwidth32{width:32%}.bwwidth44{width:44%}.bwwidth72{width:72%}.bwwidth97{width:97%}.main-pr-body{font-size:18px;line-height:26px}.main-pr-body img{display:block;width:100%;height:auto!important;border-radius:var(--small-border-radius)}.main-pr-body table{width:100%;display:block}.main-pr-body tbody{background-color:#f7f7f7}.main-pr-body .bwsinglebottom{border-bottom:1pt solid #000!important}.main-pr-body td.bwwidth44{padding-right:40px}.main-pr-body .bw-release-story{font-family:Lato,sans-serif}.main-pr-body .bw-release-story sup,.snowflake-mega-nav-dropdown-header-content-right a{white-space:nowrap}.main-pr-body .bw-release-story\u003E*,.main-pr-body\u003Espan\u003E*{margin-bottom:2rem!important}.snowflake-text.main-pr-body tbody,.snowflake-text.main-pr-body tbody p{font-size:14px!important;line-height:20px!important;width:100%;display:block}.press-body .snowflake-flexible-column-container-items{gap:var(--spacing-08)}.about-snowflake{border:1px solid #ccc;background-color:var(--ui-background-05);padding:24px;border-radius:8px;margin-top:0}.about-snowflake__logo{max-width:140px;margin-top:16px}.hero--press .snowflake-hero-system-inner{max-width:1408px;margin:0 auto!important}#arcticNavItem{flex-direction:column}#arcticNavItem::before{content:\"Featured Open Source Technologies\";display:block;margin-top:48px;margin-bottom:24px;font-size:16px!important;line-height:16px!important;font-weight:800!important;text-transform:uppercase}@media screen and (min-width:768px){.sc-hero__inner\u003E.snowflake-flexible-column-container-items\u003Ediv:last-child{position:relative;height:100%;top:auto;left:auto;width:auto}.sc-hero__inner\u003E.snowflake-flexible-column-container-items\u003Ediv:last-child::before{background:linear-gradient(180deg,#202c35 -7.5%,#fff0 51.25%,#202c35 107.69%)}.sc-hero__byline\u003Espan{display:flex;flex-wrap:wrap}.sc-hero__byline p:not(:last-child)::after{content:\"|\";margin:0 12px;opacity:.5}.sc-hero__button-container .snowflake-flexible-column-container-items{position:absolute;bottom:0;padding:0;margin:0 24px 0 0}.sc-hero__button-container .hero-watch-the-demo{padding:12px 16px!important;float:right;margin-bottom:48px;background-color:rgb(35 45 54 / .8)}.summit-overview-stat{padding:0 40px}.summit-timeline{border-bottom:3px solid var(--ui-01);margin-bottom:64px}.summit-add-on-block__content,.summit-pricing-block__content{padding:0 40px 40px}#arcticNavItem::before{font-size:12px!important;margin-bottom:8px;margin-top:16px}.snowflake-mega-nav-nav-item-title-wrapper\u003E.snowflake-mega-nav-nav-item-title{line-height:20px!important}.snowflake-card .heading-2.snowflake-title-line{font-size:24px!important;line-height:28px!important}}@media screen and (min-width:992px){.hp-hero__eyebrow a{gap:12px;margin-left:0;margin-right:0}.hp-hero__eyebrow a::after{content:\"\";background-image:url(\"data:image/svg+xml,%3Csvg width='6' height='11' viewBox='0 0 6 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.49134 5.79438C5.53447 5.75922 5.56923 5.71489 5.5931 5.66463C5.61697 5.61436 5.62935 5.55941 5.62935 5.50376C5.62935 5.44811 5.61697 5.39316 5.5931 5.34289C5.56923 5.29263 5.53447 5.2483 5.49134 5.21314L.736339 .413136C.522589 .203135 .331339 .203135 .151339 .413136C-.0286612 .623135 -.0586612 .818135 .151339 .994386L4.48634 5.50188L.155089 9.97938C.107068 10.0142 .0679743 10.0598 .0410153 10.1126C.0140562 10.1654 0 10.2238 0 10.2831C0 10.3424 .0140562 10.4009 .0410153 10.4537C.0679743 10.5065 .107068 10.5521 .155089 10.5869C.335089 10.7969 .530089 10.7969 .740089 10.5869L5.49134 5.79438Z' fill='black'/%3E%3C/svg%3E%0A\");display:inline-block;width:12px;height:12px;background-repeat:no-repeat;background-size:auto 100%;background-position:left center}.promo-banner--homepage{padding-top:32px}.homepage-banner-offset-container::after{height:50%}#storyHighlights{padding:2rem}.body-display-v2.snowflake-quote-item-quote-text{line-height:28px!important}.snowflake-hero-system-headline .heading-1-v2{line-height:48px;font-size:54px!important}.sc-overview__webinar-promo-banner .snowflake-content-chip-content{flex-direction:row;justify-content:space-between;align-items:center;width:100%}.sc-overview__webinar-promo-banner .snowflake-content-chip-content .heading-5-v2{flex-direction:row}.sc-overview__webinar-promo-banner .snowflake-content-chip-content .snowflake-title-v2-line:not(:first-child)::before{content:\"|\";margin:0 6px}.sc-cert-banner{padding:40px}.sc-cert-banner\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{margin:0!important;width:50%}.sc-cert-banner\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:first-child{flex-grow:1;padding-right:24px}.sc-cert-banner\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:last-child{max-width:240px}.summit-pricing-block__content\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:last-child{width:70%;padding-left:40px}.summit-pricing-block__content\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:first-child{width:30%}.summit-add-on-block__content\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(33.3333% - 24px);margin:0!important;display:flex}.summit-pricing-block__tile .snowflake-content-chip-content{display:flex;flex-direction:row;align-items:center;width:calc(100% - 200px)}.summit-pricing-block__tile .heading-5-v2 span.snowflake-title-v2-line:last-child{position:absolute;top:50%;transform:translate(0,-50%);right:40px}.press-body\u003E.snowflake-flexible-column-container-items\u003Ediv:last-child{position:sticky;top:120px}.snowflake-mega-nav-navigation-title:hover{color:var(--ui-01)}}@media screen and (min-width:1024px){.about-snowflake{padding:28px}.about-snowflake__logo{max-width:none;padding:0 0 0 48px;margin-bottom:0}.hero--press .snowflake-hero-system-layout-70-30 .snowflake-hero-system-content-container{width:85%}.snowflake-hero-system{padding-bottom:var(--spacing-04);padding-top:var(--spacing-07)}.hero--press .display-2-v2{font-size:64px;line-height:56px}.about-snowflake\u003E.container\u003E.cmp-container\u003E.aem-container{flex-direction:row;flex-wrap:nowrap;align-items:center}.about-snowflake\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:last-child{max-width:280px}.about-snowflake\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:first-child{flex-grow:1;margin-bottom:0!important}#polarisNavItem{margin-top:40px}.snowflake-mega-nav-nav-item-description{line-height:18px!important}.snowflake-mega-nav-column-items{gap:var(--spacing-01);grid-gap:var(--spacing-01)}.snowflake-mega-nav-navigation-title{text-transform:none}}div[id*=blueIcon] .snowflake-mega-nav-nav-item-icon__inner{background:var(--ui-01);padding:8px}div[id*=blueIcon]:hover .snowflake-mega-nav-nav-item-icon__inner{background:var(--ui-01)!important}.snowflake-mega-nav-nav-item-icon__inner{border-radius:4px;background:var(--ui-background-05);padding:6px}.snowflake-mega-nav-nav-item:hover .snowflake-mega-nav-nav-item-icon__inner{background:#fff!important}.snowflake-mega-nav-nav-item-icon.snowflake-image-container{height:40px;width:40px}.snowflake-mega-nav-dropdown-footer-links\u003E.snowflake-button-link\u003E.snowflake-button-container{font-size:16px!important;font-family:Texta!important;font-weight:800!important}.snowflake-mega-nav-dropdown-footer-icon.snowflake-image-container{margin-right:8px;width:40px!important;height:40px!important}#viewAllCapabilities a:hover{background:0 0!important}#platformFooter .snowflake-title-v2 .snowflake-title-v2-line:last-child{font-family:Lato;font-size:14px;font-weight:500}#platformFooter .snowflake-mega-nav-dropdown-footer-links{flex-grow:1;justify-content:flex-end;align-items:center}#platformFooter .snowflake-mega-nav-dropdown-footer-content{flex-direction:row}#offset,#open-source{flex-direction:column;border-top:1px solid #ccc}#offset::before,#open-source::before{content:\" \";display:block;width:100%;font-weight:800!important;font-size:12px!important;line-height:14px;text-transform:uppercase;white-space:nowrap;margin-top:16px;margin-bottom:8px}#open-source::before{content:\"Open Source Technologies\"}.snowflake-mega-nav-dropdown-menu-close-button{margin:var(--spacing-04) 0 var(--spacing-03)}.snowflake-mega-nav-column{gap:var(--spacing-02)!important}.snowflake-mega-nav-nav-item\u003Ea{width:100%;margin-left:-8px;padding:8px;border-radius:4px}.snowflake-mega-nav-nav-item\u003Ea:hover{background-color:var(--ui-background-05)}.snowflake-mega-nav-nav-item-description{margin-top:2px;display:block}#promobanner_overflowBottomDarkBlue::before{content:'';display:block;position:absolute;bottom:0;left:0;width:100%;height:50%;background:#212d35}#promobanner_overflowTopDarkBlue::before{content:'';display:block;position:absolute;top:0;left:0;width:100%;height:50%;background:#212d35}.overview-card\u003Ediv{box-shadow:0 0 14px 0 rgba(0,0,0,.10);background-color:#fff;border-radius:16px;overflow:hidden}.overview-card-text{padding:40px}.overview-card-image img{border-radius:0 !important}.overview-card-text h3,.overview-card-text .heading-3-v2{font-size:18px;line-height:1.1;margin-top:0}","isGSAPEnabled":false,":type":"snowflake-site/components/markup-editor"},"mega_header":{"additionalClasses":"heap-nav-header","layout":"SIMPLE","id":"container-e3256b2cdc",":type":"snowflake-site/components/mega-header","appliedCssClassNames":"snowflake-header-container white",":items":{"nav_mega":{"activeItem":"item_1719963657751_c_663444255","id":"tabs-d0763b17ff",":type":"snowflake-site/components/nav/nav-mega",":items":{"item_1719963657751_c_663444255":{"id":"nav-dropdown-menu-085d2a9205","enableDropdown":true,"nav_column_container":{"layout":"SIMPLE","id":"container-fcd4b631c2",":type":"snowflake-site/components/nav/nav-column/nav-column-container",":items":{"nav_column":{"additionalClasses":"nav-platform-sidebar","numberOfSubColumns":"one-column","minWidth":"230","maxWidth":"350","layout":"SIMPLE","id":"container-ffe2664126",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item_copy_copy_2_793631646":{"id":"nav-item-5833a50153","additionalClasses":"nav-item__platform-parent is-platform","linkDescription":"Develop AI products, apps and more on a fully managed platform that securely connects businesses globally — across any type or scale of data.","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/platform/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"The Snowflake Platform"},":type":"snowflake-site/components/nav/nav-item"},"nav_item":{"id":"nav-item-139afc2ccb","additionalClasses":"nav-item nav-item--si is-si","linkDescription":"All your knowledge. One trusted enterprise agent.","flag":"NOW GA","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/snowflake-cowork/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Snowflake CoWork"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_copy_2_836345186":{"id":"nav-item-d853c66523","additionalClasses":"blue-icon is-analytics","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/analytics/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Analytics"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_copy_2":{"id":"nav-item-d32bd1ddea","additionalClasses":"blue-icon is-ai","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/ai/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"AI"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_copy_2_1314771042":{"id":"nav-item-9932044498","additionalClasses":"blue-icon is-data-eng","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/data-engineering/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Data Engineering"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_144634":{"id":"nav-item-1675641b03","additionalClasses":"blue-icon is-apps-collab","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/applications-and-collaboration/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Applications & Collaboration"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_144634_2013333117":{"id":"nav-item-99258130fe","additionalClasses":"blue-icon is-transactions","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/transactions/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Transactions"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item_copy_copy_2_793631646","nav_item","nav_item_copy_copy_2_836345186","nav_item_copy_copy_2","nav_item_copy_copy_2_1314771042","nav_item_copy_144634","nav_item_copy_144634_2013333117"]},"nav_column_copy_copy":{"additionalClasses":"meganav-platform-features","navColumnTitle":"Featured Capabilities","numberOfSubColumns":"one-column","layout":"SIMPLE","id":"container-ee372a30d0",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item_copy_212715":{"id":"nav-item-ad404278e3","additionalClasses":"is-cortex-code","linkDescription":"Snowflake-native AI coding agent ","flag":"New","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/snowflake-coco/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Snowflake CoCo"},":type":"snowflake-site/components/nav/nav-item"},"nav_item":{"id":"nav-item-3a8df2b196","additionalClasses":"is-cortex-ai","linkDescription":"Instant access to industry-leading LLMs","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/product/features/cortex/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Cortex AI"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_660590635":{"id":"nav-item-3e6619fea9","additionalClasses":"is-marketplace","linkDescription":"Third-party data sources connected within minutes","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/product/features/marketplace/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Marketplace"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_660590":{"id":"nav-item-d50efe3d86","additionalClasses":"is-snowpark","linkDescription":"Libraries and code execution environments that run Python and more","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/product/features/snowpark/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Snowpark"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_660590_983061516":{"id":"nav-item-e6276f9434","additionalClasses":"is-streamlit","linkDescription":"Framework for transforming Python scripts into web apps","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/product/features/streamlit-in-snowflake/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Streamlit"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item_copy_212715","nav_item","nav_item_copy_660590635","nav_item_copy_660590","nav_item_copy_660590_983061516"]},"nav_column_692142673":{"navColumnTitle":" ","numberOfSubColumns":"one-column","layout":"SIMPLE","id":"container-bf59e95427",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item_copy_660590_1739526127":{"id":"nav-item-d9b2205588","additionalClasses":"is-postgres","linkDescription":"Fully compatible open source Postgres running on Snowflake","flag":"Now GA","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/features/postgres/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Postgres"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_185565":{"id":"nav-item-746b2a3bc9","additionalClasses":"is-dcr","linkDescription":"Streamlined model development and MLOps from a centralized UI","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/features/end-to-end-ml-workflows/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Snowflake ML"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_212715":{"id":"nav-item-e1145dac1e","additionalClasses":"is-openflow","linkDescription":"Effortless data movement for integrations","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/product/features/openflow/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Openflow"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_660590":{"id":"nav-item-c25c67c804","additionalClasses":"is-notebooks","linkDescription":"Interactive dev environment for data and AI teams","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/product/features/notebooks/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Notebooks"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_258535199":{"id":"nav-item-6bc9e943e9","propertiesId":"workload-nav-1","additionalClasses":"is-native-apps","linkDescription":"End-to-end, Snowflake-native app creation and distribution","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/product/features/native-apps/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Native Apps"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item_copy_660590_1739526127","nav_item_copy_185565","nav_item_copy_212715","nav_item_copy_660590","nav_item_258535199"]},"nav_column_782221091":{"navColumnTitle":" ","numberOfSubColumns":"one-column","layout":"SIMPLE","id":"container-ad84c89aee",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item_copy":{"id":"nav-item-a5c28d7833","additionalClasses":"is-light-gray-icon is-horizon-catalog","linkDescription":"Universal AI catalog","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/features/horizon/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Horizon Catalog"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_660590_1293798742":{"id":"nav-item-93d1b9b3a6","additionalClasses":"is-snowflake-ml","linkDescription":"Governed context layer that keeps AI, BI and data apps working from one truth","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/features/horizon-context/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Horizon Context"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_511717659_c":{"id":"nav-item-b518c5ed5c","additionalClasses":"is-unistore","linkDescription":"Unify transactional and analytical workloads in Snowflake for enhanced simplicity","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/features/unistore/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Unistore"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_511717659_c_1443811525":{"id":"nav-item-e20f64fafe","additionalClasses":"is-observe","linkDescription":"AI-powered observability for faster production troubleshooting","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/observe/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Observe"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_511717659_c_1006104884":{"id":"nav-item-0b84836965","additionalClasses":"is-observe","linkDescription":"Use any engine on a single governed data copy","flag":"Now GA","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/use-cases/interoperable-lakehouse/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Interoperable Lakehouse"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item_copy","nav_item_copy_660590_1293798742","nav_item_511717659_c","nav_item_511717659_c_1443811525","nav_item_511717659_c_1006104884"]}},":itemsOrder":["nav_column","nav_column_copy_copy","nav_column_692142673","nav_column_782221091"]},":type":"snowflake-site/components/nav/nav-dropdown-menu","cq:panelTitle":"Product"},"nav_dropdown_menu_2":{"id":"nav-dropdown-menu-4ed99d01a6","enableDropdown":true,"nav_column_container":{"layout":"SIMPLE","id":"container-0664f39a74",":type":"snowflake-site/components/nav/nav-column/nav-column-container",":items":{"nav_column":{"navColumnTitle":"INDUSTRIES","numberOfSubColumns":"one-column","minWidth":"280","layout":"SIMPLE","id":"container-76c0a5b221",":type":"snowflake-site/components/nav/nav-column","appliedCssClassNames":"snowflake-responsive-container-inner-padding-extra-small",":items":{"nav_item_copy_361384_2056203141":{"id":"nav-item-156081fe01","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/solutions/industries/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"All Industries"},":type":"snowflake-site/components/nav/nav-item"},"nav_item":{"id":"nav-item-2bc4960118","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/solutions/industries/advertising-media-entertainment/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Advertising, Media & Entertainment"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy":{"id":"nav-item-e2b8d5634d","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/solutions/industries/financial-services/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Financial Services"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1970515619":{"id":"nav-item-74eac39749","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/solutions/industries/healthcare-and-life-sciences/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Healthcare & Life Sciences"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1533429516":{"id":"nav-item-dffb3c7dea","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/solutions/industries/manufacturing/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Manufacturing"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1444458226":{"id":"nav-item-73d8f10a62","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/solutions/industries/public-sector/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Public Sector"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1149488919":{"id":"nav-item-ff118669e2","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/solutions/industries/retail-consumer-goods/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Retail & Consumer Goods"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_57417040":{"id":"nav-item-d67bd3564e","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/solutions/industries/technology/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Technology"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_361384674":{"id":"nav-item-877fd66990","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/solutions/industries/telecom/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Telecom"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_361384":{"id":"nav-item-dc75aeac70","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/solutions/industries/travel-hospitality/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Travel & Hospitality"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item_copy_361384_2056203141","nav_item","nav_item_copy","nav_item_copy_1970515619","nav_item_copy_1533429516","nav_item_copy_1444458226","nav_item_copy_1149488919","nav_item_copy_57417040","nav_item_copy_361384674","nav_item_copy_361384"]},"nav_column_copy":{"navColumnTitle":"DEPARTMENTS","numberOfSubColumns":"one-column","minWidth":"160","layout":"SIMPLE","id":"container-b1c01b7398",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item":{"id":"nav-item-ea0cdd92a7","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/solutions/departments/finance/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Finance"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy":{"id":"nav-item-6a020baf3b","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/solutions/departments/information-technology/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"IT"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1970515619":{"id":"nav-item-b3f6337955","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/solutions/departments/marketing/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Marketing"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item","nav_item_copy","nav_item_copy_1970515619"]},"nav_column_833417450":{"navColumnTitle":"Enablement Solutions","numberOfSubColumns":"one-column","layout":"SIMPLE","id":"container-f6e0599051",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item_copy_107772":{"id":"nav-item-62119baddd","linkDescription":"Confident migration to a unified platform","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/migrate-to-the-cloud/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Migrate to the AI Data Cloud"},"icon":{"id":"icon","lazyEnabled":true,"src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/nav_dropdown_menu_2/nav_column_container/nav_column_833417450/nav_item_copy_107772/icon.coreimg.svg/1723828484100/nav-icon-cloud.svg","alt":"Cloud icon",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_copy":{"id":"nav-item-ca93ad2be6","linkDescription":"Snowflake experts to help you accelerate and achieve business goals","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/solutions/services-delivery/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Services Delivery"},"icon":{"id":"icon","lazyEnabled":true,"src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/nav_dropdown_menu_2/nav_column_container/nav_column_833417450/nav_item_copy_copy/icon.coreimg.svg/1768354429188/nav-icon--migrate.svg","alt":"Migrate icon",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item_copy_107772","nav_item_copy_copy"]},"nav_column_copy_copy":{"navColumnTitle":"PARTNER SOLUTIONS","numberOfSubColumns":"one-column","layout":"SIMPLE","id":"container-b757b63e9c",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item":{"id":"nav-item-3597836e8b","linkDescription":"Programs with product, solutions and cloud partners","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/why-snowflake/partners/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Snowflake Partner Network"},"icon":{"id":"icon","lazyEnabled":true,"src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/nav_dropdown_menu_2/nav_column_container/nav_column_copy_copy/nav_item/icon.coreimg.svg/1723828498700/nav-icon--partner-network.svg","alt":"Partner Network icon",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy":{"id":"nav-item-1ce95b57c5","linkDescription":"Partners, apps and solutions for enhanced deployment","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/why-snowflake/partners/all-partners/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Partner Finder"},"icon":{"id":"icon","lazyEnabled":true,"src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/nav_dropdown_menu_2/nav_column_container/nav_column_copy_copy/nav_item_copy/icon.coreimg.svg/1726173927645/nav-icon--partner-finder.svg","alt":"Partner Finder icon",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1970515619":{"id":"nav-item-7fc9f025b4","linkDescription":"Live and virtual events","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/why-snowflake/partners/event-partnership-opportunities/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Event Partnership Opportunities"},"icon":{"id":"icon","lazyEnabled":true,"src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/nav_dropdown_menu_2/nav_column_container/nav_column_copy_copy/nav_item_copy_1970515619/icon.coreimg.svg/1726173935655/nav-icon--events.svg","alt":"Calendar icon",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item","nav_item_copy","nav_item_copy_1970515619"]}},":itemsOrder":["nav_column","nav_column_copy","nav_column_833417450","nav_column_copy_copy"]},":type":"snowflake-site/components/nav/nav-dropdown-menu","cq:panelTitle":"Solutions"},"item_1719963657751_c":{"id":"nav-dropdown-menu-b12a5a71ed","enableDropdown":true,"nav_column_container":{"layout":"SIMPLE","id":"container-a3e26a64ec",":type":"snowflake-site/components/nav/nav-column/nav-column-container",":items":{"nav_column":{"numberOfSubColumns":"one-column","minWidth":"230","maxWidth":"350","layout":"SIMPLE","id":"container-6ffd731de1",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item_copy_copy_2_793631646":{"id":"nav-item-de0b9dbffa","additionalClasses":"nav-item__platform-parent-why-sf","linkDescription":"Collaborate locally and globally to reveal new insights, create previously unforeseen business opportunities, and identify your customers with seamless experiences.","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/why-snowflake/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Why Snowflake"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item_copy_copy_2_793631646"]},"nav_column_copy_copy":{"additionalClasses":"meganav-platform-features","numberOfSubColumns":"two-columns","maxWidth":"1200","layout":"SIMPLE","id":"container-20b586299f",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item":{"id":"nav-item-6d59abc6ae","propertiesId":"testID","linkDescription":"Case studies and videos showcasing how global organizations use Snowflake","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/customers/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Customers"},"icon":{"id":"icon","lazyEnabled":true,"src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751_c/nav_column_container/nav_column_copy_copy/nav_item/icon.coreimg.svg/1739839279367/nav-icon--partner-network.svg","alt":"Customer icon",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_258535199":{"id":"nav-item-a1a3314530","propertiesId":"workload-nav-1","linkDescription":"Learn how to connect, share and integrate the data and apps on the AI Data Cloud","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/why-snowflake/what-is-data-cloud/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"The AI Data Cloud Explained"},"icon":{"id":"icon","lazyEnabled":true,"src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751_c/nav_column_container/nav_column_copy_copy/nav_item_258535199/icon.coreimg.svg/1739840490955/nav-icon-cloud.svg","alt":"Cloud icon",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_185565":{"id":"nav-item-48e7318fd9","linkDescription":"Comprehensive security through built-in features, robust cloud infrastructure protection, and more","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/why-snowflake/snowflake-security-hub/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Security Hub"},"icon":{"id":"icon","lazyEnabled":true,"src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751_c/nav_column_container/nav_column_copy_copy/nav_item_copy_185565/icon.coreimg.svg/1758909528089/user-security-admins-ciso-icon.svg","alt":"User with security lock icon",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy":{"id":"nav-item-9cea77c00a","additionalClasses":"is-light-gray-icon","linkDescription":"Maximize economic value through minimizing TCO and continuously optimizing price for performance","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/pricing-options/cost-and-performance-optimization/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Cost and Performance Optimization"},"icon":{"id":"icon","lazyEnabled":true,"src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751_c/nav_column_container/nav_column_copy_copy/nav_item_copy/icon.coreimg.svg/1758909542267/nav-icon-cost-optimization-performance.svg","alt":"Cost Optimization icon",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_185565_903555964":{"id":"nav-item-8bbc0e8752","linkDescription":"Startups building applications in the AI Data Cloud","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/why-snowflake/startup-program/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Snowflake for Startups"},"icon":{"id":"icon","lazyEnabled":true,"src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751_c/nav_column_container/nav_column_copy_copy/nav_item_copy_185565_903555964/icon.coreimg.svg/1758732224323/launch.svg","alt":"Launch",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item","nav_item_258535199","nav_item_copy_185565","nav_item_copy","nav_item_copy_185565_903555964"]}},":itemsOrder":["nav_column","nav_column_copy_copy"]},":type":"snowflake-site/components/nav/nav-dropdown-menu","cq:panelTitle":"Why Snowflake"},"item_1719961362824":{"id":"nav-dropdown-menu-16d722a324","enableDropdown":true,"nav_column_container":{"layout":"SIMPLE","id":"container-b84d6c27f5",":type":"snowflake-site/components/nav/nav-column/nav-column-container",":items":{"nav_column_copy":{"navColumnTitle":"Connect","numberOfSubColumns":"one-column","minWidth":"124","layout":"SIMPLE","id":"container-651f60b8fa",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item":{"id":"nav-item-b098886038","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/blog/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Blog"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_180298689":{"id":"nav-item-281f0201f2","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/events/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Events"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_1639361946":{"id":"nav-item-886dbb697a","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/support/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Support"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_680912746":{"id":"nav-item-2cd5d78dbd","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/contact/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Contact us"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item","nav_item_180298689","nav_item_1639361946","nav_item_680912746"]},"nav_column_44600420__826130542":{"navColumnTitle":"Learn","numberOfSubColumns":"two-columns","layout":"SIMPLE","id":"container-e9f40ae0cd",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item_copy":{"id":"nav-item-cef5ad782f","linkDescription":"Ebooks, videos, white papers and more","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/resources/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Resource Library"},"icon":{"id":"icon","lazyEnabled":true,"src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719961362824/nav_column_container/nav_column_44600420__826130542/nav_item_copy/icon.coreimg.svg/1736877128196/nav-icon--notebooks.svg","alt":"Notebooks icon",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item":{"id":"nav-item-3e0ecf2f8a","linkDescription":"Overview of Snowflake's educational offerings","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/resources/learn/training/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Training"},"icon":{"id":"icon","lazyEnabled":true,"src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719961362824/nav_column_container/nav_column_44600420__826130542/nav_item/icon.coreimg.svg/1722385094416/nav-icon--training.svg","alt":"Training icon",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_144634_1984107859":{"id":"nav-item-239d524f5e","linkDescription":"Expert-led discussions and demos across industries and use cases","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/webinars/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Webinars"},"icon":{"id":"icon","lazyEnabled":true,"src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719961362824/nav_column_container/nav_column_44600420__826130542/nav_item_copy_144634_1984107859/icon.coreimg.svg/1759424691990/nav-icon--webinars.svg","alt":"Webinars icon",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1438098918":{"id":"nav-item-fd7792e3a4","linkDescription":"Snowflake's technical industry professional certifications","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/resources/learn/certifications/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Certifications"},"icon":{"id":"icon","lazyEnabled":true,"src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719961362824/nav_column_container/nav_column_44600420__826130542/nav_item_copy_1438098918/icon.coreimg.svg/1722382780833/nav-icon--cert.svg","alt":"Certification icon",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_143809":{"id":"nav-item-68ee9a5909","linkDescription":"Weekly product demos showcasing key features and live Q&A ","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/webinars/demo/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Live Demos"},"icon":{"id":"icon","lazyEnabled":true,"src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719961362824/nav_column_container/nav_column_44600420__826130542/nav_item_copy_143809/icon.coreimg.svg/1759424359543/nav-icon--live-demo.svg","alt":"Live Demo icon",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_333890638":{"id":"nav-item-686e6a9a03","linkDescription":"Training courses for all levels, on-demand or instructor-led","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"attributes":{"target":"_blank"},"url":"https://learn.snowflake.com/en/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Snowflake University"},"icon":{"id":"icon","lazyEnabled":true,"src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719961362824/nav_column_container/nav_column_44600420__826130542/nav_item_copy_333890638/icon.coreimg.svg/1722382769808/nav-icon--education.svg","alt":"Education icon",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_189945":{"id":"nav-item-e0a4bdb0ba","linkDescription":"Instructor-led virtual workshops for exploring key Snowflake features","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/webinars/virtual-hands-on-lab/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Hands-On Labs"},"icon":{"id":"icon","lazyEnabled":true,"src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719961362824/nav_column_container/nav_column_44600420__826130542/nav_item_copy_189945/icon.coreimg.svg/1759388182903/nav-icon--labs.svg","alt":"Hands-on Labs icon",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_333890":{"id":"nav-item-01cb457e34","linkDescription":"Academic papers written by Snowflake researchers","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/resources/publications/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Snowflake Research Publications"},"icon":{"id":"icon","lazyEnabled":true,"src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719961362824/nav_column_container/nav_column_44600420__826130542/nav_item_copy_333890/icon.coreimg.svg/1756326371387/copy.svg","alt":"Copy",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_333890_930852828":{"id":"nav-item-f02bb2148e","linkDescription":"Informative articles about AI and data topics","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/fundamentals/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Fundamentals"},"icon":{"id":"icon","lazyEnabled":true,"src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719961362824/nav_column_container/nav_column_44600420__826130542/nav_item_copy_333890_930852828/icon.coreimg.svg/1756853637155/data-sheet.svg","alt":"Document with list",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item_copy","nav_item","nav_item_copy_144634_1984107859","nav_item_copy_1438098918","nav_item_copy_143809","nav_item_copy_333890638","nav_item_copy_189945","nav_item_copy_333890","nav_item_copy_333890_930852828"]}},":itemsOrder":["nav_column_copy","nav_column_44600420__826130542"]},"nav_promo_section":{"id":"nav-promo-section-e753396f3b","experience_fragment_1":{"id":"experiencefragment-b9dbb804a5","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/nav-promo-card/master1/jcr:content","configured":true,":type":"snowflake-site/components/experiencefragment",":items":{"root":{"columnClassNames":{"nav_promo_card":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-dbcd1cd23f",":type":"snowflake-site/components/container",":items":{"nav_promo_card":{"id":"nav-promo-card-efb3fa899a","openInNewWindow":true,"layout":"horizontal","headline":"Dev Day Virtual - June 25","description":"Don’t just hear about AI — build it. Luminary talks and hands-on labs","linkTitle":"Learn more","linkUrl":"/en/dev-day/americas-virtual/","image":{"id":"image","lazyEnabled":true,"src":"https://www.snowflake.com/adobe/dynamicmedia/deliver/dm-aid--de231e36-6645-4550-abd9-0f8de758ac66/web-dev-day-26-960x540-1x.png?quality=85&preferwebp=true","alt":"dev day","width":"960","height":"540",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-promo-card"}},":itemsOrder":["nav_promo_card"]},"cq:metadata":{":type":"nt:unstructured"}},":itemsOrder":["root","cq:metadata"],"classNames":"aem-xf"},"experience_fragment_2":{"id":"experiencefragment-50d8034085","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/nav-promo-card/navigation-promo-card-2/jcr:content","configured":true,":type":"snowflake-site/components/experiencefragment",":items":{"root":{"columnClassNames":{"nav_promo_card":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-aaa1396709",":type":"snowflake-site/components/container",":items":{"nav_promo_card":{"id":"nav-promo-card-39a9ef91dc","openInNewWindow":true,"layout":"horizontal","headline":"The ROI of Gen AI and Agents 2026","description":"Discover how 92% of early adopters are achieving positive ROI with gen AI.","linkTitle":"Learn More","linkUrl":"/en/lp/radical-roi-generative-ai/","image":{"id":"image","lazyEnabled":true,"src":"https://www.snowflake.com/adobe/dynamicmedia/deliver/dm-aid--0c15edae-1a97-4739-8b16-c7f3941a6d9e/web-roi-of-gen-ai-and-agents-2026-r02-960x540.png?quality=85&preferwebp=true","alt":"roi of gen ai and agents","width":"960","height":"540",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-promo-card"}},":itemsOrder":["nav_promo_card"]},"cq:metadata":{":type":"nt:unstructured"}},":itemsOrder":["root","cq:metadata"],"classNames":"aem-xf"},"experience_fragment_3":{"id":"experiencefragment-9da2ebdfeb","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/nav-promo-card/navigation-promo-card-3/jcr:content","configured":true,":type":"snowflake-site/components/experiencefragment",":items":{"root":{"columnClassNames":{"nav_promo_card":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-29470b5f36",":type":"snowflake-site/components/container",":items":{"nav_promo_card":{"id":"nav-promo-card-d3cd09dba2","openInNewWindow":true,"layout":"horizontal","headline":"Startup 2026: AI Agents Mean Business","description":"Venture leaders weigh in on agentic AI. ","linkTitle":"Learn more","linkUrl":"/en/lp/building-startup-ai-age/","image":{"id":"image","lazyEnabled":true,"src":"https://www.snowflake.com/adobe/dynamicmedia/deliver/dm-aid--a320b404-dca1-4477-b033-c79708538657/web-startup-2026-960x540.png?quality=85&preferwebp=true","alt":"alt","width":"960","height":"540",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-promo-card"}},":itemsOrder":["nav_promo_card"]},"cq:metadata":{":type":"nt:unstructured"}},":itemsOrder":["root","cq:metadata"],"classNames":"aem-xf"},":type":"snowflake-site/components/nav/nav-promo-section"},":type":"snowflake-site/components/nav/nav-dropdown-menu","cq:panelTitle":"Resources"},"item_1719963657751":{"id":"nav-dropdown-menu-81b046e819","enableDropdown":true,"nav_column_container":{"layout":"SIMPLE","id":"container-8decd991b1",":type":"snowflake-site/components/nav/nav-column/nav-column-container",":items":{"nav_column_copy_copy":{"navColumnTitle":"Build","numberOfSubColumns":"one-column","layout":"SIMPLE","id":"container-3a0a64667a",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item":{"id":"nav-item-dd3dbaadcc","propertiesId":"testID","linkDescription":"Overview of the dev resources you need to build and scale","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/developers/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Snowflake for Developers"},"icon":{"id":"icon","lazyEnabled":true,"src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751/nav_column_container/nav_column_copy_copy/nav_item/icon.coreimg.svg/1731362494574/nav-icon--devs.svg","alt":"Developers icon",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1855651246":{"id":"nav-item-9480744713","linkDescription":"Reference architectures, use cases and best practices","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/developers/guides/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Developer Guides"},"icon":{"id":"icon","lazyEnabled":true,"src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751/nav_column_container/nav_column_copy_copy/nav_item_copy_1855651246/icon.coreimg.svg/1761677891705/nav-icon--solution-center.svg","alt":"Solution Center icon",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy":{"id":"nav-item-d4a37ffa17","additionalClasses":"is-light-gray-icon","linkDescription":"The latest software versions, drivers, libraries and relevant docs","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/developers/downloads/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Downloads"},"icon":{"id":"icon","lazyEnabled":true,"src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751/nav_column_container/nav_column_copy_copy/nav_item_copy/icon.coreimg.svg/1731362660050/nav-icon-download.svg","alt":"Download icon",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item","nav_item_copy_1855651246","nav_item_copy"]},"nav_column_copy_copy_1367930678":{"navColumnTitle":"Learn","numberOfSubColumns":"one-column","layout":"SIMPLE","id":"container-bb5441b743",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item":{"id":"nav-item-0069832066","propertiesId":"testID","linkDescription":"Reference docs, guides, tutorials and announcements","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"attributes":{"target":"_blank"},"url":"https://docs.snowflake.com/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Documentation"},"icon":{"id":"icon","lazyEnabled":true,"src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751/nav_column_container/nav_column_copy_copy_1367930678/nav_item/icon.coreimg.svg/1731361950527/nav-icon--docs.svg","alt":"Docs icon",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy":{"id":"nav-item-b404779b3b","additionalClasses":"is-light-gray-icon","linkDescription":"Key projects Snowflake engineers maintain and support","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/developers/open-source/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Open Source"},"icon":{"id":"icon","lazyEnabled":true,"src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751/nav_column_container/nav_column_copy_copy_1367930678/nav_item_copy/icon.coreimg.svg/1731365437016/nav-icon-open-source.svg","alt":"Open Source icon",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_copy":{"id":"nav-item-bfbd453c90","additionalClasses":"is-light-gray-icon","linkDescription":"Online and in-person classes and workshops to upskill on Snowflake","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/developers/northstar/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Builder Education"},"icon":{"id":"icon","lazyEnabled":true,"src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751/nav_column_container/nav_column_copy_copy_1367930678/nav_item_copy_copy/icon.coreimg.svg/1731362475640/nav-icon--northstar.svg","alt":"Northstar logo",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item","nav_item_copy","nav_item_copy_copy"]},"nav_column_copy_copy_1101894776":{"navColumnTitle":"Connect","numberOfSubColumns":"one-column","layout":"SIMPLE","id":"container-2317d452ce",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item":{"id":"nav-item-7e3cff1334","propertiesId":"testID","linkDescription":"Snowflake’s technical leaders on what, why and how they build features","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/engineering-blog/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Engineering Blog"},"icon":{"id":"icon","lazyEnabled":true,"src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751/nav_column_container/nav_column_copy_copy_1101894776/nav_item/icon.coreimg.svg/1757101368571/nav-icon--developer-center.svg","alt":"Developers icon",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1855651246":{"id":"nav-item-da0bcf98e3","linkDescription":"Tips, tricks and discussion with fellow Snowflake developers","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"attributes":{"target":"_blank"},"url":"https://community.snowflake.com/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Community"},"icon":{"id":"icon","lazyEnabled":true,"src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751/nav_column_container/nav_column_copy_copy_1101894776/nav_item_copy_1855651246/icon.coreimg.svg/1731362644348/nav-icon--partner-network.svg","alt":"Partner Network icon",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item","nav_item_copy_1855651246"]}},":itemsOrder":["nav_column_copy_copy","nav_column_copy_copy_1367930678","nav_column_copy_copy_1101894776"]},"nav_promo_section":{"id":"nav-promo-section-3068d46476","experience_fragment_1":{"id":"experiencefragment-0e81991746","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/nav-promo-card/nav-promo-5/jcr:content","configured":true,":type":"snowflake-site/components/experiencefragment",":items":{"root":{"columnClassNames":{"nav_promo_card":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-98e23d7e0e",":type":"snowflake-site/components/container",":items":{"nav_promo_card":{"id":"nav-promo-card-b4b727bc1e","openInNewWindow":false,"layout":"horizontal","headline":"Get started with your first Snowflake Notebook","description":"Write and execute code, visualize results, and tell the story of your analysis all in one place.","linkTitle":"Learn More","linkUrl":"/en/developers/solutions-center/getting-started-with-your-first-snowflake-notebook-project/","image":{"id":"image","lazyEnabled":true,"src":"https://www.snowflake.com/adobe/dynamicmedia/deliver/dm-aid--dc7e334a-c38b-4283-b1de-fcf829952eef/nav-promo-first-notebook.jpg?quality=85&preferwebp=true","alt":"alt","width":"415","height":"210",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-promo-card"}},":itemsOrder":["nav_promo_card"]},"cq:LiveSyncConfig":{"cq:isDeep":true,"cq:rolloutConfigs":[],"cq:master":"/content/experience-fragments/snowflake-site/language-masters/en/site/nav-promo-card/nav-promo-card-4",":type":"cq:LiveCopy"}},":itemsOrder":["root","cq:LiveSyncConfig"],"classNames":"aem-xf"},"experience_fragment_2":{"id":"experiencefragment-7c53d2528f","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/nav-promo-card/nav-promo-card-4/jcr:content","configured":true,":type":"snowflake-site/components/experiencefragment",":items":{"root":{"columnClassNames":{"nav_promo_card":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-2ea74f54d5",":type":"snowflake-site/components/container",":items":{"nav_promo_card":{"id":"nav-promo-card-d7c2eacf72","openInNewWindow":true,"layout":"horizontal","headline":"Northstar Builder Workshops","description":"Join other developers as you roll up your sleeves and explore the possibilities of Snowflake.","linkTitle":"Learn More","linkUrl":"/en/nav-promos/northstar-builders-workshop/","image":{"id":"image","lazyEnabled":true,"src":"https://www.snowflake.com/adobe/dynamicmedia/deliver/dm-aid--14341ced-bc5e-4a29-9762-b7857f6cadfc/nav-promo-northstar.jpg?quality=85&preferwebp=true","alt":"Snowflake Northstar logo","width":"1440","height":"700",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-promo-card"}},":itemsOrder":["nav_promo_card"]},"cq:LiveSyncConfig":{"cq:isDeep":true,"cq:rolloutConfigs":[],"cq:master":"/content/experience-fragments/snowflake-site/language-masters/en/site/nav-promo-card/master",":type":"cq:LiveCopy"}},":itemsOrder":["root","cq:LiveSyncConfig"],"classNames":"aem-xf"},":type":"snowflake-site/components/nav/nav-promo-section"},":type":"snowflake-site/components/nav/nav-dropdown-menu","cq:panelTitle":"Developers"},"item_1718247180324":{"id":"nav-dropdown-menu-2f87ba4055","enableDropdown":false,"link_url":"/en/pricing-options/",":type":"snowflake-site/components/nav/nav-dropdown-menu","cq:panelTitle":"Pricing"}},":itemsOrder":["item_1719963657751_c_663444255","nav_dropdown_menu_2","item_1719963657751_c","item_1719961362824","item_1719963657751","item_1718247180324"]},"languagenavigation":{"id":"language-navigation-61760f09ce","languageNavItems":[{"title":"English","path":"/en/developers/guides/end-to-end-machine-learning-with-dataiku/","locale":"en","active":true},{"title":"日本語","path":"/ja/","locale":"ja","active":false},{"title":"한국어","path":"/ko/","locale":"ko","active":false},{"title":"中文（简体）","path":"/zh_cn/","locale":"zh-cn","active":false},{"title":"Português","path":"/pt_br/","locale":"pt-br","active":false},{"title":"Deutsch","path":"/de/","locale":"de","active":false},{"title":"Français","path":"/fr/","locale":"fr","active":false},{"title":"Español","path":"/es/","locale":"es","active":false},{"title":"Italiano","path":"/it/","locale":"it","active":false}],":type":"snowflake-site/components/nav/language-navigation"},"button_1177328691":{"id":"button-11377745d1","heapButtonClasses":["mega-nav__sign-in"],"showOutboundIcon":false,"buttonLink":{"valid":true,"attributes":{"target":"_blank"},"url":"https://app.snowflake.com/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","appliedCssClassNames":"snowflake-button-link snowflake-button-black snowflake-button-compact","text":"Sign in"},"button":{"id":"button-7b6e807ceb","heapButtonClasses":["contact_nav","heap-nav-contact"],"showOutboundIcon":true,"buttonLink":{"valid":true,"url":"/en/contact-sales/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","appliedCssClassNames":"snowflake-button-secondary snowflake-button-blue snowflake-button-compact","text":"CONTACT SALES"},"button_288358396":{"id":"button-644836d83e","heapButtonClasses":["start_for_free_nav","heap-nav-start-for-free"],"showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://signup.snowflake.com/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","appliedCssClassNames":"snowflake-button-primary snowflake-button-blue snowflake-button-compact","text":"start for free"}},":itemsOrder":["nav_mega","languagenavigation","button_1177328691","button","button_288358396"]}},":itemsOrder":["markup_editor","mega_header"]},"image":{":type":"nt:unstructured"},"cq:targetMetadata":{"cq:targetStatus":"OUT_OF_SYNC","cq:exportTime":1781280015540,"cq:targetOfferId":860250,":type":"nt:unstructured"}},":itemsOrder":["root","image","cq:targetMetadata"],"classNames":"aem-xf"},"markup_editor_1950346551":{"id":"markup-editor-45453b68d0","title":" ","cssContent":".snowflake-markdown-table code[class*=language-],.snowflake-markdown-table code[class*=language-],.snowflake-markdown .snowflake-text code[class*=language-],.snowflake-markdown .snowflake-text pre[class*=language-]{background-color:rgba(var(--ui-12-rgb),.5);color:var(--text-01);text-shadow:none;padding:var(--spacing-00);border-radius:var(--spacing-00);font-size:smaller}","isGSAPEnabled":false,":type":"snowflake-site/components/markup-editor"},"responsivegrid":{"columnClassNames":{"quickstart_hero":"aem-GridColumn aem-GridColumn--default--12","flexible_column_cont":"aem-GridColumn aem-GridColumn--default--12","markup_editor":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","columnCount":12,":items":{"quickstart_hero":{"id":"quickstart-hero-1d742a0b0f","quickstartHeroAuthor":"Prash Medirattaa","quickstartHeroForkRepoLink":{"id":"button-adb9db87e4","showOutboundIcon":false,"buttonLink":{"valid":true,"attributes":{"target":"_blank"},"url":"https://github.com/Snowflake-Labs/sfquickstarts/tree/master/site/sfguides/src/end-to-end-machine-learning-with-dataiku"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Fork Repo"},"quickstartHeroBreadcrumbs":[{"title":"End to End Machine learning with Snowflake and Dataiku","url":"https://www.snowflake.com/content/snowflake-site/global/en/developers/guides/end-to-end-machine-learning-with-dataiku","currentPage":true},{"title":"Guides","url":"https://www.snowflake.com/content/snowflake-site/global/en/developers/guides","currentPage":false},{"title":"Snowflake for Developers","url":"https://www.snowflake.com/content/snowflake-site/global/en/developers","currentPage":false}],"quickstartHeroFirstCertifiedTag":{"tagText":"Quickstart","tagColor":"#29B5E8","tagPath":"/content/cq:tags/snowflake-site/taxonomy/solution-center/certification/quickstart","tagIcon":""},"fragmentPath":"/content/dam/snowflake-site/en/content-fragments/quickstarts/end-to-end-machine-learning-with-dataiku",":type":"snowflake-site/components/quickstart/quickstart-hero","isDeveloperGuidesPage":false,"quickstartHeroTitle":{"lines":["End to End Machine learning with Snowflake and Dataiku"],"type":"heading2",":type":"snowflake-site/components/title-v2"}},"flexible_column_cont":{"id":"flexible-column-container-23deece17e","propertiesId":"quickstart-template-main-flexible-container","type":"2-column-75-25","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"none","bottomPadding":"none","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"backgroundImageOption":"none","flexible_column_content_container_1":{"layout":"SIMPLE","id":"container-886998d391",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"contentfragment":{"id":"contentfragment-19a60b0b96","paragraphs":["&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003EOverview\u003C/h2\u003E\n","\u003Cp\u003EThis Snowflake Quickstart introduces you to the using Snowflake together with Dataiku Cloud as part of a Machine learning project, and build an end-to-end machine learning solution. This lab will showcase seamless integration of both Snowflake and Dataiku at every stage of ML life cycle. We will also use Snowflake Marketplace to enrich the dataset.\u003C/p\u003E\n","\u003Ch3\u003EBusiness Problem\u003C/h3\u003E\n","\u003Cp\u003EWill go through a \u003Cstrong\u003Esupervised machine learning\u003C/strong\u003E by building a binary classification model to predict if a lender will default on a loan. \u003Cstrong\u003ELOAN_STATUS (yes/no)\u003C/strong\u003E  considering multiple features.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003ESupervised machine learning\u003C/strong\u003E is the process of taking a historical dataset with KNOWN outcomes of what we would like to predict, to train a model, that can be used to make future predictions. After building a model we will deploy back to Snowflake for scoring by using Snowpark-java udf.\u003C/p\u003E\n","\u003Ch3\u003EDataset\u003C/h3\u003E\n","\u003Cp\u003EWe will be exploring a financial service use of evaluating loan information to predict if a lender will default on a loan. The base data set was derived from loan data from the Lending Club.\u003C/p\u003E\n","\u003Cp\u003EIn addition to base data, this will then be enriched with unemployment data from Knoema on the Snowflake Marketplace.\u003C/p\u003E\n","\u003Ch3\u003EWhat We&rsquo;re Going To Build\u003C/h3\u003E\n","\u003Cp\u003EWe will build a project. The project contains the input datasets from Snowflake. We&rsquo;ll build a data science pipeline by applying data transformations, enriching from Marketplace employment data, building a machine learning model, and deploying it to the Flow. We will then see how you can score the model against fresh data from Snowflake and automate\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_1.jpg\" alt=\"1\"\u003E\u003C/p\u003E\n","\u003Ch3\u003EPrerequisites\u003C/h3\u003E\n\u003Cul\u003E\u003Cli\u003EFamiliarity with Snowflake, basic SQL knowledge and Snowflake objects\u003C/li\u003E\u003Cli\u003EBasic knowledge  Machine Learning\u003C/li\u003E\u003Cli\u003EBasic knowledge Python, Jupyter notebook for \u003Ccode\u003EBonus\u003C/code\u003E\u003C/li\u003E\u003C/ul\u003E\n","\u003Ch3\u003EWhat You'll Need During the Lab\u003C/h3\u003E\n","\u003Cp\u003ETo participate in the virtual hands-on lab, attendees need the following:\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003EA \u003Ca href=\"https://trial.snowflake.com/\"\u003ESnowflake free 30-day trial\u003C/a\u003E \u003Ccode\u003EACCOUNTADMIN\u003C/code\u003E access\u003C/li\u003E\u003Cli\u003EDataiku Cloud trial version via Snowflake&rsquo;s Partner Connect\u003C/li\u003E\u003C/ul\u003E\n","\u003Ch3\u003EWhat You'll Build\u003C/h3\u003E\n","\u003Cp\u003EOperational end-to-end ML project using joint capabilities of Snowflake and Dataiku from Data collection to deployment\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003ECreate a Data Science project in Dataiku and perform analysis on data via Dataiku within Snowflake\u003C/li\u003E\u003Cli\u003EThe analysis and feature engineering using Dataiku\u003C/li\u003E\u003Cli\u003ECreate, run, and evaluate simple Machine Learning models in Dataiku,  measure their performance and interpret\u003C/li\u003E\u003Cli\u003EBuilding and deploying Pipelines\u003C/li\u003E\u003Cli\u003EUse Snowpark-Java UDF to score result on test dataset and write back to Snowflake\u003C/li\u003E\u003Cli\u003EUse cloning to create separate pipeline for testing\u003C/li\u003E\u003Cli\u003EBonus track using Snowpark - python\u003C/li\u003E\u003C/ul\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003ESetting up Snowflake\u003C/h2\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003EIf you haven&rsquo;t already, register for a \u003Ca href=\"https://trial.snowflake.com/\"\u003ESnowflake free 30-day trial\u003C/a\u003E\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ENote\u003C/strong\u003E: Please ensure that you use the \u003Ccode\u003Esame email address\u003C/code\u003E for both your Snowflake and Dataiku sign up\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ERegion\u003C/strong\u003E  - Kindly choose  \u003Ccode\u003EUS West (Oregon)\u003C/code\u003E for this lab\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ECloud Provider\u003C/strong\u003E  - Kindly choose \u003Ccode\u003EAWS\u003C/code\u003E for this lab\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ESnowflake edition\u003C/strong\u003E  - Select the \u003Ccode\u003EEnterprise edition\u003C/code\u003E so you can leverage some advanced capabilities that are not available in the Standard Edition.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003Easide negative\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003ESnowflake Marketplace dataset\u003C/strong\u003E &lt;br&gt; It is strongly recommended that when setting up a new account you use the Provider and Region above because to leverage the marketplace dataset in this lab. If you already have an existing Snowflake account you wish to use that uses a different Provider/Region we would recommend creating a new trial instance for this lab.\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_2_signup.png\" alt=\"2\"\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_3.jpg\" alt=\"3\"\u003E\u003C/p\u003E\n","\u003Cp\u003EAfter registering, you will receive an \u003Ccode\u003Eemail\u003C/code\u003Ewith an \u003Ccode\u003Eactivation\u003C/code\u003E link and your Snowflake account URL. Kindly activate the account.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_4.jpg\" alt=\"4\"\u003E\u003C/p\u003E\n","\u003Cp\u003EAfter activation, you will create a \u003Ccode\u003Euser name\u003C/code\u003Eand \u003Ccode\u003Epassword\u003C/code\u003E. Write down these credentials. \u003Ccode\u003EBookmark this URL for easy, future access\u003C/code\u003E.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_5_user_id_password.png\" alt=\"5\"\u003E\u003C/p\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003ELogging in  Snowflake\u003C/h2\u003E\n","\u003Ch4\u003EStep 1\u003C/h4\u003E\n","\u003Cp\u003ELog in with your credentials. \u003Ccode\u003EBookmark this URL for easy, future access\u003C/code\u003E.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_6_login.png\" alt=\"6\"\u003E\u003C/p\u003E\n","\u003Cp\u003EResize your browser window, so that you can view this guide and your web browser side-by-side and follow the lab instructions. If possible, use a secondary display dedicated to the lab guide.\u003C/p\u003E\n","\u003Ch4\u003EStep 2\u003C/h4\u003E\n","\u003Cp\u003ELog into your Snowflake account. By default it will open up \u003Ccode\u003Ehome\u003C/code\u003E page.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_7_firstpage.png\" alt=\"7\"\u003E\u003C/p\u003E\n","\u003Ch4\u003EStep 3\u003C/h4\u003E\n","\u003Cp\u003ETo create \u003Ccode\u003EWorksheet\u003C/code\u003E . Click on the \u003Ccode\u003EWorksheets\u003C/code\u003E tab. A new screen will open up.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_8_createworksheet.png\" alt=\"8\"\u003E\u003C/p\u003E\n","\u003Ch4\u003EStep 4\u003C/h4\u003E\n","\u003Cp\u003EClick on \u003Ccode\u003E+ Worksheet\u003C/code\u003E to create your first worksheet.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_9_createworksheet2.png\" alt=\"9\"\u003E\u003C/p\u003E\n","\u003Ch4\u003EStep 5\u003C/h4\u003E\n","\u003Cp\u003ENew \u003Ccode\u003EWorksheet\u003C/code\u003E will be created with a \u003Ccode\u003ETime stamp\u003C/code\u003E. Let's now rename this \u003Ccode\u003EWorksheet\u003C/code\u003E by clicking on the \u003Ccode\u003ETime stamp\u003C/code\u003E.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_10_createworksheet.png\" alt=\"10\"\u003E\u003C/p\u003E\n","\u003Cp\u003EYou can name anything, but for this lab we will Rename it as \u003Ccode\u003EData Loading\u003C/code\u003E.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_11_renameworksheet.png\" alt=\"11\"\u003E\u003C/p\u003E\n","\u003Ch2\u003ELoad data in  Snowflake\u003C/h2\u003E\n","\u003Cp\u003EDownload the following .sql file that contains a series of SQL commands we will execute throughout this lab. You can either execute cell by cell commands from the sql file or copy the below code blocks and follow.\u003C/p\u003E\n","\u003Cp\u003E&lt;button&gt;\u003Ca href=\"https://snowflake-corp-se-workshop.s3.us-west-1.amazonaws.com/Summit_Snowflake_Dataiku/src/Snowflake_Dataiku_ML.sql\"\u003ESnowflake_Dataiku_ML.sql\u003C/a\u003E&lt;/button&gt;\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EPart 1\u003C/strong\u003E : \u003Ccode\u003EStep 1 - Step 4\u003C/code\u003E\u003C/p\u003E\n","\u003Cp\u003ECreating database, Warehouse, loading dataset\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EPart 2\u003C/strong\u003E : \u003Ccode\u003EStep 5 - Step 8\u003C/code\u003E\u003C/p\u003E\n","\u003Cp\u003ETapping Snowflake Marketplace dataset\u003C/p\u003E\n","\u003Cp\u003EAfter creating the \u003Ccode\u003Eworksheet\u003C/code\u003E in the last step we can import the sql file provided .\u003C/p\u003E\n","\u003Cp\u003EClick on \u003Ccode\u003Edrop down\u003C/code\u003E button.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_13.jpg\" alt=\"13\"\u003E\u003C/p\u003E\n","\u003Cp\u003ESelect \u003Ccode\u003EImport SQL from File\u003C/code\u003E option to import the SQL file just downloaded. Select it and \u003Ccode\u003EEnter\u003C/code\u003E.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_12.jpg\" alt=\"13\"\u003E\u003C/p\u003E\n","\u003Ch4\u003EData Loading : Steps\u003C/h4\u003E\n","\u003Cp\u003EEach step throughout the guide has an associated SQL command to perform the work we are looking to execute, and so feel free to step through each action running the code line by line as we walk through the lab.\u003C/p\u003E\n","\u003Cp\u003EIf you wish to run the code at once\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EPart 1\u003C/strong\u003E : \u003Ccode\u003EStep 1 - Step 4\u003C/code\u003E  need to run first and then \u003Ccode\u003Eadditional steps\u003C/code\u003E are  then required before executing\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EPart 2\u003C/strong\u003E : \u003Ccode\u003EStep 5 - Step 8\u003C/code\u003E.\u003C/p\u003E\n","\u003Cp\u003ETo execute this code, all we need to do is place our cursor on the line we wish to run and then either hit the &quot;run&quot; button at the top left of the worksheet or press \u003Ccode\u003ECmd/Ctrl + Enter\u003C/code\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EStep 1\u003C/strong\u003E : Virtual warehouse that we will use to compute with the \u003Ccode\u003ESYSADMIN\u003C/code\u003E role.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003E\nUSE ROLE SYSADMIN;\n\nCREATE OR REPLACE WAREHOUSE ML_WH\n\n  WITH WAREHOUSE_SIZE = 'XSMALL'\n\n  AUTO_SUSPEND = 120\n\n  AUTO_RESUME = true\n\n  INITIALLY_SUSPENDED = TRUE;\n\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E\u003Cstrong\u003EStep 2\u003C/strong\u003E : In this step  we will first create \u003Ccode\u003EML_DB\u003C/code\u003E and then \u003Ccode\u003Ecreate\u003C/code\u003E a \u003Ccode\u003ELoan_data\u003C/code\u003E table in that database.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003E\nUSE WAREHOUSE ML_WH;\n\nCREATE DATABASE IF NOT EXISTS ML_DB;\n\nUSE DATABASE ML_DB;\n\nCREATE OR REPLACE TABLE loan_data (\n  \n        LOAN_ID NUMBER(38,0),\n  \n        LOAN_AMNT FLOAT,\n\n        FUNDED_AMNT FLOAT,\n\n        TERM VARCHAR(4194304),\n\n        INT_RATE VARCHAR(4194304),\n\n        INSTALLMENT FLOAT,\n\n        GRADE VARCHAR(4194304),\n\n        SUB_GRADE VARCHAR(4194304),\n\n        EMP_TITLE VARCHAR(4194304),\n\n        EMP_LENGTH_YEARS NUMBER(38,0),\n\n        HOME_OWNERSHIP VARCHAR(4194304),\n\n        ANNUAL_INC FLOAT,\n\n        VERIFICATION_STATUS VARCHAR(4194304),\n\n        ISSUE_DATE_PARSED TIMESTAMP_TZ(9),\n\n        LOAN_STATUS VARCHAR(4194304),\n\n        PYMNT_PLAN BOOLEAN,\n        \n        PURPOSE VARCHAR(4194304),\n\n        TITLE VARCHAR(4194304),\n    \n        ZIP_CODE VARCHAR(4194304),\n\n        ADDR_STATE VARCHAR(4194304),\n\n        DTI FLOAT,\n\n        DELINQ_2YRS FLOAT,\n\n        EARLIEST_CR_LINE VARCHAR(4194304),\n\n        INQ_LAST_6MTHS FLOAT,\n\n        MTHS_SINCE_LAST_DELINQ FLOAT,\n\n        MTHS_SINCE_LAST_RECORD FLOAT,\n\n        OPEN_ACC FLOAT,\n\n        REVOL_BAL FLOAT,\n\n        REVOL_UTIL FLOAT,\n\n        TOTAL_ACC FLOAT,\n\n        TOTAL_PYMNT FLOAT,\n\n        MTHS_SINCE_LAST_MAJOR_DEROG FLOAT,\n\n        TOT_CUR_BAL FLOAT,\n\n        ISSUE_MONTH NUMBER(38,0),\n\n        ISSUE_YEAR NUMBER(38,0)\n  \n);\n\n\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003EAfter running the cell above, we have successfully created a \u003Ccode\u003Eloan_data\u003C/code\u003E table.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_15_dataloading2.png\" alt=\"15\"\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EStep 3\u003C/strong\u003E : In this step we will create an external stage \u003Ccode\u003ELOAN_DATA\u003C/code\u003E to load the lab data. This is done from a public S3 bucket to simplified for this workshop.\u003C/p\u003E\n","\u003Cp\u003ETypically an external stage will be using various secure integrations as described in this \u003Ca href=\"https://docs.snowflake.com/en/user-guide/data-load-s3-config.html\"\u003Elink\u003C/a\u003E.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003ECREATE OR REPLACE STAGE LOAN_DATA\n\n  url='s3://snowflake-corp-se-workshop/Summit_Snowflake_Dataiku/data/';\n  \n \n ---- List the files in the stage \n\n list @LOAN_DATA;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003EListing the files from \u003Ccode\u003ES3\u003C/code\u003E bucket\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_16_dataloading3.png\" alt=\"16\"\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EStep 4\u003C/strong\u003E : In this step we will \u003Ccode\u003Ecopy\u003C/code\u003E the \u003Ccode\u003Eloan_data\u003C/code\u003E csv file to the \u003Ccode\u003Eloan_data\u003C/code\u003E table we created.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003E\nCOPY INTO loan_data FROM @LOAN_DATA/loans_data.csv\nFILE_FORMAT = (TYPE = 'CSV' field_optionally_enclosed_by='&quot;',SKIP_HEADER = 1);  \n\nSELECT * FROM loan_data LIMIT 100;\n\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003EBelow is the snapshot of the data and it represents aggregation from various internal systems for lender information and loans. We can have a quick look and see the various attributes in it.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_17_dataloading4.png\" alt=\"17\"\u003E\u003C/p\u003E\n","\u003Cp\u003EWe have successfully loaded the data from \u003Ccode\u003Eexternal stage\u003C/code\u003E to snowflake.\u003C/p\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003Easide negative\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EAbout the screen captures, sample code, and environment\u003C/strong\u003E &lt;br&gt; Screen captures in this lab depict examples and results that may slightly vary from what you may see when you complete the exercises.\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003EStep 5\u003C/strong\u003E : Time to switch to get \u003Ccode\u003EKonema Employement Data\u003C/code\u003E from Snowflake Market place\u003C/p\u003E\n","\u003Cp\u003EWe can now look at additional data in the Snowflake Marketplace that can be helpful for improving ML models. It may be good to look at employment data in the region when analyzing loan defaults. Let&rsquo;s look in the Snowflake Marketplace and see what external data is available from the data providers.\u003C/p\u003E\n","\u003Cp\u003ELets go to \u003Ccode\u003Ehome screen\u003C/code\u003E by clicking on \u003Ccode\u003Ehome\u003C/code\u003E icon.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_18_dataloading5.png\" alt=\"18\"\u003E\u003C/p\u003E\n","\u003Ch4\u003EImp Note\u003C/h4\u003E\n\u003Col\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Ccode\u003EClick Market place tab\u003C/code\u003E\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EMake Sure \u003Ccode\u003EACCOUNTADMIN\u003C/code\u003E role is selected\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EIn search bar type \u003Ccode\u003ELabor Data Atlas\u003C/code\u003E\u003C/p\u003E\n\u003C/li\u003E\u003C/ol\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_19_marketplace1.png\" alt=\"19\"\u003E\u003C/p\u003E\n","\u003Cp\u003EClick on the tile with \u003Ccode\u003ELabor Data Atlas\u003C/code\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_20_marketplace2.png\" alt=\"20\"\u003E\u003C/p\u003E\n","\u003Cp\u003ENext click on the \u003Ccode\u003EGet Data\u003C/code\u003E button. This will provide a pop up window in which you can create a database in your account that will provide the data from the data provider.\u003C/p\u003E\n","\u003Ch4\u003EImportant : Steps\u003C/h4\u003E\n\u003Col\u003E\u003Cli\u003E\n","\u003Cp\u003EChange the name of the database to  \u003Ccode\u003EKNOEMA_LABOR_DATA_ATLAS\u003C/code\u003E\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003ESelect additional roles drop down \u003Ccode\u003EPUBLIC\u003C/code\u003E\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EClick \u003Ccode\u003EGet Data\u003C/code\u003E\u003C/p\u003E\n\u003C/li\u003E\u003C/ol\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_21_marketplace3.png\" alt=\"21\"\u003E\u003C/p\u003E\n","\u003Cp\u003EWhen the confirmation is provided click on \u003Ccode\u003Edone\u003C/code\u003E and then you can close the browser tab with the Preview App.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_22_marketplace4.png\" alt=\"22\"\u003E\u003C/p\u003E\n","\u003Cp\u003EOther advantage of using Snowflake Marketplace does not require any additional work and will show up as a database in your account. A further benefit is that the data will automatically update as soon as the data provider does any updates to the data on their account.\u003C/p\u003E\n\u003Col\u003E\u003Cli\u003E\n","\u003Cp\u003EAfter done just to \u003Ccode\u003Econfirm\u003C/code\u003E the datasets are properly configured\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EClick on Data tab \u003Ccode\u003EDatabase\u003C/code\u003E\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EYou should see \u003Ccode\u003EKNOEMA_LABOR_DATA_ATLAS\u003C/code\u003E  and \u003Ccode\u003EML_DB\u003C/code\u003E\u003C/p\u003E\n\u003C/li\u003E\u003C/ol\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_23_marketplace5.png\" alt=\"23\"\u003E\u003C/p\u003E\n","\u003Cp\u003EAfter confirming \u003Ccode\u003EDatabases\u003C/code\u003E.  Lets go to \u003Ccode\u003EWorksheets tab\u003C/code\u003E and  then \u003Ccode\u003Eopen\u003C/code\u003E the \u003Ccode\u003EData Loading\u003C/code\u003Eworksheet\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_24_marketplace6.png\" alt=\"24\"\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EStep 6\u003C/strong\u003E : Querying the \u003Ccode\u003EKNOEMA_LABOR_DATA_ATLAS\u003C/code\u003Efor some basic analysis\u003C/p\u003E\n","\u003Cp\u003EThere are multiple datasets. Lets try to find unemployment dataset in US to narrow down our search.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003EUSE WAREHOUSE ML_WH;\n\nUSE DATABASE KNOEMA_LABOR_DATA_ATLAS;\n\nSELECT * \nFROM &quot;LABOR&quot;.&quot;DATASETS&quot;\nWHERE &quot;DatasetName&quot; ILIKE '%unemployment%' \nAND &quot;DatasetName&quot; ILIKE '%U.S%';\n\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_22_marketplace4a.png\" alt=\"22\"\u003E\u003C/p\u003E\n","\u003Cp\u003EAmazing! We have successfully tapped into live data collection of the most important, used, and high-quality datasets on the labor market and human resources on national and sub-national levels from a dozen of sources.\u003C/p\u003E\n","\u003Cp\u003EWe can find answers such as what is the number of initial claims for unemployment insurance in the US over time?\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003ESELECT * FROM &quot;LABOR&quot;.&quot;USUID2017Sep&quot; WHERE &quot;Region Name&quot; = 'United States' AND \n      &quot;Indicator Name&quot; = 'Initial Claims' AND &quot;Measure Name&quot; = 'Value' AND \n       &quot;Seasonal Adjustment Name&quot; = 'Seasonally Adjusted' ORDER BY &quot;Date&quot;;\n\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_22_marketplace4b.png\" alt=\"22\"\u003E\u003C/p\u003E\n","\u003Cp\u003ENow for this exercise we are going to \u003Ccode\u003EEnrich\u003C/code\u003E the \u003Ccode\u003ELoan dataset\u003C/code\u003E we created earlier using the \u003Ccode\u003EBLSLA\u003C/code\u003E dataset\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EStep 7\u003C/strong\u003E : Creating a \u003Ccode\u003EKNOEMA_EMPLOYMENT_DATA\u003C/code\u003E marketplace data \u003Ccode\u003Eview\u003C/code\u003E. We will \u003Ccode\u003Epivot\u003C/code\u003E the data for the different employment metrics so it can be used easily for analysis.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003EUSE DATABASE ML_DB;\n\nCREATE OR REPLACE VIEW KNOEMA_EMPLOYMENT_DATA AS (\n\nSELECT *\n\nFROM (SELECT &quot;Measure Name&quot; MeasureName, &quot;Date&quot;, \n      &quot;RegionId&quot; State, \n      AVG(&quot;Value&quot;) Value \n      FROM &quot;KNOEMA_LABOR_DATA_ATLAS&quot;.&quot;LABOR&quot;.&quot;BLSLA&quot; WHERE &quot;RegionId&quot; is not null \n      and &quot;Date&quot; &gt;= '2018-01-01' AND &quot;Date&quot; &lt; '2018-12-31' GROUP BY &quot;RegionId&quot;, &quot;Measure Name&quot;, &quot;Date&quot;)\n  PIVOT(AVG(Value) FOR MeasureName\n  IN ('civilian noninstitutional population', 'employment', 'employment-population ratio', \n     'labor force', 'labor force participation rate', 'unemployment', 'unemployment rate')) AS \n        p (Date, State, civilian_noninstitutional_population, employment, employment_population_ratio, \n           labor_force, labor_force_participation_rate, unemployment, unemployment_rate)\n);\n\nSELECT * FROM KNOEMA_EMPLOYMENT_DATA LIMIT 100;\n\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_25_marketplace7.png\" alt=\"25\"\u003E\u003C/p\u003E\n","\u003Cp\u003EWe have successfully created the view.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EStep 8\u003C/strong\u003E : Now in this step we will \u003Ccode\u003ECreate\u003C/code\u003E a new table  called \u003Ccode\u003EUNEMPLOYMENT DATA\u003C/code\u003E using the geography and time periods by joining \u003Ccode\u003ELOAN_DATA\u003C/code\u003E table created from \u003Ccode\u003ES3\u003C/code\u003E and \u003Ccode\u003EKNOEMA_EMPLOYMENT_DATA VIEW\u003C/code\u003E created in last step.\u003C/p\u003E\n","\u003Cp\u003EThis will provide us with unemployment data in the region associated with the specific loan.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003E\nCREATE OR REPLACE TABLE UNEMPLOYMENT_DATA AS\n\n SELECT l.LOAN_ID, e.CIVILIAN_NONINSTITUTIONAL_POPULATION, \n        e.EMPLOYMENT, e.EMPLOYMENT_POPULATION_RATIO, e.LABOR_FORCE, \n        e.LABOR_FORCE_PARTICIPATION_RATE, e.UNEMPLOYMENT, e.UNEMPLOYMENT_RATE\n\n  FROM LOAN_DATA l LEFT JOIN KNOEMA_EMPLOYMENT_DATA e\n\n on l.ADDR_STATE = right(e.state,2) and l.issue_month = month(e.date) and l.issue_year = year(e.date);\n\nSELECT * FROM UNEMPLOYMENT_DATA LIMIT 100;\n\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_26_marketplace8.png\" alt=\"26\"\u003E\u003C/p\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003Easide negative\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EDatabase for Machine learning consumption\u003C/strong\u003E &lt;br&gt;  This will be created after connecting Snowflake with Dataiku using partner connect...\u003C/p\u003E\n\u003C/blockquote\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003EConnect Dataiku with Snowflake\u003C/h2\u003E\n","\u003Cp\u003EGo to \u003Ccode\u003Ehome screen\u003C/code\u003E clicking on home button.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_17.jpg\" alt=\"27\"\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Ccode\u003ESelect\u003C/code\u003E the \u003Ccode\u003EAdmin\u003C/code\u003E from the list.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_17a.png\" alt=\"27a\"\u003E\u003C/p\u003E\n","\u003Cp\u003EFor the \u003Ccode\u003Enext steps\u003C/code\u003E\u003C/p\u003E\n\u003Col\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Ccode\u003EClick\u003C/code\u003E the \u003Ccode\u003EPartner Connect\u003C/code\u003E\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EFrom \u003Ccode\u003Edrop down\u003C/code\u003E  switch role and make sure  \u003Ccode\u003EACCOUNTADMIN\u003C/code\u003E is selected\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003ESearch title type \u003Ccode\u003EDataiku\u003C/code\u003E\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EClick on the \u003Ccode\u003EDataiku\u003C/code\u003E tile.\u003C/p\u003E\n\u003C/li\u003E\u003C/ol\u003E\n","\u003Cp\u003EYour screen should like below \u003Ccode\u003EScreen Shot\u003C/code\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_16.png\" alt=\"28\"\u003E\u003C/p\u003E\n","\u003Cp\u003EAfter you have clicked on \u003Ccode\u003EDataiku\u003C/code\u003E.  This will launch the following window, which will automatically create the \u003Ccode\u003Econnection parameters\u003C/code\u003E required for Dataiku to connect to Snowflake.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_27_partnerconnect1.png\" alt=\"29\"\u003E\u003C/p\u003E\n","\u003Cp\u003ESnowflake will create a dedicated database, warehouse, system user, system password and system role, with the intention of those being used by the Dataiku account.\u003C/p\u003E\n","\u003Cp\u003EWe&rsquo;d like to use the \u003Ccode\u003EPC_DATAIKU_USER\u003C/code\u003E to connect from Dataiku to Snowflake, and use the \u003Ccode\u003EPC_DATAIKU_WH\u003C/code\u003Ewhen performing activities within Dataiku that are pushed down into Snowflake.\u003C/p\u003E\n","\u003Cp\u003ENote that the user password (which is autogenerated by Snowflake and never displayed), along with all of the other Snowflake connection parameters, are passed to the Dataiku server so that they will automatically be used for the Dataiku connection.  \u003Ccode\u003EDO NOT CHANGE THE PC_DATAIKU_USER\u003C/code\u003E password, otherwise Dataiku will not be able to connect to the Snowflake database.\u003C/p\u003E\n","\u003Cp\u003EClick on \u003Ccode\u003EConnect\u003C/code\u003E. You may be asked to provide your first and last name.  If so, add them and click Connect. Your partner account has been created. Click on \u003Ccode\u003EActivate\u003C/code\u003E to get it activated.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_1_100_pc_created.png\" alt=\"30\"\u003E\u003C/p\u003E\n","\u003Cp\u003EThis will launch a new page that will redirect you to a launch page from Dataiku.\u003C/p\u003E\n","\u003Cp\u003EFor the lab ae assume that you&rsquo;re new to \u003Ccode\u003EDataiku\u003C/code\u003E, so ensure the &ldquo;Sign Up&rdquo; box is selected, and sign up using the email address \u003Cstrong\u003E(Note: This should be the same email address that you used to set up your Snowflake account)\u003C/strong\u003E and a new password of your choosing.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_2_signin.jpg\" alt=\"31\"\u003E\u003C/p\u003E\n","\u003Cp\u003EWhen using your email address, ensure your password fits the following criteria:\u003C/p\u003E\n\u003Col\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EAt least 8 characters in length\u003C/strong\u003E\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EShould contain:\u003C/strong\u003E\n\u003Cstrong\u003ELower case letters (a-z)\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EUpper case letters (A-Z)\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003ENumbers (i.e. 0-9)\u003C/strong\u003E\u003C/p\u003E\n\u003C/li\u003E\u003C/ol\u003E\n","\u003Cp\u003EUpon clicking on the activation link, please briefly review the Terms of Service of Dataiku Cloud. In order to do so, please scroll down to the bottom of the page. Click on \u003Ccode\u003EI AGREE\u003C/code\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_3_100_dku_online_tcs.png\" alt=\"32\"\u003E\u003C/p\u003E\n","\u003Cp\u003ENext, you&rsquo;ll need to complete your sign up information then click on \u003Ccode\u003EStart\u003C/code\u003E.\u003C/p\u003E\n&lt;!-- ![33](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_4_sign_in_details.png) --&gt;\n","\u003Cp\u003EYou will be redirected to the Dataiku Cloud Launchpad site. Click \u003Ccode\u003EGOT IT!\u003C/code\u003E to continue.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_5_100_dku_online_welcome.png\" alt=\"34\"\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_6_100_dku_online_launch_screen.png\" alt=\"35\"\u003E\u003C/p\u003E\n","\u003Cp\u003EYou&rsquo;ve now successfully set up your Dataiku trial account via Snowflake&rsquo;s Partner Connect. We are now ready to continue with the lab. For this, move back to your \u003Ccode\u003ESnowflake browser\u003C/code\u003E.\u003C/p\u003E\n","\u003Ch2\u003EDatabase for Machine Learning\u003C/h2\u003E\n","\u003Cp\u003EAfter connecting  \u003Ccode\u003ESnowflake\u003C/code\u003E to \u003Ccode\u003EDataiku\u003C/code\u003E via partner connect. We will clone the table created in \u003Ccode\u003EML_DB\u003C/code\u003E to \u003Ccode\u003EPC_DATAIKU_DB\u003C/code\u003E for the Dataiku consumption.\u003C/p\u003E\n","\u003Cp\u003ESnowflake provides a very unique feature called \u003Ca href=\"https://www.youtube.com/watch?v=yQIMmXg7Seg\"\u003EZero Copy Cloning\u003C/a\u003E that will create a new copy of the data by \u003Ccode\u003Eonly making a copy of the metadata of the objects\u003C/code\u003E. This drastically speeds up creation of copies and also drastically reduces the storage space needed for data copies.\u003C/p\u003E\n","\u003Cp\u003EYou should see three database now  \u003Ccode\u003EPC_DATAIKU_DB\u003C/code\u003E is the system generated database created.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_28_partnerconnect2.png\" alt=\"36\"\u003E\u003C/p\u003E\n","\u003Cp\u003EYou should see  \u003Ccode\u003EPC_DATAIKU_USER\u003C/code\u003E is the system generated database created.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_28_partnerconnect2b.png\" alt=\"36a\"\u003E\u003C/p\u003E\n","\u003Cp\u003EGo back to \u003Ccode\u003EData_Loading Worksheet\u003C/code\u003E you are working and run below commands.\u003C/p\u003E\n","\u003Ch4\u003EGranting Privileges of ML_DB to PC_Dataiku_role\u003C/h4\u003E\n\u003Cpre\u003E\u003Ccode\u003E\ngrant all privileges on database ML_DB to role PC_Dataiku_role;\ngrant usage on all schemas in database ML_DB to role PC_Dataiku_role;\ngrant select on all tables in schema ML_DB.public to role PC_Dataiku_role;\ngrant select on all views in schema ML_DB.public to role PC_Dataiku_role;\n\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003EThere are two options after this. You can either create a \u003Ccode\u003ENew Worksheet\u003C/code\u003E or continue in \u003Ccode\u003Esame worksheet\u003C/code\u003E. We will continue with \u003Ccode\u003Esame Worksheet\u003C/code\u003E. We just have to \u003Ccode\u003Erefresh\u003C/code\u003E your browser after the \u003Ccode\u003Enext step\u003C/code\u003E\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003E\nUSE ROLE PC_DATAIKU_ROLE;\n\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Ch4\u003EImp:  Refresh the web page\u003C/h4\u003E\n","\u003Cp\u003EAfter running above command you might see the prompt below. Kindly \u003Ccode\u003Erefresh\u003C/code\u003Ethe browser.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/error_pc_dk_role.png\" alt=\"36b\"\u003E\u003C/p\u003E\n","\u003Ch4\u003ECloning tables to DATAIKU Database before consuming it for Dataiku DSS\u003C/h4\u003E\n\u003Cpre\u003E\u003Ccode\u003EUSE DATABASE PC_DATAIKU_DB;\nUSE WAREHOUSE PC_DATAIKU_WH;\n\n--- cloning \n\nCREATE OR REPLACE TABLE LOANS_ENRICHED CLONE ML_DB.PUBLIC.LOAN_DATA;\nCREATE OR REPLACE TABLE UNEMPLOYMENT_DATA CLONE ML_DB.PUBLIC.UNEMPLOYMENT_DATA;\n\n\nSELECT * FROM LOANS_ENRICHED LIMIT 10;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003EAfter running above commands, we have created clones for the tables to be used for analysis. Kindly check \u003Ccode\u003EPC_DATAIKU_DB\u003C/code\u003E\u003C/p\u003E\n","\u003Cp\u003Eyou should have two datasets \u003Ccode\u003ELOANS_ENRICHED\u003C/code\u003E and \u003Ccode\u003EUNEMPLOYMENT_DATA\u003C/code\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_29_partnerconnect4.png\" alt=\"37\"\u003E\u003C/p\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003Easide negative\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EMove to Dataiku console\u003C/strong\u003E &lt;br&gt; For feature engineering, model building, Scoring and deployment.\u003C/p\u003E\n\u003C/blockquote\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003EGetting Started with a Dataiku Project\u003C/h2\u003E\n","\u003Cp\u003EReturn to Dataiku Online and if you haven't already click on \u003Cstrong\u003EOPEN DATAIKU DSS\u003C/strong\u003E from the Launchpad to start your instance of Dataiku DSS\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_6_100_dku_online_launch_screen.png\" alt=\"35\"\u003E\u003C/p\u003E\n","\u003Cp\u003EHere is the project we are going to build along with some annotations to help you understand some key concepts in Dataiku DSS:\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_flow_overview.png\" alt=\"35a\"\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003EA \u003Cstrong\u003Edataset\u003C/strong\u003E is represented by a blue square with a symbol that depicts the dataset type or connection. The initial datasets (also known as input datasets) are found on the left of the Flow. In this project, the input datasets will be the ones we created in the first part of the lab.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EA \u003Cstrong\u003Erecipe\u003C/strong\u003E in Dataiku DSS (represented by a circle icon with a symbol that depicts its function) can be either visual or code-based, and it contains the processing logic for transforming datasets.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EMachine learning processes\u003C/strong\u003E are represented by green icons.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EThe \u003Cstrong\u003EActions Menu\u003C/strong\u003E is shown on the right pane and is context sensitive.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EWhatever screen you are currently in you can always return to the main \u003Cstrong\u003EFlow\u003C/strong\u003E by clicking the \u003Cstrong\u003EFlow\u003C/strong\u003E symbol from the top menu (also clicking the project name will take you back to the main Project page).\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cstrong\u003EInput dataset:\u003C/strong\u003E\n\u003Cem\u003EThe dataset is based on the Loans Dataset from LendingClub which is a peer-to-peer lending company that matches borrowers and investors.\u003C/em\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cem\u003EIn the interests of time we have performed some initial steps of the data pipeline such as cleansing and transformations on the loans dataset. These steps can be created in Dataiku from the raw datasets from the Lending Club to form a complete pipeline with the data and execution happening in Snowflake.\u003C/em\u003E\u003C/p\u003E\n","\u003Ch3\u003EReminder of our goal\u003C/h3\u003E\n","\u003Cp\u003EOur goal is to build an optimized machine learning model that can be used to predict the risk of default on loans for customers and advise them on how to reduce their risk.\nTo do this, we&rsquo;ll join the input datasets, perform transformations &amp; feature engineering so that they are ready to use for building a binary classification model.\u003C/p\u003E\n","\u003Ch3\u003ECreating a Dataiku Project\u003C/h3\u003E\n","\u003Cp\u003EOnce you&rsquo;ve logged in, \u003Ccode\u003Eclick\u003C/code\u003E on \u003Ccode\u003E+ NEW PROJECT\u003C/code\u003E and select \u003Ccode\u003E+ Blank project\u003C/code\u003E to create a new project.\u003C/p\u003E\n","\u003Cp\u003EName the project as \u003Ccode\u003ECredit Scoring\u003C/code\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk6d_new_project.png\" alt=\"35d\"\u003E\u003C/p\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003EData Import, Analysis &amp; Join\u003C/h2\u003E\n","\u003Cp\u003EThe project home acts as the command center from which you can see the overall status of a project, view recent activity, and collaborate through comments, tags, and a project to-do list. Let&rsquo;s add our datasets from Snowflake.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003EFrom the Flow click \u003Ccode\u003E+ Import Your First Dataset\u003C/code\u003E in the centre of the screen.\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk7b_first_import.png\" alt=\"37\"\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003ESelect the \u003Ccode\u003ESearch and import option\u003C/code\u003E\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_search_import.png\" alt=\"38\"\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003ESelect the \u003Ccode\u003EPC_DATAIKU_DB\u003C/code\u003E connection from the dropdown then \u003Ccode\u003Eclick the refresh icon\u003C/code\u003E next to the database or schema dropdowns to populate these options.\u003C/li\u003E\u003Cli\u003ESelect the database and schema as below then click on \u003Ccode\u003ELIST TABLES\u003C/code\u003E\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_9_400_connection_explorer_with_filled_out_values.png\" alt=\"39\"\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003ESelect the \u003Ccode\u003ELoans_Enriched\u003C/code\u003E and \u003Ccode\u003EUnemployment_Data\u003C/code\u003E datasets and click \u003Ccode\u003ECREATE 2 DATASETS\u003C/code\u003E followed by \u003Ccode\u003EOK\u003C/code\u003E\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_10_400_renamed_tables.png\" alt=\"40\"\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_11_400_datasets_imported_screen.png\" alt=\"41\"\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003ENavigate to the Flow from the left-most menu in the top navigation bar \u003Ccode\u003E(or use the keyboard shortcut G+F)\u003C/code\u003E.\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_12_500_two_datasets_in_flow.png\" alt=\"42\"\u003E\u003C/p\u003E\n","\u003Cp\u003EIn DSS, the datasets and the recipes together make up the \u003Ccode\u003Eflow\u003C/code\u003E. We have created a visual grammar for data science, so users can quickly understand a data pipeline through the flow.\u003C/p\u003E\n","\u003Cp\u003EUsing the flow, DSS knows the lineage of every dataset in the flow. DSS, therefore, is able to dynamically rebuild datasets whenever one of their parent datasets or recipes has been modified. This is where we will work from in this lab.\u003C/p\u003E\n","\u003Cp\u003ENow we have all of the raw data needed for this lab. Let&rsquo;s explore what&rsquo;s inside these datasets.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003EFrom the Flow (keyboard shortcut G+F), double click on the \u003Ccode\u003ELOANS_ENRICHED\u003C/code\u003E dataset to open it.\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003EOne column to note is the \u003Cstrong\u003ELOAN_STATUS\u003C/strong\u003E column. This will be our target variable to predict against later in the lab.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003EYou can analyze column metrics to better understand your data: Either click on the column name and \u003Ccode\u003Eselect Analyze\u003C/code\u003E or, if you wish for a quick overview of columns key statistics, \u003Ccode\u003Eselect Quick Column Stats\u003C/code\u003E button on the top-right.\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_13_analyze.png\" alt=\"43\"\u003E\u003C/p\u003E\n","\u003Ch3\u003EJoin the Data\u003C/h3\u003E\n","\u003Cp\u003ESo far, your Flow only contains datasets. To take action on datasets, you need to apply recipes. The \u003Cstrong\u003ELOANS_ENRICHED\u003C/strong\u003E and \u003Cstrong\u003EUNEMPLOYMENT_DATA\u003C/strong\u003E datasets both contain a column of Loan IDs. Let&rsquo;s join these two datasets together using a visual recipe.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003EReturn to the Flow either by clicking the menu option in the top left or with the keyboard shortcut G+F\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003ESelect the \u003Ccode\u003ELOANS_ENRICHED\u003C/code\u003E dataset from the Flow by \u003Ccode\u003Esingle clicking\u003C/code\u003E on it.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EChoose \u003Ccode\u003EJoin With&hellip;\u003C/code\u003E from the \u003Ccode\u003EVisual recipes\u003C/code\u003E section of the Actions sidebar near the top right of the screen (note: click the \u003Ccode\u003EOpen Panel\u003C/code\u003E arrow if it is minimized and notice there are three different types of join recipe, we want \u003Ccode\u003EJoin With&hellip;\u003C/code\u003E).\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EChoose \u003Ccode\u003EUNEMPLOYMENT_DATA\u003C/code\u003E as the second input dataset.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003ELeave the defaults for \u003Ccode\u003EName\u003C/code\u003E and \u003Ccode\u003EPC_DATAIKU_DB for &ldquo;Store into&rdquo;\u003C/code\u003E and \u003Ccode\u003ECreate\u003C/code\u003E the recipe.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_15_700_join_tables.png\" alt=\"44\"\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003ELeave the defaults for the \u003Ccode\u003EJoin\u003C/code\u003E and \u003Ccode\u003ESelected columns\u003C/code\u003E steps.\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_join1.png\" alt=\"45\"\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003ESelect the \u003Ccode\u003EOutput step\u003C/code\u003E\u003C/li\u003E\u003Cli\u003ENote: You can view the SQL query as well as the execution plan generated by selecting \u003Ccode\u003EVIEW QUERY\u003C/code\u003E\u003C/li\u003E\u003Cli\u003EEnsure that \u003Ccode\u003EIn-database (SQL)\u003C/code\u003E is selected as the engine. You can view this underneath the \u003Ccode\u003ERun button\u003C/code\u003E(Bottom left). If it is set to a different engine \u003Ccode\u003Eclick on the three cogs\u003C/code\u003E to change it\u003C/li\u003E\u003Cli\u003EBefore running, \u003Ccode\u003ESave\u003C/code\u003E the recipe\u003C/li\u003E\u003Cli\u003EClick the \u003Ccode\u003ERUN\u003C/code\u003E button\u003C/li\u003E\u003Cli\u003EIf prompted agree to \u003Ccode\u003EUpdate Schema\u003C/code\u003E then return to the \u003Ccode\u003Eflow (G+F)\u003C/code\u003E\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_loan2.png\" alt=\"45\"\u003E\u003C/p\u003E\n","\u003Cp\u003EYour flow should now look like this\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_17_700_flow_join.png\" alt=\"45\"\u003E\u003C/p\u003E\n","\u003Ch2\u003EPrepare the Data\u003C/h2\u003E\n","\u003Cp\u003EData cleaning and preparation is typically one of the most time-consuming tasks for anyone working with data. In our lab, in order to save some of that time, our main lending dataset already had a number of cleaning steps applied. In the real world this would be done by other colleagues, say, from the data analytics team collaborating on this project and you would see their work as steps in our projects flow.\u003C/p\u003E\n","\u003Cp\u003ELet&rsquo;s take a brief look at the \u003Ccode\u003EPrepare recipe\u003C/code\u003E, the workhorse of the visual recipes in Dataiku, and perform some final investigations and transformations.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003EFrom the flow \u003Ccode\u003ESingle click\u003C/code\u003E on the \u003Cstrong\u003ELOANS_ENRICHED_joined\u003C/strong\u003E dataset that was the output of our Join recipe and \u003Ccode\u003Eselect Prepare\u003C/code\u003E from the visual recipes in the \u003Ccode\u003EActions Panel\u003C/code\u003E.\u003C/li\u003E\u003Cli\u003ELeave the \u003Ccode\u003EName\u003C/code\u003E and \u003Ccode\u003EStore into\u003C/code\u003E options as the defaults and click \u003Ccode\u003ECREATE RECIPE\u003C/code\u003E\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_prep_create.png\" alt=\"45\"\u003E\u003C/p\u003E\n","\u003Cp\u003EIn a Prepare recipe you assemble a series of steps to transform your data from a library of ~100 processors. There are a couple of ways you can select these processors to build your script. Firstly you can select these processors directly by using the \u003Ccode\u003E+ADD A NEW STEP\u003C/code\u003E button on the left.\nSecondly because Dataiku DSS infers meanings for each column, it suggests relevant actions in many cases. In the example below although the column is stored in Snowflake as a String Dataiku DSS recognizes it as a date format so infers a \u003Ccode\u003EDate(unparsed)\u003C/code\u003E meaning and suggests the \u003Ccode\u003EParse Date\u003C/code\u003E processor, by selecting the \u003Ccode\u003EMore actions\u003C/code\u003E menu item further suggestions are made.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_prepare_overview2.png\" alt=\"46\"\u003E\u003C/p\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003Easide negative\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003ENote about shortcuts\u003C/strong\u003E &lt;br&gt; When navigating Dataiku DSS, there are many keyboard short-cuts, one of the most useful when working with the explore tab is the \u003Ccode\u003Escroll to column\u003C/code\u003E, simply  click \u003Ccode\u003Ec\u003C/code\u003E on your keyboard.\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Cp\u003ELet's try using processors with both methods, firstly via the suggested actions:\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003EClick on the \u003Ccode\u003EEARLIEST_CR_LINE\u003C/code\u003E column header and from the dropdown, \u003Ccode\u003Eselect Parse date\u003C/code\u003E\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EIn \u003Ccode\u003EAdd a custom format\u003C/code\u003E set the format to \u003Ccode\u003Ed-MMM-yyyy\u003C/code\u003E and click on \u003Ccode\u003EUSE DATE FORMAT\u003C/code\u003E\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EA step is generated on the left. Change the \u003Ccode\u003ELocale\u003C/code\u003E to \u003Ccode\u003Een_US\u003C/code\u003E\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_18_800_parse_date.jpg\" alt=\"46\"\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_19_800_date_format.jpg\" alt=\"47\"\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_20_800_parse_en.jpg\" alt=\"48\"\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003EClick on the newly created column (click outside the step to action the change) and select \u003Ccode\u003ECompute time since\u003C/code\u003E\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EChange \u003Ccode\u003EUntil\u003C/code\u003E to \u003Ccode\u003EAnother Date Column\u003C/code\u003E and add \u003Cstrong\u003EISSUE_DATE_PARSED\u003C/strong\u003E as that column.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EChange the unit to \u003Ccode\u003EYears\u003C/code\u003E and name the new column \u003Ccode\u003Esince_Earliest_CR_LINE_years\u003C/code\u003E\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_21_800_compute_time_since.jpg\" alt=\"48\"\u003E\u003C/p\u003E\n","\u003Cp\u003ENow we have our desired feature we can remove the two date columns.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003EClick on \u003Ccode\u003EEARLIEST_CR_LINE\u003C/code\u003E and select \u003Ccode\u003Edelete\u003C/code\u003E, do the same for \u003Ccode\u003EEARLIEST_CR_LINE_parsed\u003C/code\u003E and \u003Ccode\u003EISSUE_DATE_PARSED\u003C/code\u003E.\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_prepared_actual_deletion.png\" alt=\"48a\"\u003E\u003C/p\u003E\n","\u003Cp\u003EYour script steps should now look like this:\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_prepared_deletion.png\" alt=\"49\"\u003E\u003C/p\u003E\n","\u003Cp\u003EOptionally you can place the three date transformation script steps into their own group with comments to make it simple for a colleague to follow everything you have done.\nLet&rsquo;s turn our attention to the \u003Ccode\u003EINT_RATE\u003C/code\u003E column. The interest rate is likely to be a powerful predictive feature when modeling credit defaults but currently its stored as a string:\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003EClick on the \u003Ccode\u003E+ADD A NEW STEP\u003C/code\u003E button at the bottom of your script steps.\u003C/li\u003E\u003Cli\u003ESelect the \u003Ccode\u003EFind and Replace\u003C/code\u003E processor either by looking in the \u003Ccode\u003EStrings\u003C/code\u003E menu or using the search function.\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_23b_replace.png\" alt=\"50\"\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003ESelect \u003Ccode\u003EINT_RATE\u003C/code\u003E as the column then click \u003Ccode\u003E+ADD REPLACEMENT\u003C/code\u003E and \u003Ccode\u003Ereplace % with a blank value\u003C/code\u003E. Ensure the \u003Ccode\u003EMatching Mode\u003C/code\u003E dropdown is set to \u003Ccode\u003ESubstring\u003C/code\u003E\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_23c_replace_sub.png\" alt=\"50a\"\u003E\u003C/p\u003E\n","\u003Cp\u003EOur \u003Ccode\u003EINT_RATE\u003C/code\u003E column has some suspiciously high values. Let&rsquo;s use the Analyze tool again and see how it can be used to take certain actions in a Prepare recipe\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003EClick on the \u003Ccode\u003EINT_RATE\u003C/code\u003E column header dropdown, select \u003Ccode\u003EAnalyze\u003C/code\u003E.\u003C/li\u003E\u003Cli\u003EIn the Outliers section, choose \u003Ccode\u003ERemove rows outside 1.5 IQR\u003C/code\u003E from the menu then close the \u003Ccode\u003EAnalyze\u003C/code\u003E window.\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_25_800_outliers.jpg\" alt=\"52\"\u003E\u003C/p\u003E\n","\u003Cp\u003EFinally lets take a look at our \u003Ccode\u003EDTI\u003C/code\u003E column which is a ratio of the borrower&rsquo;s total monthly debt payments on the total debt obligations divided by the borrower&rsquo;s self-reported monthly income.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003EClick on the \u003Ccode\u003EDTI\u003C/code\u003E column header and select \u003Ccode\u003EAnalyze\u003C/code\u003E\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dku_prep_dti.png\" alt=\"52\"\u003E\u003C/p\u003E\n","\u003Cp\u003EWe can see that there are a very small number of missing rows. We're going to perform some calculations using this column in our next lab section so lets fix that now.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003ESelect the \u003Ccode\u003Etop\u003C/code\u003E actions menu and select \u003Ccode\u003ERemove rows where DTI is empty\u003C/code\u003E\u003C/li\u003E\u003Cli\u003EClose your \u003Ccode\u003EAnalyze\u003C/code\u003E window\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003EYour final series of steps should look like this\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_prepared_final.png\" alt=\"52\"\u003E\u003C/p\u003E\n","\u003Cp\u003EAs before you can optionally group and comment your transformation steps.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Ccode\u003ESAVE\u003C/code\u003E your recipe, ensure \u003Ccode\u003EIn-database (SQL)\u003C/code\u003E engine is selected and then click \u003Ccode\u003ERUN\u003C/code\u003E\u003C/li\u003E\u003C/ul\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003EFeature Engineering with Code Recipes &amp; Snowpark\u003C/h2\u003E\n","\u003Cp\u003EDataiku DSS integrates with \u003Ccode\u003ESnowpark for Python\u003C/code\u003E allowing coders to take advantage all the benefits of Snowflake whilst collaborating alongside their no/low-code colleagues on projects to accelerate time to value in DSS, their end-to-end, governed AI lifecycle platform.\u003C/p\u003E\n","\u003Cp\u003EWhen using Dataiku's SaaS option from Partner Connect the setup is done for us automatically. Let's check that.\u003C/p\u003E\n","\u003Cp\u003EReturn to your browser tab with \u003Ccode\u003EDataiku Launchpad\u003C/code\u003E open (if you have shut this just go to \u003Ca href=\"https://launchpad-dku.app.dataiku.io/\"\u003ELaunchpad\u003C/a\u003E.\u003C/p\u003E\n","\u003Cp\u003E\u003Ccode\u003ESelect\u003C/code\u003E the \u003Ccode\u003EFeatures\u003C/code\u003E menu\n\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_spk1.png\" alt=\"64\"\u003E\u003C/p\u003E\n","\u003Cp\u003EYour Snowpark extension is now ready to use.\n\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_spk6.png\" alt=\"64\"\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EA Note on Code Environments:\u003C/strong\u003E  Dataiku uses the concept of code environments to address the problem of managing dependencies and versions when writing code in R and Python. Code environments provide a number of benefits such as \u003Cstrong\u003EIsolation and Reproducibility\u003C/strong\u003E of results\u003C/p\u003E\n","\u003Cp\u003EWhen using Snowpark for Python from Dataiku DSS you will use a code environment that includes the Snowpark library as well as other packages you wish to use. In our lab, to make things easy, we are using a default Snowpark code environment which just contains just the minimum required libraries but once you have completed the lab and wish to explore further you can create your own code environments.\u003C/p\u003E\n","\u003Cp\u003EIn addition to selecting an appropriate code environment there are just a couple of extra lines of code to add to your DSS recipe to start using Snowpark for Python.\u003C/p\u003E\n","\u003Cp\u003ELets take a look at a simple example.\u003C/p\u003E\n","\u003Cp\u003EFirstly you need to add the following line to your imports:\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003Efrom dataiku.snowpark import DkuSnowpark\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003EThen read the inputs, instantiate Snowpark, get the dataframe, write your code then write your output.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003E# Read recipe inputs\ninput_dataset = dataiku.Dataset(&quot;my_input_dataset&quot;)\n\n# get input dataset as snowpark dataframe\ndku_snowpark = DkuSnowpark()\nsnowdf = dku_snowpark.get_dataframe(input_dataset)\n\n# ALL YOUR CODE HERE\n\n# get output dataset\nOUTPUT_DATASET = dataiku.Dataset(&quot;my_output_dataset&quot;)\n\n# write input dataframe to output dataset\ndku_snowpark.write_with_schema(OUTPUT_DATASET,snowdf)\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003EWe have an example Jupyter notebook to help you get started. Download the notebook from the S3 bucket to a local drive then we will upload to DSS (Note: You would typically use the Git integrations in DSS for managing team notebooks developed outside of DSS).\u003C/p\u003E\n","\u003Cp\u003E&lt;button&gt;\u003Ca href=\"https://snowflake-corp-se-workshop.s3.us-west-1.amazonaws.com/Summit_Snowflake_Dataiku/src/Loans_FE_Snowpark.ipynb\"\u003ESnowpark_Jupyter_notebook.ipynb\u003C/a\u003E&lt;/button&gt;\u003C/p\u003E\n","\u003Cp\u003EEither \u003Ccode\u003Eselect notebooks\u003C/code\u003E from the menu or use the \u003Ccode\u003EG+N\u003C/code\u003E keyboard shortcut. Select to \u003Ccode\u003Eupload\u003C/code\u003E your notebook, \u003Ccode\u003Echoose the file\u003C/code\u003E and \u003Ccode\u003Eclick upload\u003C/code\u003E.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_snowpark_2.png\" alt=\"66\"\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_snowpark_3.png\" alt=\"67\"\u003E\u003C/p\u003E\n","\u003Cp\u003EHere is the notebook we imported, click \u003Ccode\u003Ecreate recipe\u003C/code\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dku_spk_recipe1b.png\" alt=\"65\"\u003E\u003C/p\u003E\n","\u003Cp\u003Eselect \u003Ccode\u003EPython recipe\u003C/code\u003E and click \u003Ccode\u003Eok\u003C/code\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dku_spk_recipe2.png\" alt=\"66\"\u003E\u003C/p\u003E\n","\u003Cp\u003EFor the input dataset we will select \u003Ccode\u003ELOANS_ENRICHED_joined_prepared\u003C/code\u003E and for the output dataset type \u003Ccode\u003ELOANS_FE\u003C/code\u003E and then click \u003Ccode\u003ECreate recipe\u003C/code\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dku_spk_recipe3b.png\" alt=\"67\"\u003E\u003C/p\u003E\n","\u003Cp\u003EYou now have the notebook set up with correct input and output datasets in our flow. You can either use the default code editor or jupyter notebook. We will work on jupyter notebook. \u003Ccode\u003EClick edit in notebook\u003C/code\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dku_spk_recipe4b.png\" alt=\"68\"\u003E\u003C/p\u003E\n","\u003Cp\u003EEnsure your Jupyter notebook is using the \u003Ccode\u003Esnowpark\u003C/code\u003E kernel, if not change it from the \u003Ccode\u003EChange Kernel\u003C/code\u003E menu\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_snowpark_4b.png\" alt=\"68\"\u003E\u003C/p\u003E\n","\u003Cp\u003ETest running your cells (note the code assumes the dataset names specified above. If you have changed any input or output dataset names be sure and make those updates in the code).\u003C/p\u003E\n","\u003Cp\u003EFeel free to add you own code and experiment, when you are done click \u003Ccode\u003ESAVE BACK TO RECIPE\u003C/code\u003E.\u003C/p\u003E\n","\u003Cp\u003EFrom the default Code Editor lets check apply the correct code environment. Click on \u003Ccode\u003EAdvanced\u003C/code\u003E and then select a Snowpark code environment from the dropdown (Note: Your available code environments may differ from the screenshot)\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dku_snowpark_9.png\" alt=\"68a\"\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dku_snowpark_10.png\" alt=\"68b\"\u003E\u003C/p\u003E\n","\u003Cp\u003EReturn to the \u003Ccode\u003ECode\u003C/code\u003E screen and click the \u003Ccode\u003ERun\u003C/code\u003E button to execute the recipe using Snowpark and to generate the output dataset in the flow.\u003C/p\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003ETraining\u003C/h2\u003E\n","\u003Cp\u003EHaving sufficiently explored and prepared the loans and employment data, the next stage of the AI lifecycle is to experiment with machine learning models.\u003C/p\u003E\n","\u003Cp\u003EThis experimentation stage encompasses two key phases: model building and model assessment.\u003C/p\u003E\n","\u003Cp\u003E\u003Ccode\u003EModel building\u003C/code\u003E: Users have full control over the choice and design of a model &mdash; its features, algorithms, hyperparameters and more.\u003C/p\u003E\n","\u003Cp\u003E\u003Ccode\u003EModel assessment\u003C/code\u003E: Tools such as visualizations and statistical summaries allow users to compare model performance.\u003C/p\u003E\n","\u003Cp\u003EThese two phases work in tandem to realize the idea of Responsible AI. Either through a visual interface or code, building models with DSS can be transparently done in an automated fashion. At the same time, the model assessment tools provide a window into ensuring the model is not a black box.\u003C/p\u003E\n","\u003Cp\u003EBefore building our model first we will split our output dataset from our python step.\u003C/p\u003E\n","\u003Cp\u003EThis is how your flow should look like before splitting\n\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_flow_postpy.png\" alt=\"54\"\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003EReturn to the flow and select the output dataset \u003Ccode\u003ELOANS_FE\u003C/code\u003E of the python recipe and then select  the \u003Ccode\u003ESplit\u003C/code\u003E recipe from the \u003Ccode\u003EActions\u003C/code\u003E menu.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EAdd two datasets named \u003Ccode\u003ELOANS_TRAIN\u003C/code\u003E and \u003Ccode\u003ELOANS_TEST\u003C/code\u003E (leave \u003Ccode\u003EStore into\u003C/code\u003E as the default for both) and click \u003Ccode\u003ECREATE RECIPE\u003C/code\u003E\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_split.png\" alt=\"55\"\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003EChoose \u003Ccode\u003EDispatch percentiles of sorted data\u003C/code\u003E as the splitting strategy\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_split3.png\" alt=\"55a\"\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Ccode\u003ELOAN_ID\u003C/code\u003E as the column to split on, \u003Ccode\u003E70 &amp; 30\u003C/code\u003E split for Train and Test data. \u003Ccode\u003EClick run\u003C/code\u003E\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_split2.png\" alt=\"56\"\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003EReturn to the flow and select the \u003Ccode\u003ELOANS_TRAIN\u003C/code\u003E dataset and click the \u003Ccode\u003ELAB\u003C/code\u003E button in the Actions menu\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003ESelect \u003Ccode\u003EAutoML Prediction\u003C/code\u003E (aka supervised machine learning) and set \u003Ccode\u003ELOAN_STATUS\u003C/code\u003E as the target and leave the default template of \u003Ccode\u003EQuick Prototypes\u003C/code\u003E then click \u003Ccode\u003ECREATE\u003C/code\u003E\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_30_1100_lab_button.jpg\" alt=\"57\"\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_31_1100_lab_options.jpg\" alt=\"58\"\u003E\u003C/p\u003E\n","\u003Cp\u003EWhen building a visual model, users can choose a template instructing DSS to prioritize considerations like speed, performance, and interpretability. Having decided on the basic type of machine learning task, you retain full freedom to adjust the default settings chosen by DSS before training any models. These options include the metric for which to optimize, what features to include, and what algorithms should be tested etc.\u003C/p\u003E\n","\u003Cp\u003ELets take a look at the settings from the template.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003EClick on \u003Ccode\u003EDESIGN\u003C/code\u003E at the top of the page.\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_ml_1.png\" alt=\"58\"\u003E\u003C/p\u003E\n","\u003Cp\u003EOn the left side we can view/adjust the various settings for our current experiment. We don't have time in todays lab to cover all the options but here is a brief outline of a few we will use in the lab:\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003ETRAIN/TEST SET\u003C/strong\u003E - When training a model, it is important to test the performance of the model on a &ldquo;test set&rdquo;. During the training phase, DSS &ldquo;holds out&rdquo; on the test set, and the model is only trained on the train set. In this section you can adjust the strategy.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EDEBUGGING\u003C/strong\u003E - ML Diagnostics are designed to identify and help troubleshoot potential problems and suggest possible improvements at different stages of training and building machine learning models.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EFEATURES HANDLING\u003C/strong\u003E - We can allow Dataiku DSS to automatically choose the features included in our model, or we can manually select which features we want to include when our model is trained and how we handle the feature types.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EALGORITHMS\u003C/strong\u003E - DSS natively supports algorithms that can be used to train predictive models depending on the machine learning task: Clustering or Prediction (Classification or Regression). We can also choose to use our own machine learning algorithm, by adding a custom Python model. In our case we are using the algorithms based on the Scikit-Learn, LightGBM and XGBoost ML libraries.\u003C/p\u003E\n","\u003Cp\u003ELet's use the defaults the template has set.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003EClick on the \u003Ccode\u003ETRAIN\u003C/code\u003E button to start the experiment.\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_ml_train.png\" alt=\"58\"\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_ml_train3.png\" alt=\"58\"\u003E\u003C/p\u003E\n","\u003Cp\u003EThe \u003Ccode\u003ERESULTS\u003C/code\u003E pane in DSS provides a single interface to compare performance in terms of sessions or models, making it easy to find the best performing model for the chosen metric.\u003C/p\u003E\n","\u003Cp\u003EIn the \u003Ccode\u003ERESULTS\u003C/code\u003E screen we can see the output of our first experiment. DSS displays a graph of the evolution of the best cross-validation scores found so far. Hovering over one of the points, we can see the evolution of the hyperparameter values that yielded an improvement. In the right part of the charts, we can see final test scores.\u003C/p\u003E\n","\u003Cp\u003EWe can also see that some \u003Ccode\u003EDiagnostics\u003C/code\u003E checks have been flagged.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Ccode\u003EHover over\u003C/code\u003E the \u003Ccode\u003EDiagnostics\u003C/code\u003E to see what the guardrails have found.\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cstrong\u003EImp Note : Your results may vary from the screen shots below.\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_train1.png\" alt=\"58\"\u003E\u003C/p\u003E\n","\u003Cp\u003EHere we can see there a number of potential issues DSS has identified for us. It seems we have an imbalanced dataset which is leading to the model almost always predicting class 1 (that there will be no default on the loan).\u003C/p\u003E\n","\u003Cp\u003EWe can see this in our distribution.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003EGo back to the \u003Ccode\u003EDESIGN\u003C/code\u003E menu and choose \u003Ccode\u003EFeatures handling\u003C/code\u003E and our target variable \u003Ccode\u003ELOAN_STATUS\u003C/code\u003E\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_ml_target1.png\" alt=\"58\"\u003E\u003C/p\u003E\n","\u003Cp\u003EHere we can see that our loan defaults only make 4% of the dataset. So even if our model erroneously predicted that no loan would ever default it would still be correct 96% of the time for this imbalanced dataset! This is a common issue in certain types of classification problems such as credit card fraud, identifying rare diseases or, as in our case, loan defaults.\u003C/p\u003E\n","\u003Cp\u003EAlthough this a common problem in machine learning it is not one that is always easy to solve. Fortunately DSS has a number of ways to help such as weighting strategies, class rebalance sampling, Algorithm selection and more. Let's look at a couple of these techniques.\u003C/p\u003E\n","\u003Cp\u003EFirstly we can a look at class rebalance.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003EGo to the \u003Ccode\u003ETrain/Test Set\u003C/code\u003E and from the \u003Ccode\u003ESampling method\u003C/code\u003E dropdown select \u003Ccode\u003EClass rebalance (approx. ratio)\u003C/code\u003E\u003C/li\u003E\u003Cli\u003ESet the percentage to 20% and the Column as our target \u003Cstrong\u003ELOAN_STATUS\u003C/strong\u003E\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_train2.png\" alt=\"58\"\u003E\u003C/p\u003E\n","\u003Cp\u003ELets also change the algorithms we are using as logistic regression and tree-based algos tend not to perform as well with imbalanced datasets. Let's look at some of our boosting algos.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003EGo to \u003Ccode\u003EAlgorithms\u003C/code\u003E and deselect \u003Ccode\u003ELogistic Regression\u003C/code\u003E and \u003Ccode\u003ERandom Forest\u003C/code\u003E and then select \u003Ccode\u003EXGBoost\u003C/code\u003E and \u003Ccode\u003ELightGBM\u003C/code\u003E (Note: you can select many more algo's but be aware it may take longer depending on your runtime setup)\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_ml_algoboost.png\" alt=\"58\"\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Ccode\u003ESave\u003C/code\u003E your settings and then click \u003Ccode\u003ETRAIN\u003C/code\u003E\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003EAs you can see on our results page we saw an improvement in our score and addressed our imbalance issue. The diagnostics warn us the test set might be too small now but we have a much larger dataset available to us from the LendingClub if we want to use it.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_train3.png\" alt=\"58\"\u003E\u003C/p\u003E\n","\u003Ch2\u003EEvaluate a Model\u003C/h2\u003E\n","\u003Cp\u003EAfter having trained as many models as desired, DSS offers tools for full training management to track and compare model performance across different algorithms. DSS also makes it easy to update models as new data becomes available and to monitor performance across sessions over time.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003EWe can directly compare models from different experiments by selecting them via the \u003Ccode\u003Echeckbox\u003C/code\u003E and then selecting \u003Ccode\u003ECompare\u003C/code\u003E from the \u003Ccode\u003EACTIONS\u003C/code\u003E menu.\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_train4.png\" alt=\"58\"\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003EMake sure \u003Ccode\u003ECreate a new comparison\u003C/code\u003E and then click \u003Ccode\u003Ecompare\u003C/code\u003E\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_model_compare.png\" alt=\"58\"\u003E\u003C/p\u003E\n","\u003Cp\u003EWe can compare across our experiments, saved models and evaluations from a DSS evaluation store (not part of this lab). You can set a champion and compare to challengers.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003EExplore some of the options. When you are done \u003Ccode\u003Eclick\u003C/code\u003E on the \u003Ccode\u003Emodel name\u003C/code\u003E of your best performing model from the \u003Ccode\u003ESummary\u003C/code\u003E menu.\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_model_eval2.png\" alt=\"58\"\u003E\u003C/p\u003E\n","\u003Cp\u003EClicking on any model produces a full report of tables and visualizations of performance against a range of different possible metrics.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003EStep through the various graphs and interactive charts to better understand your model.\u003C/li\u003E\u003Cli\u003EFor example \u003Ccode\u003ESubpopulations Analysis\u003C/code\u003E allows you to identify potential bias in your model by seeing how it performs across different sub-groups\u003C/li\u003E\u003Cli\u003E\u003Ccode\u003EInteractive Scoring\u003C/code\u003E allows you to run real time \u003Ccode\u003E&ldquo;what-if&rdquo; analysis\u003C/code\u003E to understand the impact of given features\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_33_1100_subpop.jpg\" alt=\"60\"\u003E\u003C/p\u003E\n","\u003Cp\u003EHere we can see \u003Ccode\u003EVariable importance\u003C/code\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_35_1100_variable_imp.jpg\" alt=\"61\"\u003E\u003C/p\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003EDeployment\u003C/h2\u003E\n","\u003Cp\u003EAfter experimenting with a range of models built on historic training data, the next stage is to deploy our chosen model to score new, unseen records.\u003C/p\u003E\n","\u003Cp\u003EFor many AI applications, batch scoring, where new data is collected over some period of time before being passed to the model, is the most effective scoring pattern.\nDeploying a model creates a &ldquo;saved&rdquo; model in the Flow, together with its lineage. A saved model is the output of a Training recipe which takes as input the original training data used while designing the model.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003EClick on \u003Ccode\u003EDEPLOY\u003C/code\u003E, accept the default model name and click \u003Ccode\u003ECREATE\u003C/code\u003E\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/df_deploy2.png\" alt=\"61\"\u003E\u003C/p\u003E\n","\u003Cp\u003EYour flow should now look like this:\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_flow_model.png\" alt=\"61\"\u003E\u003C/p\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003EScoring\u003C/h2\u003E\n\u003Cul\u003E\u003Cli\u003EFrom your \u003Ccode\u003EFlow\u003C/code\u003E select the \u003Ccode\u003Enewly deployed model\u003C/code\u003E (Green diamond) and the \u003Ccode\u003EScore\u003C/code\u003E recipe from the \u003Ccode\u003Eactions menu\u003C/code\u003E\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_score1.png\" alt=\"62\"\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003ESelect your \u003Ccode\u003ELOANS_TEST\u003C/code\u003E from the \u003Ccode\u003EInput dataset dropdown\u003C/code\u003E. Leave the \u003Ccode\u003EName\u003C/code\u003E and \u003Ccode\u003EStore into\u003C/code\u003E for the output as the defaults and click \u003Ccode\u003ECREATE RECIPE\u003C/code\u003E\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_score2.png\" alt=\"62\"\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003EEnsure \u003Ccode\u003EIn-Database (Snowflake native)\u003C/code\u003E is selected as the engine in order to use the Java UDF capability then click `RUN'\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_37_1200_score.jpg\" alt=\"62\"\u003E\u003C/p\u003E\n","\u003Cp\u003EYour final project flow should now look like this.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_final_flow.png\" alt=\"62\"\u003E\u003C/p\u003E\n","\u003Cp\u003EWe can now We can see the results back on the Snowflake tab. If you hit the refresh icon near the top left of our screen by your databases, you should see the \u003Ccode\u003ECREDIT_SCORING_LOANS_TEST_SCORED\u003C/code\u003E table that was created once we kicked off our prediction job.\u003C/p\u003E\n","\u003Cp\u003E\u003Ccode\u003EPreview Data\u003C/code\u003E will give you glimpse of additional column added to the list.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003E\nUSE ROLE SYSADMIN;\nUSE DATABASE PC_DATAIKU_DB;\nUSE WAREHOUSE PC_DATAIKU_WH;\nSELECT * \nFROM LOANS_TEST_SCORED_CREDITSCORING_1 \nLIMIT 10;\n\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_score_results.png\" alt=\"62\"\u003E\u003C/p\u003E\n","\u003Cp\u003EAdditional info\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003ESELECT \n EMP_TITLE ,\n SUM(CASE WHEN &quot;prediction&quot; = 'ok' THEN 1 ELSE 0 END) AS prediction_yes,\n SUM(CASE WHEN &quot;prediction&quot; = 'incident' THEN 1 ELSE 0 END) AS prediction_no\n FROM LOANS_TEST_SCORED_CREDITSCORING_1 \nGROUP BY \n EMP_TITLE \norder by prediction_yes DESC;\n\n\u003C/code\u003E\u003C/pre\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003EConclusion and Next Steps\u003C/h2\u003E\n","\u003Cp\u003ECongratulations  you have now successfully built,  deployed and scored your model results back to Snowflake. Your final flow should look like this.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_final_flow2.png\" alt=\"63\"\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EWhat we have covered\u003C/strong\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003EWorked in Explored Snowflake interface\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EInvestigated Snowflake Marketplace\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EExplored and transformed the data in Dataiku using visual tools understanding how to leverage Snowflake for both storage and compute\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003ETransformed the data using Python code (optionally using Snowpark)\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EBuilt and refined an ML model\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EScored back results using Java UDF to Snowflake for further analysis\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cstrong\u003ERelated Resources\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Ca href=\"http://https://community.snowflake.com/s/snowflake-university\"\u003ESnowFlake University\u003C/a\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Ca href=\"https://academy.dataiku.com/\"\u003EDataiku Academy\u003C/a\u003E\u003C/p\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003EAppendix\u003C/h2\u003E\n","\u003Cp\u003E\u003Cstrong\u003ETo enable the anaconda libraries on snowflake account\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003E1.Create a new trial account on https://signup.snowflake.com\u003C/p\u003E\n","\u003Cp\u003E2.Login\u003C/p\u003E\n","\u003Cp\u003E3.Switch to ORGADMIN role\u003C/p\u003E\n","\u003Cp\u003E4.Go into Admin &raquo; Billing\u003C/p\u003E\n","\u003Cp\u003E5.Click on Terms &amp; Billing, and enable Anaconda terms.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_anaconda1.png\" alt=\"73\"\u003E\u003C/p\u003E"],"description":"","title":"End to End Machine learning with Snowflake and Dataiku","elements":{"quickstartArticleBody":{"dataType":"string","title":"Quickstart Article Body","value":"\u003C!-- ------------------------ --\u003E\r\n## Overview  \r\n\r\n\r\nThis Snowflake Quickstart introduces you to the using Snowflake together with Dataiku Cloud as part of a Machine learning project, and build an end-to-end machine learning solution. This lab will showcase seamless integration of both Snowflake and Dataiku at every stage of ML life cycle. We will also use Snowflake Marketplace to enrich the dataset. \r\n\r\n### Business Problem \r\n\r\nWill go through a **supervised machine learning** by building a binary classification model to predict if a lender will default on a loan. **LOAN_STATUS (yes/no)**  considering multiple features. \r\n\r\n\r\n**Supervised machine learning** is the process of taking a historical dataset with KNOWN outcomes of what we would like to predict, to train a model, that can be used to make future predictions. After building a model we will deploy back to Snowflake for scoring by using Snowpark-java udf. \r\n### Dataset\r\n\r\nWe will be exploring a financial service use of evaluating loan information to predict if a lender will default on a loan. The base data set was derived from loan data from the Lending Club.\r\n\r\nIn addition to base data, this will then be enriched with unemployment data from Knoema on the Snowflake Marketplace.\r\n\r\n\r\n### What We’re Going To Build\r\n\r\nWe will build a project. The project contains the input datasets from Snowflake. We’ll build a data science pipeline by applying data transformations, enriching from Marketplace employment data, building a machine learning model, and deploying it to the Flow. We will then see how you can score the model against fresh data from Snowflake and automate\r\n\r\n\r\n![1](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_1.jpg)\r\n\r\n\r\n\r\n### Prerequisites\r\n\r\n- Familiarity with Snowflake, basic SQL knowledge and Snowflake objects\r\n- Basic knowledge  Machine Learning\r\n- Basic knowledge Python, Jupyter notebook for ```Bonus```\r\n\r\n### What You'll Need During the Lab\r\n\r\nTo participate in the virtual hands-on lab, attendees need the following:\r\n\r\n- A [Snowflake free 30-day trial](https://trial.snowflake.com/) ```ACCOUNTADMIN``` access\r\n- Dataiku Cloud trial version via Snowflake’s Partner Connect\r\n\r\n\r\n### What You'll Build\r\n\r\nOperational end-to-end ML project using joint capabilities of Snowflake and Dataiku from Data collection to deployment\r\n\r\n- Create a Data Science project in Dataiku and perform analysis on data via Dataiku within Snowflake\r\n- The analysis and feature engineering using Dataiku\r\n- Create, run, and evaluate simple Machine Learning models in Dataiku,  measure their performance and interpret\r\n- Building and deploying Pipelines\r\n- Use Snowpark-Java UDF to score result on test dataset and write back to Snowflake\r\n- Use cloning to create separate pipeline for testing \r\n- Bonus track using Snowpark - python \r\n\r\n\r\n\u003C!-- ------------------------ --\u003E\r\n## Setting up Snowflake \r\n\r\n\r\n\r\n- If you haven’t already, register for a [Snowflake free 30-day trial](https://trial.snowflake.com/) \r\n\r\n- **Note**: Please ensure that you use the `same email address` for both your Snowflake and Dataiku sign up\r\n\r\n- **Region**  - Kindly choose  ```US West (Oregon)``` for this lab\r\n\r\n- **Cloud Provider**  - Kindly choose ```AWS``` for this lab\r\n\r\n- **Snowflake edition**  - Select the ```Enterprise edition``` so you can leverage some advanced capabilities that are not available in the Standard Edition.\r\n\r\n\r\n\u003E aside negative\r\n\u003E \r\n\u003E  **Snowflake Marketplace dataset** \u003Cbr\u003E It is strongly recommended that when setting up a new account you use the Provider and Region above because to leverage the marketplace dataset in this lab. If you already have an existing Snowflake account you wish to use that uses a different Provider/Region we would recommend creating a new trial instance for this lab.\r\n\r\n\r\n\r\n![2](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_2_signup.png)\r\n\r\n\r\n![3](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_3.jpg)\r\n\r\nAfter registering, you will receive an ```email```with an ```activation``` link and your Snowflake account URL. Kindly activate the account.\r\n\r\n\r\n![4](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_4.jpg)\r\n\r\n\r\nAfter activation, you will create a ```user name```and ```password```. Write down these credentials. ```Bookmark this URL for easy, future access```.\r\n\r\n![5](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_5_user_id_password.png)\r\n\r\n\u003C!-- ------------------------ --\u003E\r\n## Logging in  Snowflake \r\n\r\n\r\n#### Step 1\r\n\r\nLog in with your credentials. ```Bookmark this URL for easy, future access```.\r\n\r\n\r\n\r\n\r\n![6](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_6_login.png)\r\n\r\nResize your browser window, so that you can view this guide and your web browser side-by-side and follow the lab instructions. If possible, use a secondary display dedicated to the lab guide.\r\n\r\n\r\n#### Step 2\r\n\r\nLog into your Snowflake account. By default it will open up ```home``` page.  \r\n\r\n\r\n\r\n![7](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_7_firstpage.png)\r\n\r\n\r\n\r\n#### Step 3\r\n\r\nTo create ```Worksheet``` . Click on the ```Worksheets``` tab. A new screen will open up. \r\n\r\n\r\n![8](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_8_createworksheet.png)\r\n\r\n#### Step 4\r\n\r\nClick on ```+ Worksheet``` to create your first worksheet. \r\n\r\n![9](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_9_createworksheet2.png)\r\n\r\n#### Step 5\r\n\r\nNew ```Worksheet``` will be created with a ```Time stamp```. Let's now rename this ```Worksheet``` by clicking on the ```Time stamp```. \r\n\r\n\r\n![10](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_10_createworksheet.png)\r\n\r\n\r\nYou can name anything, but for this lab we will Rename it as ```Data Loading```.\r\n\r\n\r\n![11](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_11_renameworksheet.png)\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n## Load data in  Snowflake \r\n\r\n\r\nDownload the following .sql file that contains a series of SQL commands we will execute throughout this lab. You can either execute cell by cell commands from the sql file or copy the below code blocks and follow. \r\n\r\n \u003Cbutton\u003E[Snowflake_Dataiku_ML.sql](https://snowflake-corp-se-workshop.s3.us-west-1.amazonaws.com/Summit_Snowflake_Dataiku/src/Snowflake_Dataiku_ML.sql)\u003C/button\u003E\r\n\r\n **Part 1** : ```Step 1 - Step 4``` \r\n \r\n Creating database, Warehouse, loading dataset\r\n          \r\n\r\n **Part 2** : ```Step 5 - Step 8```\r\n\r\n  Tapping Snowflake Marketplace dataset\r\n\r\n\r\n\r\nAfter creating the ```worksheet``` in the last step we can import the sql file provided . \r\n\r\nClick on ```drop down``` button.\r\n\r\n![13](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_13.jpg)\r\n\r\n\r\nSelect ``` Import SQL from File ``` option to import the SQL file just downloaded. Select it and ```Enter```.\r\n\r\n\r\n![13](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_12.jpg)\r\n\r\n\r\n#### Data Loading : Steps\r\n\r\n\r\n\r\nEach step throughout the guide has an associated SQL command to perform the work we are looking to execute, and so feel free to step through each action running the code line by line as we walk through the lab. \r\n\r\nIf you wish to run the code at once \r\n\r\n**Part 1** : ```Step 1 - Step 4```  need to run first and then ```additional steps ``` are  then required before executing  \r\n\r\n**Part 2** : ```Step 5 - Step 8```. \r\n\r\nTo execute this code, all we need to do is place our cursor on the line we wish to run and then either hit the \"run\" button at the top left of the worksheet or press ```Cmd/Ctrl + Enter```\r\n\r\n\r\n**Step 1** : Virtual warehouse that we will use to compute with the ```SYSADMIN``` role.\r\n\r\n\r\n```\r\n\r\nUSE ROLE SYSADMIN;\r\n\r\nCREATE OR REPLACE WAREHOUSE ML_WH\r\n\r\n  WITH WAREHOUSE_SIZE = 'XSMALL'\r\n\r\n  AUTO_SUSPEND = 120\r\n\r\n  AUTO_RESUME = true\r\n\r\n  INITIALLY_SUSPENDED = TRUE;\r\n\r\n```\r\n\r\n\r\n**Step 2** : In this step  we will first create ```ML_DB ``` and then ```create ``` a ```Loan_data``` table in that database.\r\n\r\n\r\n```\r\n\r\nUSE WAREHOUSE ML_WH;\r\n\r\nCREATE DATABASE IF NOT EXISTS ML_DB;\r\n\r\nUSE DATABASE ML_DB;\r\n\r\nCREATE OR REPLACE TABLE loan_data (\r\n  \r\n        LOAN_ID NUMBER(38,0),\r\n  \r\n        LOAN_AMNT FLOAT,\r\n\r\n        FUNDED_AMNT FLOAT,\r\n\r\n        TERM VARCHAR(4194304),\r\n\r\n        INT_RATE VARCHAR(4194304),\r\n\r\n        INSTALLMENT FLOAT,\r\n\r\n        GRADE VARCHAR(4194304),\r\n\r\n        SUB_GRADE VARCHAR(4194304),\r\n\r\n        EMP_TITLE VARCHAR(4194304),\r\n\r\n        EMP_LENGTH_YEARS NUMBER(38,0),\r\n\r\n        HOME_OWNERSHIP VARCHAR(4194304),\r\n\r\n        ANNUAL_INC FLOAT,\r\n\r\n        VERIFICATION_STATUS VARCHAR(4194304),\r\n\r\n        ISSUE_DATE_PARSED TIMESTAMP_TZ(9),\r\n\r\n        LOAN_STATUS VARCHAR(4194304),\r\n\r\n        PYMNT_PLAN BOOLEAN,\r\n        \r\n        PURPOSE VARCHAR(4194304),\r\n\r\n        TITLE VARCHAR(4194304),\r\n    \r\n        ZIP_CODE VARCHAR(4194304),\r\n\r\n        ADDR_STATE VARCHAR(4194304),\r\n\r\n        DTI FLOAT,\r\n\r\n        DELINQ_2YRS FLOAT,\r\n\r\n        EARLIEST_CR_LINE VARCHAR(4194304),\r\n\r\n        INQ_LAST_6MTHS FLOAT,\r\n\r\n        MTHS_SINCE_LAST_DELINQ FLOAT,\r\n\r\n        MTHS_SINCE_LAST_RECORD FLOAT,\r\n\r\n        OPEN_ACC FLOAT,\r\n\r\n        REVOL_BAL FLOAT,\r\n\r\n        REVOL_UTIL FLOAT,\r\n\r\n        TOTAL_ACC FLOAT,\r\n\r\n        TOTAL_PYMNT FLOAT,\r\n\r\n        MTHS_SINCE_LAST_MAJOR_DEROG FLOAT,\r\n\r\n        TOT_CUR_BAL FLOAT,\r\n\r\n        ISSUE_MONTH NUMBER(38,0),\r\n\r\n        ISSUE_YEAR NUMBER(38,0)\r\n  \r\n);\r\n\r\n\r\n```\r\n\r\nAfter running the cell above, we have successfully created a ```loan_data``` table. \r\n\r\n\r\n![15](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_15_dataloading2.png)\r\n\r\n\r\n**Step 3** : In this step we will create an external stage ```LOAN_DATA``` to load the lab data. This is done from a public S3 bucket to simplified for this workshop.\r\n\r\n\r\nTypically an external stage will be using various secure integrations as described in this [link](https://docs.snowflake.com/en/user-guide/data-load-s3-config.html). \r\n\r\n```\r\nCREATE OR REPLACE STAGE LOAN_DATA\r\n\r\n  url='s3://snowflake-corp-se-workshop/Summit_Snowflake_Dataiku/data/';\r\n  \r\n \r\n ---- List the files in the stage \r\n\r\n list @LOAN_DATA;\r\n```\r\n\r\nListing the files from ```S3``` bucket\r\n\r\n\r\n\r\n![16](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_16_dataloading3.png)\r\n\r\n\r\n**Step 4** : In this step we will ```copy``` the ```loan_data``` csv file to the ```loan_data``` table we created. \r\n\r\n```\r\n\r\nCOPY INTO loan_data FROM @LOAN_DATA/loans_data.csv\r\nFILE_FORMAT = (TYPE = 'CSV' field_optionally_enclosed_by='\"',SKIP_HEADER = 1);  \r\n\r\nSELECT * FROM loan_data LIMIT 100;\r\n\r\n```\r\n\r\n\r\n\r\nBelow is the snapshot of the data and it represents aggregation from various internal systems for lender information and loans. We can have a quick look and see the various attributes in it.\r\n\r\n![17](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_17_dataloading4.png)\r\n\r\n\r\n\r\n\r\nWe have successfully loaded the data from ```external stage``` to snowflake.\r\n\r\n\u003E aside negative\r\n\u003E \r\n\u003E  **About the screen captures, sample code, and environment** \u003Cbr\u003E Screen captures in this lab depict examples and results that may slightly vary from what you may see when you complete the exercises.\r\n\r\n\r\n\r\n**Step 5** : Time to switch to get ```Konema Employement Data``` from Snowflake Market place\r\n\r\nWe can now look at additional data in the Snowflake Marketplace that can be helpful for improving ML models. It may be good to look at employment data in the region when analyzing loan defaults. Let’s look in the Snowflake Marketplace and see what external data is available from the data providers.\r\n\r\nLets go to ```home screen``` by clicking on ```home``` icon. \r\n\r\n![18](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_18_dataloading5.png)\r\n\r\n\r\n#### Imp Note \r\n\r\n1. ```Click Market place tab```\r\n\r\n2. Make Sure ```ACCOUNTADMIN``` role is selected \r\n\r\n3. In search bar type ```Labor Data Atlas```\r\n\r\n\r\n\r\n![19](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_19_marketplace1.png)\r\n\r\n\r\n\r\n\r\n Click on the tile with ```Labor Data Atlas```\r\n\r\n\r\n![20](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_20_marketplace2.png)\r\n\r\n\r\nNext click on the ```Get Data``` button. This will provide a pop up window in which you can create a database in your account that will provide the data from the data provider.\r\n\r\n\r\n#### Important : Steps \r\n\r\n1. Change the name of the database to  ```KNOEMA_LABOR_DATA_ATLAS```\r\n\r\n2. Select additional roles drop down ```PUBLIC```\r\n\r\n3. Click ```Get Data```\r\n\r\n\r\n![21](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_21_marketplace3.png)\r\n\r\n\r\n\r\nWhen the confirmation is provided click on ```done``` and then you can close the browser tab with the Preview App.\r\n\r\n\r\n\r\n![22](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_22_marketplace4.png)\r\n\r\n\r\n  Other advantage of using Snowflake Marketplace does not require any additional work and will show up as a database in your account. A further benefit is that the data will automatically update as soon as the data provider does any updates to the data on their account.\r\n  \r\n1. After done just to ```confirm``` the datasets are properly configured\r\n\r\n\r\n2. Click on Data tab ```Database```\r\n\r\n\r\n3. You should see ```KNOEMA_LABOR_DATA_ATLAS```  and ```ML_DB```\r\n\r\n![23](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_23_marketplace5.png)\r\n\r\n\r\n\r\nAfter confirming ```Databases```.  Lets go to ```Worksheets tab``` and  then ```open``` the ```Data Loading```worksheet \r\n\r\n\r\n\r\n![24](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_24_marketplace6.png)\r\n\r\n\r\n**Step 6** : Querying the ```KNOEMA_LABOR_DATA_ATLAS```for some basic analysis \r\n\r\n\r\nThere are multiple datasets. Lets try to find unemployment dataset in US to narrow down our search. \r\n\r\n```\r\nUSE WAREHOUSE ML_WH;\r\n\r\nUSE DATABASE KNOEMA_LABOR_DATA_ATLAS;\r\n\r\nSELECT * \r\nFROM \"LABOR\".\"DATASETS\"\r\nWHERE \"DatasetName\" ILIKE '%unemployment%' \r\nAND \"DatasetName\" ILIKE '%U.S%';\r\n\r\n```\r\n\r\n\r\n![22](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_22_marketplace4a.png)\r\n\r\n\r\nAmazing! We have successfully tapped into live data collection of the most important, used, and high-quality datasets on the labor market and human resources on national and sub-national levels from a dozen of sources.\r\n\r\n\r\nWe can find answers such as what is the number of initial claims for unemployment insurance in the US over time?\r\n\r\n```\r\nSELECT * FROM \"LABOR\".\"USUID2017Sep\" WHERE \"Region Name\" = 'United States' AND \r\n      \"Indicator Name\" = 'Initial Claims' AND \"Measure Name\" = 'Value' AND \r\n       \"Seasonal Adjustment Name\" = 'Seasonally Adjusted' ORDER BY \"Date\";\r\n\r\n```\r\n\r\n\r\n![22](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_22_marketplace4b.png)\r\n\r\n\r\n\r\n Now for this exercise we are going to ```Enrich``` the ```Loan dataset``` we created earlier using the ```BLSLA``` dataset\r\n\r\n\r\n\r\n**Step 7** : Creating a ```KNOEMA_EMPLOYMENT_DATA``` marketplace data ```view```. We will ```pivot``` the data for the different employment metrics so it can be used easily for analysis. \r\n\r\n```\r\nUSE DATABASE ML_DB;\r\n\r\nCREATE OR REPLACE VIEW KNOEMA_EMPLOYMENT_DATA AS (\r\n\r\nSELECT *\r\n\r\nFROM (SELECT \"Measure Name\" MeasureName, \"Date\", \r\n      \"RegionId\" State, \r\n      AVG(\"Value\") Value \r\n      FROM \"KNOEMA_LABOR_DATA_ATLAS\".\"LABOR\".\"BLSLA\" WHERE \"RegionId\" is not null \r\n      and \"Date\" \u003E= '2018-01-01' AND \"Date\" \u003C '2018-12-31' GROUP BY \"RegionId\", \"Measure Name\", \"Date\")\r\n  PIVOT(AVG(Value) FOR MeasureName\r\n  IN ('civilian noninstitutional population', 'employment', 'employment-population ratio', \r\n     'labor force', 'labor force participation rate', 'unemployment', 'unemployment rate')) AS \r\n        p (Date, State, civilian_noninstitutional_population, employment, employment_population_ratio, \r\n           labor_force, labor_force_participation_rate, unemployment, unemployment_rate)\r\n);\r\n\r\nSELECT * FROM KNOEMA_EMPLOYMENT_DATA LIMIT 100;\r\n\r\n```\r\n\r\n![25](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_25_marketplace7.png)\r\n \r\nWe have successfully created the view. \r\n\r\n**Step 8** : Now in this step we will ```Create``` a new table  called ```UNEMPLOYMENT DATA``` using the geography and time periods by joining ```LOAN_DATA``` table created from ```S3``` and ```KNOEMA_EMPLOYMENT_DATA VIEW``` created in last step.\r\n\r\nThis will provide us with unemployment data in the region associated with the specific loan.\r\n\r\n\r\n```\r\n\r\nCREATE OR REPLACE TABLE UNEMPLOYMENT_DATA AS\r\n\r\n SELECT l.LOAN_ID, e.CIVILIAN_NONINSTITUTIONAL_POPULATION, \r\n        e.EMPLOYMENT, e.EMPLOYMENT_POPULATION_RATIO, e.LABOR_FORCE, \r\n        e.LABOR_FORCE_PARTICIPATION_RATE, e.UNEMPLOYMENT, e.UNEMPLOYMENT_RATE\r\n\r\n  FROM LOAN_DATA l LEFT JOIN KNOEMA_EMPLOYMENT_DATA e\r\n\r\n on l.ADDR_STATE = right(e.state,2) and l.issue_month = month(e.date) and l.issue_year = year(e.date);\r\n\r\nSELECT * FROM UNEMPLOYMENT_DATA LIMIT 100;\r\n\r\n```\r\n![26](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_26_marketplace8.png)\r\n\r\n\r\n\u003E aside negative\r\n\u003E \r\n\u003E  **Database for Machine learning consumption** \u003Cbr\u003E  This will be created after connecting Snowflake with Dataiku using partner connect...\r\n\r\n\u003C!-- ------------------------ --\u003E\r\n## Connect Dataiku with Snowflake\r\n\r\n\r\nGo to ```home screen``` clicking on home button. \r\n\r\n![27](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_17.jpg)\r\n\r\n\r\n`Select` the `Admin` from the list.\r\n\r\n\r\n![27a](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_17a.png)\r\n\r\n\r\n\r\nFor the ```next steps```\r\n\r\n\r\n1. ```Click``` the ```Partner Connect```\r\n\r\n2. From ```drop down```  switch role and make sure  ```ACCOUNTADMIN``` is selected \r\n\r\n3. Search title type ```Dataiku```\r\n\r\n4. Click on the ```Dataiku``` tile.  \r\n\r\nYour screen should like below ```Screen Shot ```\r\n\r\n![28](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_16.png)\r\n\r\n\r\nAfter you have clicked on ```Dataiku```.  This will launch the following window, which will automatically create the ```connection parameters``` required for Dataiku to connect to Snowflake.\r\n\r\n![29](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_27_partnerconnect1.png)\r\n\r\n\r\n\r\nSnowflake will create a dedicated database, warehouse, system user, system password and system role, with the intention of those being used by the Dataiku account.\r\n\r\n\r\nWe’d like to use the ```PC_DATAIKU_USER``` to connect from Dataiku to Snowflake, and use the ```PC_DATAIKU_WH```when performing activities within Dataiku that are pushed down into Snowflake.\r\n\r\nNote that the user password (which is autogenerated by Snowflake and never displayed), along with all of the other Snowflake connection parameters, are passed to the Dataiku server so that they will automatically be used for the Dataiku connection.  ```DO NOT CHANGE THE PC_DATAIKU_USER``` password, otherwise Dataiku will not be able to connect to the Snowflake database.\r\n\r\n\r\nClick on ```Connect```. You may be asked to provide your first and last name.  If so, add them and click Connect. Your partner account has been created. Click on ```Activate``` to get it activated.\r\n\r\n\r\n\r\n![30](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_1_100_pc_created.png)\r\n\r\n\r\n\r\nThis will launch a new page that will redirect you to a launch page from Dataiku.\r\n\r\nFor the lab ae assume that you’re new to ```Dataiku```, so ensure the “Sign Up” box is selected, and sign up using the email address **(Note: This should be the same email address that you used to set up your Snowflake account)** and a new password of your choosing. \r\n\r\n\r\n![31](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_2_signin.jpg)\r\n\r\n\r\nWhen using your email address, ensure your password fits the following criteria:\r\n1. **At least 8 characters in length**\r\n2.  **Should contain:**\r\n      **Lower case letters (a-z)**\r\n\r\n      **Upper case letters (A-Z)**\r\n\r\n      **Numbers (i.e. 0-9)**\r\n\r\nUpon clicking on the activation link, please briefly review the Terms of Service of Dataiku Cloud. In order to do so, please scroll down to the bottom of the page. Click on ```I AGREE```\r\n\r\n![32](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_3_100_dku_online_tcs.png)\r\n\r\n\r\nNext, you’ll need to complete your sign up information then click on ```Start```.\r\n\r\n\r\n\r\n\u003C!-- ![33](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_4_sign_in_details.png) --\u003E\r\n\r\n\r\nYou will be redirected to the Dataiku Cloud Launchpad site. Click ```GOT IT!``` to continue.\r\n\r\n\r\n\r\n![34](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_5_100_dku_online_welcome.png)\r\n\r\n\r\n\r\n![35](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_6_100_dku_online_launch_screen.png)\r\n\r\n\r\n\r\n\r\nYou’ve now successfully set up your Dataiku trial account via Snowflake’s Partner Connect. We are now ready to continue with the lab. For this, move back to your ```Snowflake browser```.\r\n\r\n\r\n\r\n## Database for Machine Learning\r\n\r\nAfter connecting  ```Snowflake``` to ```Dataiku``` via partner connect. We will clone the table created in ```ML_DB``` to ```PC_DATAIKU_DB``` for the Dataiku consumption. \r\n\r\nSnowflake provides a very unique feature called [Zero Copy Cloning](https://www.youtube.com/watch?v=yQIMmXg7Seg) that will create a new copy of the data by ```only making a copy of the metadata of the objects```. This drastically speeds up creation of copies and also drastically reduces the storage space needed for data copies.\r\n\r\n\r\nYou should see three database now  ```PC_DATAIKU_DB``` is the system generated database created. \r\n\r\n\r\n![36](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_28_partnerconnect2.png)\r\n\r\n\r\nYou should see  ```PC_DATAIKU_USER``` is the system generated database created. \r\n\r\n\r\n![36a](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_28_partnerconnect2b.png)\r\n\r\n\r\nGo back to ```Data_Loading Worksheet``` you are working and run below commands. \r\n\r\n\r\n#### Granting Privileges of ML_DB to PC_Dataiku_role\r\n\r\n```\r\n\r\ngrant all privileges on database ML_DB to role PC_Dataiku_role;\r\ngrant usage on all schemas in database ML_DB to role PC_Dataiku_role;\r\ngrant select on all tables in schema ML_DB.public to role PC_Dataiku_role;\r\ngrant select on all views in schema ML_DB.public to role PC_Dataiku_role;\r\n\r\n```\r\n\r\nThere are two options after this. You can either create a `New Worksheet` or continue in `same worksheet `. We will continue with `same Worksheet`. We just have to `refresh` your browser after the `next step`\r\n\r\n```\r\n\r\nUSE ROLE PC_DATAIKU_ROLE;\r\n\r\n```\r\n\r\n#### Imp:  Refresh the web page \r\n\r\nAfter running above command you might see the prompt below. Kindly `refresh `the browser. \r\n\r\n![36b](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/error_pc_dk_role.png)\r\n\r\n\r\n#### Cloning tables to DATAIKU Database before consuming it for Dataiku DSS \r\n```\r\nUSE DATABASE PC_DATAIKU_DB;\r\nUSE WAREHOUSE PC_DATAIKU_WH;\r\n\r\n--- cloning \r\n\r\nCREATE OR REPLACE TABLE LOANS_ENRICHED CLONE ML_DB.PUBLIC.LOAN_DATA;\r\nCREATE OR REPLACE TABLE UNEMPLOYMENT_DATA CLONE ML_DB.PUBLIC.UNEMPLOYMENT_DATA;\r\n\r\n\r\nSELECT * FROM LOANS_ENRICHED LIMIT 10;\r\n```\r\n\r\nAfter running above commands, we have created clones for the tables to be used for analysis. Kindly check ```PC_DATAIKU_DB``` \r\n\r\nyou should have two datasets ```LOANS_ENRICHED``` and ```UNEMPLOYMENT_DATA```\r\n\r\n![37](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_29_partnerconnect4.png)\r\n\r\n\r\n\u003E aside negative\r\n\u003E \r\n\u003E  **Move to Dataiku console** \u003Cbr\u003E For feature engineering, model building, Scoring and deployment. \r\n\r\n\r\n\u003C!-- ------------------------ --\u003E\r\n## Getting Started with a Dataiku Project\r\n\r\nReturn to Dataiku Online and if you haven't already click on **OPEN DATAIKU DSS** from the Launchpad to start your instance of Dataiku DSS\r\n\r\n![35](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_6_100_dku_online_launch_screen.png)\r\n\r\n\r\nHere is the project we are going to build along with some annotations to help you understand some key concepts in Dataiku DSS: \r\n\r\n![35a](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_flow_overview.png)\r\n\r\n\r\n* A **dataset** is represented by a blue square with a symbol that depicts the dataset type or connection. The initial datasets (also known as input datasets) are found on the left of the Flow. In this project, the input datasets will be the ones we created in the first part of the lab.\r\n\r\n* A **recipe** in Dataiku DSS (represented by a circle icon with a symbol that depicts its function) can be either visual or code-based, and it contains the processing logic for transforming datasets.\r\n\r\n* **Machine learning processes** are represented by green icons.\r\n\r\n* The **Actions Menu** is shown on the right pane and is context sensitive.\r\n\r\n* Whatever screen you are currently in you can always return to the main **Flow** by clicking the **Flow** symbol from the top menu (also clicking the project name will take you back to the main Project page).\r\n\r\n\r\n**Input dataset:**\r\n  _The dataset is based on the Loans Dataset from LendingClub which is a peer-to-peer lending company that matches borrowers and investors._\r\n\r\n  _In the interests of time we have performed some initial steps of the data pipeline such as cleansing and transformations on the loans dataset. These steps can be created in Dataiku from the raw datasets from the Lending Club to form a complete pipeline with the data and execution happening in Snowflake._\r\n\r\n\r\n### Reminder of our goal\r\n\r\nOur goal is to build an optimized machine learning model that can be used to predict the risk of default on loans for customers and advise them on how to reduce their risk.\r\nTo do this, we’ll join the input datasets, perform transformations & feature engineering so that they are ready to use for building a binary classification model.\r\n\r\n\r\n### Creating a Dataiku Project\r\n\r\n\r\nOnce you’ve logged in, `click` on `+ NEW PROJECT` and select `+ Blank project` to create a new project.\r\n\r\nName the project as ``Credit Scoring``\r\n\r\n![35d](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk6d_new_project.png)\r\n\r\n\r\n\u003C!-- ------------------------ --\u003E\r\n## Data Import, Analysis & Join\r\n\r\nThe project home acts as the command center from which you can see the overall status of a project, view recent activity, and collaborate through comments, tags, and a project to-do list. Let’s add our datasets from Snowflake.\r\n\r\n\r\n* From the Flow click `+ Import Your First Dataset` in the centre of the screen.\r\n\r\n\r\n![37](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk7b_first_import.png)\r\n\r\n\r\n* Select the `Search and import option` \r\n\r\n![38](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_search_import.png)\r\n\r\n* Select the `PC_DATAIKU_DB` connection from the dropdown then `click the refresh icon` next to the database or schema dropdowns to populate these options.\r\n* Select the database and schema as below then click on `LIST TABLES`\r\n\r\n\r\n![39](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_9_400_connection_explorer_with_filled_out_values.png)\r\n\r\n\r\n* Select the `Loans_Enriched` and `Unemployment_Data` datasets and click `CREATE 2 DATASETS` followed by `OK`\r\n\r\n\r\n![40](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_10_400_renamed_tables.png)\r\n\r\n\r\n![41](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_11_400_datasets_imported_screen.png)\r\n\r\n* Navigate to the Flow from the left-most menu in the top navigation bar `(or use the keyboard shortcut G+F)`.\r\n\r\n![42](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_12_500_two_datasets_in_flow.png)\r\n\r\nIn DSS, the datasets and the recipes together make up the `flow`. We have created a visual grammar for data science, so users can quickly understand a data pipeline through the flow.\r\n\r\nUsing the flow, DSS knows the lineage of every dataset in the flow. DSS, therefore, is able to dynamically rebuild datasets whenever one of their parent datasets or recipes has been modified. This is where we will work from in this lab.\r\n\r\nNow we have all of the raw data needed for this lab. Let’s explore what’s inside these datasets.\r\n\r\n* From the Flow (keyboard shortcut G+F), double click on the `LOANS_ENRICHED` dataset to open it.\r\n\r\nOne column to note is the **LOAN_STATUS** column. This will be our target variable to predict against later in the lab. \r\n\r\n* You can analyze column metrics to better understand your data: Either click on the column name and `select Analyze` or, if you wish for a quick overview of columns key statistics, `select Quick Column Stats` button on the top-right.\r\n\r\n\r\n![43](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_13_analyze.png)\r\n\r\n### Join the Data \r\n\r\n\r\nSo far, your Flow only contains datasets. To take action on datasets, you need to apply recipes. The **LOANS_ENRICHED** and **UNEMPLOYMENT_DATA** datasets both contain a column of Loan IDs. Let’s join these two datasets together using a visual recipe.\r\n\r\n* Return to the Flow either by clicking the menu option in the top left or with the keyboard shortcut G+F\r\n* Select the `LOANS_ENRICHED` dataset from the Flow by `single clicking` on it.\r\n* Choose `Join With…` from the `Visual recipes` section of the Actions sidebar near the top right of the screen (note: click the `Open Panel` arrow if it is minimized and notice there are three different types of join recipe, we want `Join With…`).\r\n* Choose `UNEMPLOYMENT_DATA` as the second input dataset.\r\n\r\n \r\n* Leave the defaults for `Name` and `PC_DATAIKU_DB for “Store into”` and `Create` the recipe. \r\n\r\n![44](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_15_700_join_tables.png)\r\n\r\n\r\n* Leave the defaults for the `Join` and `Selected columns` steps.\r\n\r\n![45](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_join1.png)\r\n\r\n* Select the `Output step`\r\n* Note: You can view the SQL query as well as the execution plan generated by selecting `VIEW QUERY`\r\n* Ensure that `In-database (SQL)` is selected as the engine. You can view this underneath the `Run button`(Bottom left). If it is set to a different engine `click on the three cogs` to change it \r\n* Before running, `Save` the recipe\r\n* Click the `RUN` button\r\n* If prompted agree to `Update Schema` then return to the `flow (G+F)`\r\n\r\n![45](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_loan2.png)\r\n\r\nYour flow should now look like this\r\n\r\n\r\n![45](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_17_700_flow_join.png)\r\n\r\n## Prepare the Data \r\n\r\nData cleaning and preparation is typically one of the most time-consuming tasks for anyone working with data. In our lab, in order to save some of that time, our main lending dataset already had a number of cleaning steps applied. In the real world this would be done by other colleagues, say, from the data analytics team collaborating on this project and you would see their work as steps in our projects flow. \r\n\r\nLet’s take a brief look at the `Prepare recipe`, the workhorse of the visual recipes in Dataiku, and perform some final investigations and transformations. \r\n\r\n* From the flow `Single click` on the **LOANS_ENRICHED_joined** dataset that was the output of our Join recipe and `select Prepare` from the visual recipes in the `Actions Panel`. \r\n* Leave the `Name` and `Store into` options as the defaults and click `CREATE RECIPE`\r\n\r\n![45](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_prep_create.png)\r\n\r\nIn a Prepare recipe you assemble a series of steps to transform your data from a library of ~100 processors. There are a couple of ways you can select these processors to build your script. Firstly you can select these processors directly by using the `+ADD A NEW STEP` button on the left.\r\nSecondly because Dataiku DSS infers meanings for each column, it suggests relevant actions in many cases. In the example below although the column is stored in Snowflake as a String Dataiku DSS recognizes it as a date format so infers a `Date(unparsed)` meaning and suggests the `Parse Date` processor, by selecting the `More actions` menu item further suggestions are made.\r\n\r\n![46](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_prepare_overview2.png)\r\n\r\n\r\n\u003E aside negative\r\n\u003E \r\n\u003E  **Note about shortcuts** \u003Cbr\u003E When navigating Dataiku DSS, there are many keyboard short-cuts, one of the most useful when working with the explore tab is the `scroll to column`, simply  click `c ` on your keyboard. \r\n\r\n\r\nLet's try using processors with both methods, firstly via the suggested actions:\r\n* Click on the `EARLIEST_CR_LINE` column header and from the dropdown, `select Parse date`\r\n\r\n* In `Add a custom format` set the format to `d-MMM-yyyy` and click on `USE DATE FORMAT`\r\n\r\n* A step is generated on the left. Change the `Locale` to `en_US`\r\n\r\n![46](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_18_800_parse_date.jpg)\r\n\r\n\r\n![47](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_19_800_date_format.jpg)\r\n\r\n\r\n![48](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_20_800_parse_en.jpg)\r\n\r\n\r\n* Click on the newly created column (click outside the step to action the change) and select `Compute time since`\r\n\r\n* Change `Until` to `Another Date Column` and add **ISSUE_DATE_PARSED** as that column.\r\n\r\n* Change the unit to `Years` and name the new column `since_Earliest_CR_LINE_years`\r\n\r\n\r\n![48](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_21_800_compute_time_since.jpg)\r\n\r\nNow we have our desired feature we can remove the two date columns.\r\n\r\n* Click on `EARLIEST_CR_LINE` and select `delete`, do the same for `EARLIEST_CR_LINE_parsed` and `ISSUE_DATE_PARSED`.\r\n\r\n![48a](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_prepared_actual_deletion.png)\r\n\r\n\r\n\r\nYour script steps should now look like this:\r\n\r\n\r\n![49](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_prepared_deletion.png)\r\n\r\n\r\n\r\nOptionally you can place the three date transformation script steps into their own group with comments to make it simple for a colleague to follow everything you have done. \r\nLet’s turn our attention to the `INT_RATE` column. The interest rate is likely to be a powerful predictive feature when modeling credit defaults but currently its stored as a string:\r\n\r\n* Click on the `+ADD A NEW STEP` button at the bottom of your script steps.\r\n* Select the `Find and Replace` processor either by looking in the `Strings` menu or using the search function.\r\n\r\n![50](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_23b_replace.png)\r\n\r\n* Select `INT_RATE` as the column then click `+ADD REPLACEMENT` and `replace % with a blank value`. Ensure the `Matching Mode` dropdown is set to `Substring`\r\n\r\n![50a](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_23c_replace_sub.png)\r\n\r\n\r\n\r\nOur `INT_RATE` column has some suspiciously high values. Let’s use the Analyze tool again and see how it can be used to take certain actions in a Prepare recipe\r\n\r\n* Click on the `INT_RATE` column header dropdown, select `Analyze`.\r\n* In the Outliers section, choose `Remove rows outside 1.5 IQR` from the menu then close the `Analyze` window.\r\n\r\n![52](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_25_800_outliers.jpg)\r\n\r\nFinally lets take a look at our `DTI` column which is a ratio of the borrower’s total monthly debt payments on the total debt obligations divided by the borrower’s self-reported monthly income. \r\n\r\n* Click on the `DTI` column header and select `Analyze`\r\n\r\n\r\n\r\n![52](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dku_prep_dti.png)\r\n\r\nWe can see that there are a very small number of missing rows. We're going to perform some calculations using this column in our next lab section so lets fix that now.\r\n\r\n* Select the `top` actions menu and select `Remove rows where DTI is empty`\r\n* Close your `Analyze` window \r\n\r\nYour final series of steps should look like this\r\n\r\n![52](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_prepared_final.png)\r\n\r\n\r\n\r\n\r\n\r\nAs before you can optionally group and comment your transformation steps. \r\n* `SAVE` your recipe, ensure `In-database (SQL)` engine is selected and then click `RUN`\r\n\r\n\r\n\u003C!-- ------------------------ --\u003E\r\n## Feature Engineering with Code Recipes & Snowpark\r\n\r\n\r\nDataiku DSS integrates with `Snowpark for Python` allowing coders to take advantage all the benefits of Snowflake whilst collaborating alongside their no/low-code colleagues on projects to accelerate time to value in DSS, their end-to-end, governed AI lifecycle platform.\r\n\r\nWhen using Dataiku's SaaS option from Partner Connect the setup is done for us automatically. Let's check that.\r\n\r\nReturn to your browser tab with `Dataiku Launchpad` open (if you have shut this just go to [Launchpad](https://launchpad-dku.app.dataiku.io/).\r\n\r\n\r\n`Select` the `Features` menu\r\n![64](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_spk1.png)\r\n\r\n\r\n\r\nYour Snowpark extension is now ready to use.\r\n![64](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_spk6.png)\r\n\r\n\r\n\r\n\r\n**A Note on Code Environments:**  Dataiku uses the concept of code environments to address the problem of managing dependencies and versions when writing code in R and Python. Code environments provide a number of benefits such as **Isolation and Reproducibility** of results\r\n\r\nWhen using Snowpark for Python from Dataiku DSS you will use a code environment that includes the Snowpark library as well as other packages you wish to use. In our lab, to make things easy, we are using a default Snowpark code environment which just contains just the minimum required libraries but once you have completed the lab and wish to explore further you can create your own code environments.\r\n\r\n\r\nIn addition to selecting an appropriate code environment there are just a couple of extra lines of code to add to your DSS recipe to start using Snowpark for Python.\r\n\r\nLets take a look at a simple example.\r\n\r\nFirstly you need to add the following line to your imports:\r\n\r\n\r\n```\r\nfrom dataiku.snowpark import DkuSnowpark\r\n```\r\n\r\nThen read the inputs, instantiate Snowpark, get the dataframe, write your code then write your output.\r\n\r\n\r\n```\r\n# Read recipe inputs\r\ninput_dataset = dataiku.Dataset(\"my_input_dataset\")\r\n\r\n# get input dataset as snowpark dataframe\r\ndku_snowpark = DkuSnowpark()\r\nsnowdf = dku_snowpark.get_dataframe(input_dataset)\r\n\r\n# ALL YOUR CODE HERE\r\n\r\n# get output dataset\r\nOUTPUT_DATASET = dataiku.Dataset(\"my_output_dataset\")\r\n\r\n# write input dataframe to output dataset\r\ndku_snowpark.write_with_schema(OUTPUT_DATASET,snowdf)\r\n```\r\n\r\n\r\n\r\nWe have an example Jupyter notebook to help you get started. Download the notebook from the S3 bucket to a local drive then we will upload to DSS (Note: You would typically use the Git integrations in DSS for managing team notebooks developed outside of DSS).\r\n\r\n\r\n \u003Cbutton\u003E[Snowpark_Jupyter_notebook.ipynb](https://snowflake-corp-se-workshop.s3.us-west-1.amazonaws.com/Summit_Snowflake_Dataiku/src/Loans_FE_Snowpark.ipynb)\u003C/button\u003E\r\n\r\nEither `select notebooks` from the menu or use the `G+N` keyboard shortcut. Select to `upload` your notebook, `choose the file` and `click upload`.\r\n\r\n\r\n\r\n![66](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_snowpark_2.png)\r\n\r\n\r\n\r\n\r\n![67](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_snowpark_3.png)\r\n\r\n\r\n\r\n\r\n\r\n\r\nHere is the notebook we imported, click `create recipe`\r\n\r\n\r\n![65](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dku_spk_recipe1b.png)\r\n\r\nselect `Python recipe` and click `ok ` \r\n\r\n![66](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dku_spk_recipe2.png)\r\n\r\n\r\nFor the input dataset we will select `LOANS_ENRICHED_joined_prepared` and for the output dataset type `LOANS_FE` and then click `Create recipe`\r\n\r\n![67](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dku_spk_recipe3b.png)\r\n\r\nYou now have the notebook set up with correct input and output datasets in our flow. You can either use the default code editor or jupyter notebook. We will work on jupyter notebook. `Click edit in notebook`\r\n\r\n\r\n\r\n![68](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dku_spk_recipe4b.png)\r\n\r\nEnsure your Jupyter notebook is using the `snowpark` kernel, if not change it from the `Change Kernel` menu\r\n\r\n\r\n![68](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_snowpark_4b.png)\r\n\r\n\r\nTest running your cells (note the code assumes the dataset names specified above. If you have changed any input or output dataset names be sure and make those updates in the code).\r\n\r\nFeel free to add you own code and experiment, when you are done click `SAVE BACK TO RECIPE`.\r\n\r\nFrom the default Code Editor lets check apply the correct code environment. Click on `Advanced` and then select a Snowpark code environment from the dropdown (Note: Your available code environments may differ from the screenshot)\r\n\r\n![68a](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dku_snowpark_9.png)\r\n\r\n![68b](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dku_snowpark_10.png)\r\n\r\n\r\n Return to the `Code` screen and click the `Run` button to execute the recipe using Snowpark and to generate the output dataset in the flow.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\u003C!-- ------------------------ --\u003E\r\n## Training \r\n\r\nHaving sufficiently explored and prepared the loans and employment data, the next stage of the AI lifecycle is to experiment with machine learning models.\r\n\r\nThis experimentation stage encompasses two key phases: model building and model assessment.\r\n\r\n`Model building`: Users have full control over the choice and design of a model — its features, algorithms, hyperparameters and more.\r\n\r\n`Model assessment`: Tools such as visualizations and statistical summaries allow users to compare model performance.\r\n\r\nThese two phases work in tandem to realize the idea of Responsible AI. Either through a visual interface or code, building models with DSS can be transparently done in an automated fashion. At the same time, the model assessment tools provide a window into ensuring the model is not a black box.\r\n\r\nBefore building our model first we will split our output dataset from our python step.\r\n\r\nThis is how your flow should look like before splitting\r\n![54](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_flow_postpy.png)\r\n\r\n\r\n* Return to the flow and select the output dataset ```LOANS_FE``` of the python recipe and then select  the `Split` recipe from the `Actions` menu.\r\n\r\n* Add two datasets named `LOANS_TRAIN` and `LOANS_TEST` (leave `Store into` as the default for both) and click `CREATE RECIPE`\r\n\r\n\r\n![55](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_split.png)\r\n\r\n\r\n\r\n\r\n* Choose `Dispatch percentiles of sorted data` as the splitting strategy \r\n\r\n\r\n\r\n![55a](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_split3.png)\r\n\r\n* `LOAN_ID` as the column to split on, `70 & 30 ` split for Train and Test data. `Click run`\r\n\r\n![56](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_split2.png)\r\n\r\n\r\n\r\n\r\n* Return to the flow and select the `LOANS_TRAIN` dataset and click the `LAB` button in the Actions menu\r\n\r\n* Select `AutoML Prediction` (aka supervised machine learning) and set `LOAN_STATUS` as the target and leave the default template of `Quick Prototypes` then click `CREATE`\r\n\r\n![57](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_30_1100_lab_button.jpg)\r\n\r\n\r\n![58](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_31_1100_lab_options.jpg)\r\n\r\n\r\nWhen building a visual model, users can choose a template instructing DSS to prioritize considerations like speed, performance, and interpretability. Having decided on the basic type of machine learning task, you retain full freedom to adjust the default settings chosen by DSS before training any models. These options include the metric for which to optimize, what features to include, and what algorithms should be tested etc.\r\n\r\nLets take a look at the settings from the template.\r\n\r\n* Click on `DESIGN` at the top of the page.\r\n\r\n![58](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_ml_1.png)\r\n\r\nOn the left side we can view/adjust the various settings for our current experiment. We don't have time in todays lab to cover all the options but here is a brief outline of a few we will use in the lab:\r\n\r\n**TRAIN/TEST SET** - When training a model, it is important to test the performance of the model on a “test set”. During the training phase, DSS “holds out” on the test set, and the model is only trained on the train set. In this section you can adjust the strategy.\r\n\r\n**DEBUGGING** - ML Diagnostics are designed to identify and help troubleshoot potential problems and suggest possible improvements at different stages of training and building machine learning models.\r\n\r\n**FEATURES HANDLING** - We can allow Dataiku DSS to automatically choose the features included in our model, or we can manually select which features we want to include when our model is trained and how we handle the feature types. \r\n\r\n**ALGORITHMS** - DSS natively supports algorithms that can be used to train predictive models depending on the machine learning task: Clustering or Prediction (Classification or Regression). We can also choose to use our own machine learning algorithm, by adding a custom Python model. In our case we are using the algorithms based on the Scikit-Learn, LightGBM and XGBoost ML libraries.\r\n\r\n\r\nLet's use the defaults the template has set.\r\n\r\n* Click on the `TRAIN` button to start the experiment.\r\n\r\n![58](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_ml_train.png)\r\n\r\n![58](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_ml_train3.png)\r\n\r\nThe `RESULTS` pane in DSS provides a single interface to compare performance in terms of sessions or models, making it easy to find the best performing model for the chosen metric.\r\n\r\nIn the `RESULTS` screen we can see the output of our first experiment. DSS displays a graph of the evolution of the best cross-validation scores found so far. Hovering over one of the points, we can see the evolution of the hyperparameter values that yielded an improvement. In the right part of the charts, we can see final test scores.\r\n\r\n\r\nWe can also see that some `Diagnostics` checks have been flagged.\r\n\r\n* `Hover over` the `Diagnostics` to see what the guardrails have found.\r\n\r\n**Imp Note : Your results may vary from the screen shots below.**\r\n\r\n![58](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_train1.png)\r\n\r\nHere we can see there a number of potential issues DSS has identified for us. It seems we have an imbalanced dataset which is leading to the model almost always predicting class 1 (that there will be no default on the loan).\r\n\r\nWe can see this in our distribution.\r\n\r\n* Go back to the `DESIGN` menu and choose `Features handling` and our target variable `LOAN_STATUS`\r\n\r\n![58](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_ml_target1.png)\r\n\r\nHere we can see that our loan defaults only make 4% of the dataset. So even if our model erroneously predicted that no loan would ever default it would still be correct 96% of the time for this imbalanced dataset! This is a common issue in certain types of classification problems such as credit card fraud, identifying rare diseases or, as in our case, loan defaults.\r\n\r\nAlthough this a common problem in machine learning it is not one that is always easy to solve. Fortunately DSS has a number of ways to help such as weighting strategies, class rebalance sampling, Algorithm selection and more. Let's look at a couple of these techniques.\r\n\r\nFirstly we can a look at class rebalance.\r\n\r\n* Go to the `Train/Test Set` and from the `Sampling method` dropdown select `Class rebalance (approx. ratio)`\r\n* Set the percentage to 20% and the Column as our target **LOAN_STATUS**\r\n\r\n![58](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_train2.png)\r\n\r\nLets also change the algorithms we are using as logistic regression and tree-based algos tend not to perform as well with imbalanced datasets. Let's look at some of our boosting algos.\r\n\r\n* Go to `Algorithms` and deselect `Logistic Regression` and `Random Forest` and then select `XGBoost` and `LightGBM` (Note: you can select many more algo's but be aware it may take longer depending on your runtime setup)\r\n\r\n![58](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_ml_algoboost.png)\r\n\r\n\r\n* `Save` your settings and then click `TRAIN`\r\n\r\nAs you can see on our results page we saw an improvement in our score and addressed our imbalance issue. The diagnostics warn us the test set might be too small now but we have a much larger dataset available to us from the LendingClub if we want to use it.\r\n\r\n![58](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_train3.png)\r\n\r\n\r\n## Evaluate a Model \r\n\r\nAfter having trained as many models as desired, DSS offers tools for full training management to track and compare model performance across different algorithms. DSS also makes it easy to update models as new data becomes available and to monitor performance across sessions over time.\r\n\r\n* We can directly compare models from different experiments by selecting them via the `checkbox` and then selecting `Compare` from the `ACTIONS` menu.\r\n\r\n![58](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_train4.png)\r\n\r\n* Make sure `Create a new comparison` and then click `compare`\r\n\r\n![58](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_model_compare.png)\r\n\r\nWe can compare across our experiments, saved models and evaluations from a DSS evaluation store (not part of this lab). You can set a champion and compare to challengers.\r\n\r\n* Explore some of the options. When you are done `click` on the `model name` of your best performing model from the `Summary` menu.\r\n\r\n![58](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_model_eval2.png)\r\n\r\nClicking on any model produces a full report of tables and visualizations of performance against a range of different possible metrics.\r\n\r\n* Step through the various graphs and interactive charts to better understand your model. \r\n* For example `Subpopulations Analysis` allows you to identify potential bias in your model by seeing how it performs across different sub-groups\r\n* `Interactive Scoring` allows you to run real time `“what-if” analysis` to understand the impact of given features\r\n\r\n![60](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_33_1100_subpop.jpg)\r\n\r\n\r\nHere we can see `Variable importance` \r\n\r\n\r\n![61](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_35_1100_variable_imp.jpg)\r\n\r\n\r\n\u003C!-- ------------------------ --\u003E\r\n## Deployment  \r\n\r\nAfter experimenting with a range of models built on historic training data, the next stage is to deploy our chosen model to score new, unseen records. \r\n\r\nFor many AI applications, batch scoring, where new data is collected over some period of time before being passed to the model, is the most effective scoring pattern. \r\nDeploying a model creates a “saved” model in the Flow, together with its lineage. A saved model is the output of a Training recipe which takes as input the original training data used while designing the model.\r\n\r\n* Click on `DEPLOY`, accept the default model name and click `CREATE`\r\n\r\n![61](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/df_deploy2.png)\r\n\r\nYour flow should now look like this:\r\n\r\n![61](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_flow_model.png)\r\n\r\n\r\n\u003C!-- ------------------------ --\u003E\r\n## Scoring  \r\n\r\n\r\n* From your `Flow` select the `newly deployed model` (Green diamond) and the `Score` recipe from the `actions menu`\r\n\r\n![62](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_score1.png)\r\n\r\n* Select your `LOANS_TEST` from the `Input dataset dropdown`. Leave the `Name` and `Store into` for the output as the defaults and click `CREATE RECIPE`\r\n\r\n\r\n![62](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_score2.png)\r\n\r\n* Ensure `In-Database (Snowflake native)` is selected as the engine in order to use the Java UDF capability then click `RUN'\r\n\r\n\r\n![62](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_37_1200_score.jpg)\r\n\r\nYour final project flow should now look like this.\r\n\r\n![62](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_final_flow.png)\r\n\r\nWe can now We can see the results back on the Snowflake tab. If you hit the refresh icon near the top left of our screen by your databases, you should see the `CREDIT_SCORING_LOANS_TEST_SCORED` table that was created once we kicked off our prediction job. \r\n\r\n`Preview Data` will give you glimpse of additional column added to the list.\r\n\r\n```\r\n\r\nUSE ROLE SYSADMIN;\r\nUSE DATABASE PC_DATAIKU_DB;\r\nUSE WAREHOUSE PC_DATAIKU_WH;\r\nSELECT * \r\nFROM LOANS_TEST_SCORED_CREDITSCORING_1 \r\nLIMIT 10;\r\n\r\n```\r\n\r\n\r\n![62](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_score_results.png)\r\n\r\nAdditional info \r\n\r\n```\r\nSELECT \r\n EMP_TITLE ,\r\n SUM(CASE WHEN \"prediction\" = 'ok' THEN 1 ELSE 0 END) AS prediction_yes,\r\n SUM(CASE WHEN \"prediction\" = 'incident' THEN 1 ELSE 0 END) AS prediction_no\r\n FROM LOANS_TEST_SCORED_CREDITSCORING_1 \r\nGROUP BY \r\n EMP_TITLE \r\norder by prediction_yes DESC;\r\n\r\n```\r\n\r\n\r\n\u003C!-- ------------------------ --\u003E\r\n## Conclusion and Next Steps  \r\n\r\nCongratulations  you have now successfully built,  deployed and scored your model results back to Snowflake. Your final flow should look like this.\r\n\r\n![63](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/dk_final_flow2.png)\r\n\r\n**What we have covered**\r\n\r\n- Worked in Explored Snowflake interface\r\n\r\n- Investigated Snowflake Marketplace\r\n\r\n- Explored and transformed the data in Dataiku using visual tools understanding how to leverage Snowflake for both storage and compute\r\n\r\n- Transformed the data using Python code (optionally using Snowpark)\r\n\r\n- Built and refined an ML model\r\n\r\n- Scored back results using Java UDF to Snowflake for further analysis\r\n\r\n**Related Resources**\r\n\r\n[SnowFlake University](http://https://community.snowflake.com/s/snowflake-university)\r\n\r\n[Dataiku Academy](https://academy.dataiku.com/)\r\n\r\n\r\n\u003C!-- ------------------------ --\u003E\r\n## Appendix  \r\n\r\n\r\n**To enable the anaconda libraries on snowflake account**\r\n\r\n1.Create a new trial account on https://signup.snowflake.com\r\n\r\n2.Login\r\n\r\n3.Switch to ORGADMIN role\r\n\r\n4.Go into Admin » Billing\r\n\r\n5.Click on Terms & Billing, and enable Anaconda terms.\r\n\r\n![73](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/end-to-end-machine-learning-with-dataiku/sf_anaconda1.png)","multiValue":false,":type":"text/x-markdown"},"quickstartArticleLogoImage":{"dataType":"string","title":"Quickstart Article Logo Image","multiValue":false,":type":"text/plain"}},"elementsOrder":["quickstartArticleBody","quickstartArticleLogoImage"],":type":"snowflake-site/components/contentfragment",":items":{},":itemsOrder":[],"isDeveloperGuidesPage":false,"model":"snowflake-site/models/quickstart-article"},"flexible_column_cont":{"id":"flexible-column-container-dea34425d5","type":"2-column-75-25","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"none","bottomPadding":"none","spaceBetween":"none","reverseOnMobile":false,"carouselOnMobile":false,"backgroundImageOption":"none","flexible_column_content_container_1":{"layout":"SIMPLE","id":"container-1965dd94e5",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"quickstart_last_modi":{"id":"quickstart-last-modified-21a1bc82b5","icon":{"id":"icon","icon":"calendar",":type":"snowflake-site/components/icon","appliedCssClassNames":"snowflake-icon-blue"},"lastModifiedDatePrefix":"Updated","lastModifiedDate":"2024-05-01",":type":"snowflake-site/components/quickstart/quickstart-last-modified","appliedCssClassNames":"snowflake-responsive-component-top-padding-small"},"text":{"id":"text-87eacd7161","additionalClasses":"qs-disclaimer-text","text":"\u003Cp\u003E\u003Cspan style=\"color: #666;\"\u003EThis content is provided as is, and is not maintained on an ongoing basis. It may be out of date with current Snowflake instances\u003C/span\u003E\u003C/p\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"snowflake-responsive-component-top-padding-small"}},":itemsOrder":["quickstart_last_modi","text"]},"flexible_column_content_container_2":{"layout":"SIMPLE","id":"container-ba91497ada",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{},":itemsOrder":[]},"isBlogPage":false,":type":"snowflake-site/components/flexible-column-container","isActiveTOC":false}},":itemsOrder":["contentfragment","flexible_column_cont"]},"flexible_column_content_container_2":{"layout":"SIMPLE","id":"container-6b3eff6d84",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"quickstart_table_of_":{"layout":"SIMPLE","id":"container-2bc5ed2f95","isDeveloperGuidesPage":false,":type":"snowflake-site/components/quickstart/quickstart-table-of-content/quickstart-table-of-content-container",":items":{"quickstart_table_of_":{"id":"quickstart-table-of-content-4657709757","fragmentPath":"/content/dam/snowflake-site/en/content-fragments/quickstarts/end-to-end-machine-learning-with-dataiku",":type":"snowflake-site/components/quickstart/quickstart-table-of-content","headings":["\u003Ch2\u003EOverview\u003C/h2\u003E","\u003Ch2\u003ESetting up Snowflake\u003C/h2\u003E","\u003Ch2\u003ELogging in Snowflake\u003C/h2\u003E","\u003Ch2\u003ELoad data in Snowflake\u003C/h2\u003E","\u003Ch2\u003EConnect Dataiku with Snowflake\u003C/h2\u003E","\u003Ch2\u003EDatabase for Machine Learning\u003C/h2\u003E","\u003Ch2\u003EGetting Started with a Dataiku Project\u003C/h2\u003E","\u003Ch2\u003EData Import, Analysis & Join\u003C/h2\u003E","\u003Ch2\u003EPrepare the Data\u003C/h2\u003E","\u003Ch2\u003EFeature Engineering with Code Recipes & Snowpark\u003C/h2\u003E","\u003Ch2\u003ETraining\u003C/h2\u003E","\u003Ch2\u003EEvaluate a Model\u003C/h2\u003E","\u003Ch2\u003EDeployment\u003C/h2\u003E","\u003Ch2\u003EScoring\u003C/h2\u003E","\u003Ch2\u003EConclusion and Next Steps\u003C/h2\u003E","\u003Ch2\u003EAppendix\u003C/h2\u003E"]},"quickstart_button":{"id":"quickstart-button-3e3ad0fe0d","fragmentPath":"/content/dam/snowflake-site/en/content-fragments/quickstarts/end-to-end-machine-learning-with-dataiku",":type":"snowflake-site/components/quickstart/quickstart-button","appliedCssClassNames":"snowflake-responsive-component-top-padding-none"}},":itemsOrder":["quickstart_table_of_","quickstart_button"]}},":itemsOrder":["quickstart_table_of_"]},"isBlogPage":false,":type":"snowflake-site/components/flexible-column-container","isActiveTOC":false},"markup_editor":{"id":"markup-editor-e28b0c48d0","title":"Page CSS","cssContent":"#quickstart-template-main-flexible-container{padding:24px}#quickstart-template-main-flexible-container \u003E .snowflake-flexible-column-container-items{grid-template-columns:1fr 0}.qs-disclaimer-text p \u003E span{font-size:15px !important}@media (min-width:768px){#quickstart-template-main-flexible-container{padding:24px 32px}#quickstart-template-main-flexible-container \u003E .snowflake-flexible-column-container-items{grid-template-columns:7fr 3fr;gap:48px}}@media (max-width:767px){#quickstart-template-main-flexible-container \u003E .snowflake-flexible-column-container-items{gap:0}}@media (min-width:1024px){#quickstart-template-main-flexible-container{padding:0 92px 48px 92px}#quickstart-template-main-flexible-container \u003E .snowflake-flexible-column-container-items{gap:117px}}","isGSAPEnabled":false,":type":"snowflake-site/components/markup-editor"}},":itemsOrder":["quickstart_hero","flexible_column_cont","markup_editor"],":type":"wcm/foundation/components/responsivegrid"},"modal_container":{"layout":"SIMPLE","id":"container-5c417a6633",":type":"snowflake-site/components/modal/modal-container",":items":{},":itemsOrder":[]},"experiencefragment-footer":{"id":"experiencefragment-5c74742f3f","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/footer/master/jcr:content","configured":true,":type":"snowflake-site/components/experiencefragment",":items":{"root":{"additionalClasses":"sf-footer","layout":"SIMPLE","id":"container-8fae5ae990",":type":"snowflake-site/components/container",":items":{"container_copy":{"additionalClasses":"sf-footer__inner","columnClassNames":{"flexible_column_cont":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-09d5dc88e7",":type":"snowflake-site/components/container","appliedCssClassNames":"snowflake-container snowflake-responsive-container-inner-padding-small",":items":{"flexible_column_cont":{"id":"flexible-column-container-cdb36e5eba","type":"1-column","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"medium","bottomPadding":"extra-small","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"propertiesCSSClasses":"sf-footer-grid","backgroundImageOption":"none","flexible_column_content_container_1":{"layout":"SIMPLE","id":"container-5277a675e3",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"container":{"additionalClasses":"sf-footer-grid__inner","columnClassNames":{"container":"aem-GridColumn aem-GridColumn--default--12","container_1622723482":"aem-GridColumn aem-GridColumn--default--12","container_copy_copy_":"aem-GridColumn aem-GridColumn--default--12","container_copy_copy":"aem-GridColumn aem-GridColumn--default--12","container_copy":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-ec20a8c76f",":type":"snowflake-site/components/container","appliedCssClassNames":"snowflake-responsive-container-inner-padding-small",":items":{"container_1622723482":{"additionalClasses":"sf-footer__column","columnClassNames":{"container":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-d79e83fae3",":type":"snowflake-site/components/container","appliedCssClassNames":"snowflake-responsive-container-inner-padding-small",":items":{"container":{"additionalClasses":"sf-footer__newsletter-group","columnClassNames":{"text":"aem-GridColumn aem-GridColumn--default--12","marketo_v2":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-ff387ada9a",":type":"snowflake-site/components/container","appliedCssClassNames":"snowflake-responsive-container-inner-padding-small",":items":{"text":{"id":"text-8bea6abe75","additionalClasses":"sf-footer__newsletter-title","text":"\u003Cp\u003E\u003Cb\u003ESubscribe to our monthly newsletter\u003C/b\u003E\u003C/p\u003E\r\n\u003Cp\u003EStay up to date on Snowflake’s latest products, expert insights and resources—right in your inbox!\u003C/p\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-regular text-color-text-04"},"marketo_v2":{"id":"marketo-v2-3594041fd2","marketoForm":{"edit":false,"successUrl":null,"formId":"45871","hidden":null,"script":null,"values":null},"serverInstance":"252-RFO-227.mktoweb.com","munchkinId":"252-RFO-227","marketoConfigured":true,"formConfigured":true,":type":"snowflake-site/components/form/marketo-v2"}},":itemsOrder":["text","marketo_v2"]}},":itemsOrder":["container"]},"container":{"columnClassNames":{"text_copy":"aem-GridColumn aem-GridColumn--default--12","text":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-80d58df5f6",":type":"snowflake-site/components/container","appliedCssClassNames":"snowflake-responsive-container-inner-padding-medium",":items":{"text":{"id":"text-153f16dd9f","additionalClasses":"sf-footer__link-group","text":"\u003Cp class=\"sf-footer__column-title\"\u003EProduct\u003C/p\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/product/platform/\"\u003EPlatform\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/product/snowflake-cowork/\"\u003ESnowflake CoWork\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/product/data-engineering/\"\u003EData Engineering\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/product/analytics/\"\u003EAnalytics\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/product/ai/\"\u003EAI\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/product/applications-and-collaboration/\"\u003EApplications &amp; Collaboration\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/pricing-options/\"\u003EPricing\u003C/a\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-small text-color-text-04"},"text_copy":{"id":"text-baba9b907c","additionalClasses":"sf-footer__link-group","text":"\u003Cp class=\"sf-footer__column-title\"\u003ESupport\u003C/p\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/support/\"\u003ESupport\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/legal/addenda/priority-support-services-description/\"\u003EPriority Support\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://status.snowflake.com/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003EStatus\u003C/a\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-small text-color-text-04"}},":itemsOrder":["text","text_copy"]},"container_copy_copy":{"columnClassNames":{"text":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-f3d393995b",":type":"snowflake-site/components/container","appliedCssClassNames":"snowflake-responsive-container-inner-padding-small",":items":{"text":{"id":"text-21259bfdb5","additionalClasses":"sf-footer__link-group","text":"\u003Cp class=\"sf-footer__column-title\"\u003E\u003Ca href=\"/en/solutions/industries/\"\u003EIndustries\u003C/a\u003E\u003C/p\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/solutions/industries/advertising-media-entertainment/\"\u003EAdvertising, Media &amp; Entertainment\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/solutions/industries/financial-services/\"\u003EFinancial Services\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/solutions/industries/healthcare-and-life-sciences/\"\u003EHealthcare &amp; Life Sciences\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/solutions/industries/manufacturing/\"\u003EManufacturing\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/solutions/industries/public-sector/\"\u003EPublic Sector\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/solutions/industries/retail-consumer-goods/\"\u003ERetail &amp; Consumer Goods\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/solutions/industries/telecom/\"\u003ETelecom\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/solutions/industries/technology/\"\u003ETechnology\u003C/a\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-small text-color-text-04"}},":itemsOrder":["text"]},"container_copy":{"columnClassNames":{"text":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-a1e364e76b",":type":"snowflake-site/components/container","appliedCssClassNames":"snowflake-responsive-container-inner-padding-small",":items":{"text":{"id":"text-363fc4cf80","additionalClasses":"sf-footer__link-group","text":"\u003Cp class=\"sf-footer__column-title\"\u003ECompany\u003C/p\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/company/overview/about-snowflake/\"\u003EAbout Snowflake\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/company/overview/leadership-and-board/\"\u003ELeadership &amp; Board\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://careers.snowflake.com/us/en\" target=\"_blank\" rel=\"noopener noreferrer\"\u003ECareers\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://investors.snowflake.com/overview/default.aspx\" target=\"_blank\" rel=\"noopener noreferrer\"\u003EInvestor Relations\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://trust.snowflake.com/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003ETrust Center\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/brand-guidelines/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003EBrand Guidelines\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/contact/\"\u003EContact\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/news/\"\u003ENewsroom\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/company/overview/esg/\"\u003EEnvironmental, Social &amp; Governance\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/company/overview/snowflake-ventures/\"\u003ESnowflake Ventures\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/company/overview/end-data-disparity/\"\u003EEnd Data Disparity\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/summit/\"\u003ESnowflake Summit 26\u003C/a\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-small text-color-text-04"}},":itemsOrder":["text"]},"container_copy_copy_":{"columnClassNames":{"text":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-261548b230",":type":"snowflake-site/components/container","appliedCssClassNames":"snowflake-responsive-container-inner-padding-small",":items":{"text":{"id":"text-fff5a0d860","additionalClasses":"sf-footer__link-group","text":"\u003Cp class=\"sf-footer__column-title\"\u003ELearn\u003C/p\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://snowflake.com/en/resources/\"\u003EResource Library\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/webinars/demo/\"\u003ELive Demos\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/fundamentals/\"\u003EFundamentals\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/resources/learn/training/\"\u003ETraining\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/resources/learn/certifications/\"\u003ECertifications\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca rel=\"noopener noreferrer\" target=\"_blank\" href=\"https://learn.snowflake.com/en/\"\u003ESnowflake University\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/developers/guides\"\u003EDeveloper Guides\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca rel=\"noopener noreferrer\" target=\"_blank\" href=\"https://docs.snowflake.com/\"\u003EDocumentation\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/data-governance/\"\u003EData Governance\u003C/a\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-small text-color-text-04"}},":itemsOrder":["text"]}},":itemsOrder":["container_1622723482","container","container_copy_copy","container_copy","container_copy_copy_"]}},":itemsOrder":["container"]},"isBlogPage":false,":type":"snowflake-site/components/flexible-column-container","isActiveTOC":false}},":itemsOrder":["flexible_column_cont"]},"container_573483281_":{"additionalClasses":"sf-footer__bottom","columnClassNames":{"container_112062425":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-3e98ebdf1a",":type":"snowflake-site/components/container","appliedCssClassNames":"snowflake-responsive-container-inner-padding-none",":items":{"container_112062425":{"columnClassNames":{"flexible_column_cont":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-68db9d17c4",":type":"snowflake-site/components/container","appliedCssClassNames":"snowflake-container snowflake-responsive-container-inner-padding-small",":items":{"flexible_column_cont":{"id":"flexible-column-container-3c4dab56b7","type":"1-column","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"none","bottomPadding":"none","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"backgroundImageOption":"none","flexible_column_content_container_1":{"layout":"SIMPLE","id":"container-6022d43a2a",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"container":{"additionalClasses":"sf-footer__legal-container","columnClassNames":{"container":"aem-GridColumn aem-GridColumn--default--12","text_copy_copy_16360":"aem-GridColumn aem-GridColumn--default--12","markup_editor":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-585558a561",":type":"snowflake-site/components/container","appliedCssClassNames":"snowflake-responsive-container-inner-padding-none",":items":{"container":{"columnClassNames":{"image":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-825858eff2",":type":"snowflake-site/components/container","appliedCssClassNames":"snowflake-responsive-container-inner-padding-extra-small",":items":{"image":{"id":"image-863caa69d9","additionalClasses":"sf-footer__logo","lazyEnabled":true,"src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/footer/master/_jcr_content/root/container_573483281_/container_112062425/flexible_column_cont/flexible_column_content_container_1/container/container/image.coreimg.svg/1747882370694/nav-icon-snowflake-bug.svg","alt":"Snowflake logo","imageLink":{"valid":true,"url":"/en/"},":type":"snowflake-site/components/image"}},":itemsOrder":["image"]},"text_copy_copy_16360":{"id":"text-8d397e1b61","additionalClasses":"sf-footer__legal-links","text":"\u003Cul\u003E\r\n\u003Cli\u003E© 2026 Snowflake Inc. All Rights Reserved\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/legal/privacy/privacy-policy/\"\u003EPrivacy Policy\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://snowflake.com/en/legal/snowflake-site-terms/\"\u003ESite Terms\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://info.snowflake.com/Preference-center.html\"\u003ECommunication Preferences\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Cbutton id=\"ot-sdk-btn\" class=\"ot-sdk-show-settings\"\u003ECookie Settings\u003C/button\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/legal/privacy/privacy-policy/#12\"\u003EDo Not Share My Personal Information\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/legal/\"\u003ELegal\u003C/a\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-small text-color-text-04"},"markup_editor":{"id":"markup-editor-fc5e8d1fe3","title":" ","htmlContent":"\u003Cdiv class=\"sf-footer__social\"\u003E\r\n\u003Cdiv data-testid=\"snowflake-footer-twitter\" class=\"snowflake-button-icon snowflake-button-white snowflake-footer-social-item\"\u003E\u003Cdiv class=\"snowflake-button-icon \"\u003E\u003Ca href=\"https://x.com/Snowflake\" data-testid=\"button-external\" aria-label=\"X (Twitter)\" role=\"button\" class=\"snowflake-button-container\" title=\"X (Twitter)\" tabindex=\"0\" target=\"_blank\" rel=\"noreferrer\"\u003E\u003Cdiv data-testid=\"button-icon-wrapper\"\u003E\u003Csvg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 59 53\" class=\"button-icon\"\u003E\u003Cpath fill=\"currentColor\" d=\"M46.614 0h9.044L35.8 22.49 59 53H40.795L26.54 34.46 10.223 53H1.18l21.036-24.055L0 0h18.657l12.878 16.937zM43.45 47.72h5.013L16.023 5.085h-5.387z\"\u003E\u003C/path\u003E\u003C/svg\u003E\u003C/div\u003E\u003C/a\u003E\u003Cdiv\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E\u003Cdiv data-testid=\"snowflake-footer-linkedin\" class=\"snowflake-button-icon snowflake-button-white snowflake-footer-social-item\"\u003E\u003Cdiv class=\"snowflake-button-icon \"\u003E\u003Ca href=\"https://www.linkedin.com/company/3653845\" data-testid=\"button-external\" aria-label=\"LinkedIn\" role=\"button\" class=\"snowflake-button-container\" title=\"LinkedIn\" tabindex=\"0\" target=\"_blank\" rel=\"noreferrer\"\u003E\u003Cdiv data-testid=\"button-icon-wrapper\"\u003E\u003Csvg xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" viewBox=\"0 0 24 24\" class=\"button-icon\"\u003E\u003Cpath d=\"M22.223 0H1.772C.792 0 0 .773 0 1.73v20.536C0 23.222.792 24 1.772 24h20.451c.98 0 1.777-.778 1.777-1.73V1.73C24 .773 23.203 0 22.223 0ZM7.12 20.452H3.558V8.995H7.12v11.457ZM5.34 7.434a2.064 2.064 0 1 1 0-4.125 2.063 2.063 0 0 1 0 4.125Zm15.112 13.018h-3.558v-5.57c0-1.326-.024-3.037-1.852-3.037-1.851 0-2.133 1.449-2.133 2.944v5.663H9.356V8.995h3.413v1.566h.047c.473-.9 1.636-1.852 3.365-1.852 3.605 0 4.27 2.372 4.27 5.457v6.286Z\"\u003E\u003C/path\u003E\u003C/svg\u003E\u003C/div\u003E\u003C/a\u003E\u003Cdiv\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E\u003Cdiv data-testid=\"snowflake-footer-facebook\" class=\"snowflake-button-icon snowflake-button-white snowflake-footer-social-item\"\u003E\u003Cdiv class=\"snowflake-button-icon \"\u003E\u003Ca href=\"https://www.facebook.com/snowflakedb/\" data-testid=\"button-external\" aria-label=\"Facebook\" role=\"button\" class=\"snowflake-button-container\" title=\"Facebook\" tabindex=\"0\" target=\"_blank\" rel=\"noreferrer\"\u003E\u003Cdiv data-testid=\"button-icon-wrapper\"\u003E\u003Csvg xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" viewBox=\"0 0 24 24\" class=\"button-icon\"\u003E\u003Cpath d=\"M24 12c0-6.627-5.373-12-12-12S0 5.373 0 12c0 5.99 4.388 10.954 10.125 11.854V15.47H7.078V12h3.047V9.356c0-3.007 1.792-4.668 4.533-4.668 1.312 0 2.686.234 2.686.234v2.953H15.83c-1.491 0-1.956.925-1.956 1.875V12h3.328l-.532 3.469h-2.796v8.385C19.612 22.954 24 17.99 24 12Z\"\u003E\u003C/path\u003E\u003C/svg\u003E\u003C/div\u003E\u003C/a\u003E\u003Cdiv\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E\u003Cdiv data-testid=\"snowflake-footer-youtube\" class=\"snowflake-button-icon snowflake-button-white snowflake-footer-social-item\"\u003E\u003Cdiv class=\"snowflake-button-icon \"\u003E\u003Ca href=\"https://www.youtube.com/user/snowflakecomputing\" data-testid=\"button-external\" aria-label=\"YouTube\" role=\"button\" class=\"snowflake-button-container\" title=\"YouTube\" tabindex=\"0\" target=\"_blank\" rel=\"noreferrer\"\u003E\u003Cdiv data-testid=\"button-icon-wrapper\"\u003E\u003Csvg xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" viewBox=\"0 0 24 24\" class=\"button-icon\"\u003E\u003Cpath d=\"M23.76 7.2s-.233-1.655-.955-2.381c-.914-.956-1.936-.961-2.405-1.017-3.356-.244-8.395-.244-8.395-.244h-.01s-5.039 0-8.395.244c-.469.056-1.49.06-2.405 1.017C.473 5.545.244 7.2.244 7.2S0 9.145 0 11.086v1.819c0 1.94.24 3.886.24 3.886s.233 1.654.95 2.38c.915.957 2.115.924 2.65 1.027 1.92.183 8.16.24 8.16.24s5.044-.01 8.4-.249c.469-.056 1.49-.06 2.405-1.017.722-.727.956-2.381.956-2.381S24 14.85 24 12.905v-1.819c0-1.94-.24-3.886-.24-3.886ZM9.52 15.113V8.367l6.483 3.385-6.483 3.36Z\"\u003E\u003C/path\u003E\u003C/svg\u003E\u003C/div\u003E\u003C/a\u003E\u003Cdiv\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E\r\n\u003C/div\u003E","isGSAPEnabled":false,":type":"snowflake-site/components/markup-editor"}},":itemsOrder":["container","text_copy_copy_16360","markup_editor"]}},":itemsOrder":["container"]},"isBlogPage":false,":type":"snowflake-site/components/flexible-column-container","isActiveTOC":false}},":itemsOrder":["flexible_column_cont"]}},":itemsOrder":["container_112062425"]},"markup_editor_copy":{"id":"markup-editor-bb1b05307d","title":"New css","cssContent":".snowflake-image-container img{background-color:transparent}div.snowflake-person-chip-avatar{width:80px !important}#snowflake-blog-template-main-container .aem-GridColumn:has(.vertical-video){background-color:#000;border-radius:16px;overflow:hidden}#snowflake-blog-template-main-container .vertical-video{max-width:240px;margin-left:auto;margin-right:auto}@media screen and (min-width:1367px){.dynamic .heading-1-v2 .snowflake-title-v2-line{font-size:72px !important;line-height:60px !important}}.snowflake-flexible-column-container-items-alignment-match-height .download-card,.snowflake-flexible-column-container-items-alignment-match-height .download-card\u003E.container{height:100%}.download-card div.code-toolbar\u003E.toolbar .copy-to-clipboard-button{background-color:white;border:1px solid #a9e1f6;margin-right:4px;top:6px;border-radius:16px;height:26px;width:40px}.download-card .snowflake-code-snippet\u003Ediv.code-toolbar\u003E.toolbar\u003E.toolbar-item\u003Ebutton:before{content:'';background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='13' height='13' rx='2' ry='2' style='stroke:%23249EDC;'%3E%3C/rect%3E%3Cpath d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1' style='stroke:%23249EDC;'%3E%3C/path%3E%3C/svg%3E\");background-size:auto 65%;background-position:center;background-repeat:no-repeat;top:0;left:0;width:100%;height:100%}.download-card .snowflake-code-snippet\u003Ediv.code-toolbar\u003E.toolbar\u003E.toolbar-item\u003Ebutton:hover:before{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='13' height='13' rx='2' ry='2' style='stroke:%23fff;'%3E%3C/rect%3E%3Cpath d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1' style='stroke:%23fff;'%3E%3C/path%3E%3C/svg%3E\")}.download-card\u003Ediv{background-color:#fff;border:1px solid #ccc;border-radius:8px;padding:24px}.download-chip__headline{border-bottom:1px solid #ccc;padding-bottom:16px;margin-bottom:16px}.download-chip{padding:8px 12px !important;border-radius:4px;transition:300ms ease background-color}.download-chip .black-blue-text-color .snowflake-title-v2-line{color:#000 !important;padding-right:24px;font-family:'Lato',sans-serif;font-size:14px !important;font-weight:500 !important}.download-chip .black-blue-text-color .snowflake-title-v2-line:not(:first-child){opacity:.6;font-style:italic !important}.download-chip .snowflake-content-chip-button{display:none}.download-chip.is-external-link{background-size:16px 16px;background-image:url(\"data:image/svg+xml,%3Csvg width='15' height='15' viewBox='0 0 15 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.06055 13.0607L11.8605 2.26067M13.0605 10.6607V1.06067H3.46055' stroke='%23249EDC' stroke-width='2.12132' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A\")}.download-chip{background-image:url(\"data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_883_7979)'%3E%3Cpath d='M3.375 16.875H14.625' stroke='%23249EDC' stroke-width='1.40625' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M9 1.125V11.25' stroke='%23249EDC' stroke-width='1.40625' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4.5 7.875L9 12.375L13.5 7.875' stroke='%23249EDC' stroke-width='1.40625' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_883_7979'%3E%3Crect width='18' height='18' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\");background-size:24px auto;background-repeat:no-repeat;background-position:calc(100% - 12px) center}.download-chip__headline{display:flex;gap:16px;flex-direction:row !important;flex-wrap:nowrap}.download-chip__headline::before{content:'';display:inline-block;width:24px;height:24px;background-position:center;background-image:url(\"data:image/svg+xml,%3Csvg width='21' height='21' viewBox='0 0 21 21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7.50005 9.89999C8.13657 9.89999 8.74702 9.64713 9.19711 9.19704C9.64719 8.74696 9.90005 8.13651 9.90005 7.49999V2.69999C9.90005 2.06347 9.64719 1.45302 9.19711 1.00293C8.74702 .552844 8.13657 .299988 7.50005 .299988H2.70005C2.06353 .299988 1.45308 .552844 1.00299 1.00293C.552905 1.45302 .300049 2.06347 .300049 2.69999V7.49999C.300049 8.13651 .552905 8.74696 1.00299 9.19704C1.45308 9.64713 2.06353 9.89999 2.70005 9.89999H7.50005ZM7.50005 7.49999H2.70005V2.69999H7.50005V7.49999Z' fill='%23249EDC' stroke='white' stroke-width='.6'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7.50005 20.3C8.13657 20.3 8.74702 20.0472 9.19711 19.5971C9.64719 19.147 9.90005 18.5365 9.90005 17.9V13.1C9.90005 12.4635 9.64719 11.853 9.19711 11.403C8.74702 10.9529 8.13657 10.7 7.50005 10.7H2.70005C2.06353 10.7 1.45308 10.9529 1.00299 11.403C.552905 11.853 .300049 12.4635 .300049 13.1V17.9C.300049 18.5365 .552905 19.147 1.00299 19.5971C1.45308 20.0472 2.06353 20.3 2.70005 20.3H7.50005ZM7.50005 17.9H2.70005V13.1H7.50005V17.9Z' fill='%23249EDC' stroke='white' stroke-width='.6'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M17.9001 9.89999C18.5366 9.89999 19.147 9.64713 19.5971 9.19704C20.0472 8.74696 20.3001 8.13651 20.3001 7.49999V2.69999C20.3001 2.06347 20.0472 1.45302 19.5971 1.00293C19.147 .552844 18.5366 .299988 17.9001 .299988H13.1001C12.4636 .299988 11.8531 .552844 11.403 1.00293C10.9529 1.45302 10.7001 2.06347 10.7001 2.69999V7.49999C10.7001 8.13651 10.9529 8.74696 11.403 9.19704C11.8531 9.64713 12.4636 9.89999 13.1001 9.89999H17.9001ZM17.9001 7.49999H13.1001V2.69999H17.9001V7.49999Z' fill='%23249EDC' stroke='white' stroke-width='.6'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M17.9001 20.3C18.5366 20.3 19.147 20.0472 19.5971 19.5971C20.0472 19.147 20.3001 18.5365 20.3001 17.9V13.1C20.3001 12.4635 20.0472 11.853 19.5971 11.403C19.147 10.9529 18.5366 10.7 17.9001 10.7H13.1001C12.4636 10.7 11.8531 10.9529 11.403 11.403C10.9529 11.853 10.7001 12.4635 10.7001 13.1V17.9C10.7001 18.5365 10.9529 19.147 11.403 19.5971C11.8531 20.0472 12.4636 20.3 13.1001 20.3H17.9001ZM17.9001 17.9H13.1001V13.1H17.9001V17.9Z' fill='%23249EDC' stroke='white' stroke-width='.6'/%3E%3C/svg%3E%0A\");background-size:contain;background-repeat:no-repeat}.download-chip__headline.is-cli::before{background-image:url(\"data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 17L10 11L4 5' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M12 19H20' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A\")}.download-card pre[class*=language-]{padding:8px 12px;background-color:var(--ui-background-05);overflow:hidden}.download-chip__headline.is-windows,.download-chip__headline.is-mac{gap:12px}.download-chip__headline.is-windows::before{width:16px;height:20px;background-image:url(\"data:image/svg+xml,%3Csvg width='4875' height='4875' viewBox='0 0 4875 4875' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_122_201)'%3E%3Cpath d='M0 0H2311V2310H0V0ZM2564 0H4875V2310H2564V0ZM0 2564H2311V4875H0V2564ZM2564 2564H4875V4875H2564' fill='%23000'/%3E%3C/g%3E%3C/svg%3E\")}.download-chip__headline.is-mac::before{width:16px;height:20px;background-image:url(\"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns:x='ns_extend;' xmlns:i='ns_ai;' xmlns:graph='ns_graphs;' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0' y='0' viewBox='0 0 41.5 51' style='enable-background:new 0 0 41.5 51;' xml:space='preserve'%3E%3Cmetadata%3E%3Csfw xmlns='ns_sfw;'%3E%3Cslices%3E%3C/slices%3E%3CsliceSourceBounds bottomLeftOrigin='true' height='51' width='41.5' x='166.1' y='-208.1'%3E%3C/sliceSourceBounds%3E%3C/sfw%3E%3C/metadata%3E%3Cg%3E%3Cpath d='M40.2,17.4c-3.4,2.1-5.5,5.7-5.5,9.7c0,4.5,2.7,8.6,6.8,10.3c-.8,2.6-2,5-3.5,7.2c-2.2,3.1-4.5,6.3-7.9,6.3s-4.4-2-8.4-2 c-3.9,0-5.3,2.1-8.5,2.1s-5.4-2.9-7.9-6.5C2,39.5,.1,33.7,0,27.6c0-9.9,6.4-15.2,12.8-15.2c3.4,0,6.2,2.2,8.3,2.2 c2,0,5.2-2.3,9-2.3C34.1,12.2,37.9,14.1,40.2,17.4z M28.3,8.1C30,6.1,30.9,3.6,31,1c0-.3,0-.7-.1-1c-2.9,.3-5.6,1.7-7.5,3.9 c-1.7,1.9-2.7,4.3-2.8,6.9c0,.3,0,.6,.1,.9c.2,0,.5,.1,.7,.1C24.1,11.6,26.6,10.2,28.3,8.1z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\")}.download-chip__headline.is-desktop::before{background-image:url(\"data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg opacity='.8'%3E%3Cpath d='M1.5 21H22.5V18H1.5V21Z' fill='%23000' stroke='white' stroke-width='.75'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M19.5 15C20.2956 15 21.0587 14.6839 21.6213 14.1213C22.1839 13.5587 22.5 12.7956 22.5 12V6C22.5 5.20435 22.1839 4.44129 21.6213 3.87868C21.0587 3.31607 20.2956 3 19.5 3H4.5C3.70435 3 2.94129 3.31607 2.37868 3.87868C1.81607 4.44129 1.5 5.20435 1.5 6V12C1.5 12.7956 1.81607 13.5587 2.37868 14.1213C2.94129 14.6839 3.70435 15 4.5 15H19.5ZM19.5 12H4.5V6H19.5V12Z' fill='%23000' stroke='white' stroke-width='.75'/%3E%3C/g%3E%3C/svg%3E%0A\")}.download-card .snowflake-code-snippet,.download-card .snowflake-code-snippet code,.download-card .snowflake-code-snippet pre{font-size:14px;color:#000;text-shadow:none !important}.download-chip:hover{background-color:var(--ui-background-05) !important;transition:300ms ease background-color}body:has(.snowflake-skip-to-content[style]) #subNav,.pushdown-banner-dismissed #subNav{top:var(--scroll-padding-top) !important;transition:300ms ease top}body:has(.snowflake-skip-to-content[style*=\"58\"]) #subNav{top:34px !important}body:has(.snowflake-skip-to-content[style*=\"82\"]) #subNav{top:58px !important}body:has(.snowflake-skip-to-content[style*=\"130\"]) #subNav{top:106px !important}body:has(.snowflake-skip-to-content[style*=\"138\"]) #subNav{top:114px !important}body:has(.snowflake-skip-to-content[style*=\"146\"]) #subNav{top:122px !important}.is-hidden .snowflake-person-chip-avatar{display:none}.is-small .snowflake-person-chip-avatar{width:56px;height:56px}.ai-summary ul{margin:16px 0 0 0 !important;padding:0 !important;list-style-type:none}.ai-summary li{margin:0;padding:0 0 0 32px;position:relative}.ai-summary li::before{content:\"\";display:block;border-radius:100%;background:#29b5e8;width:18px;height:18px;position:absolute;top:4px;left:0;border:5px solid #e5f2f7;box-sizing:border-box}.ai-summary li:not(:last-child){margin-bottom:1rem}.snowflake-content-chip-image__image{aspect-ratio:5 / 3 !important}.content-chip-new .snowflake-content-chip-image__image{height:100% !important;aspect-ratio:unset !important}.snapshot-card .snowflake-text p:not(:first-child){margin-top:var(--spacing-01)}.snapshot-card\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:nth-child(2) p:has(b){font-family:'Texta',sans-serif;margin-top:24px}.snapshot-card\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:nth-child(2) p b{font-weight:700 !important}.snapshot-card\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:nth-child(2){border-bottom:1px solid #ccc;padding-bottom:24px}.snapshot-card\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:nth-child(3) p:first-child:has(b){font-family:'Texta',sans-serif;font-size:20px !important;margin-bottom:1rem !important}.snapshot-card\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:nth-child(3) li{display:inline-block}.snapshot-card\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:nth-child(3) li a{display:inline-block;text-decoration:none;padding:4px 16px !important;border:1px solid #ccc;border-radius:24px;color:#666 !important}.snapshot-card\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:nth-child(3) ul{list-style-type:none;display:flex;padding:0 !important;margin:0 !important;gap:12px}.snapshot-card\u003E.container\u003E.cmp-container\u003E.aem-container img{width:90%;max-width:240px;margin:0 auto}.snapshot-card\u003E.container\u003E.cmp-container\u003E.aem-container{padding:40px;max-width:450px;margin:0 0 0 auto;background-color:#fff;box-shadow:0 2px 6px 0 rgba(152,162,179,.25),0 10px 20px 0 rgba(152,162,179,.10);border-radius:8px;border-top:4px solid var(--ui-01)}.ai-summary{background-color:#f3fbfe;border-left:2px solid var(--ui-01);padding:40px}.ai-summary\u003Espan p:last-child:has(i){color:#666;font-size:14px !important}.ai-summary\u003Espan p:last-child:has(i) a{color:#666 !important;text-decoration:underline !important}.ai-summary\u003Espan p:last-child:has(i) a:hover{color:var(--ui-01) !Important}.ai-summary\u003Espan p:first-child:has(b)::after{content:'';display:inline-block;width:20px;height:20px;background-image:url(\"data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9.3158 3.15226C8.6475 6.2258 6.22698 8.64545 3.15232 9.31587C2.94923 9.36072 2.94923 9.63928 3.15232 9.68413C6.22698 10.3522 8.6475 12.7742 9.3158 15.8477C9.36067 16.0508 9.63933 16.0508 9.6842 15.8477C10.3525 12.7742 12.773 10.3545 15.8477 9.68413C16.0508 9.63928 16.0508 9.36072 15.8477 9.31587C12.773 8.64781 10.3525 6.2258 9.6842 3.15226C9.63933 2.94925 9.36067 2.94925 9.3158 3.15226Z' fill='%23249EDC'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M17.3725 11.5461C16.9098 13.6739 15.2341 15.3491 13.1054 15.8132C12.9649 15.8443 12.9649 16.0371 13.1054 16.0681C15.2341 16.5307 16.9098 18.2074 17.3725 20.3353C17.4035 20.4758 17.5965 20.4758 17.6275 20.3353C18.0902 18.2074 19.7659 16.5323 21.8946 16.0681C22.0352 16.0371 22.0352 15.8443 21.8946 15.8132C19.7659 15.3507 18.0902 13.6739 17.6275 11.5461C17.5965 11.4055 17.4035 11.4055 17.3725 11.5461Z' fill='%23249EDC'/%3E%3C/svg%3E%0A\");background-repeat:no-repeat;background-size:contain;background-position:center;vertical-align:middle;margin-left:8px}.ai-summary\u003Espan p:first-child:has(b){color:var(--ui-01) !important;text-transform:uppercase}.border-top{border-top:1px solid rgba(0,0,0,.2)}.border-top\u003Espan{display:block;padding-top:32px}body .snowflake-card-v2-advanced-image__image{aspect-ratio:16 / 9 !important}.content-chip-new .snowflake-content-chip-image__image{border-radius:0;object-fit:cover;height:100%}.sf-footer #ot-sdk-btn.ot-sdk-show-settings,.sf-footer #ot-sdk-btn.optanon-show-settings{color:rgba(255,255,255,.7) !important;text-underline-offset:4px;border-top:none;border-left:none;border-right:none;border-bottom:1px dotted transparent;background-color:transparent !important;background-image:none !important;transition:300ms ease text-decoration-color;padding:0 !important;font-size:12px;font-family:'Lato',sans-serif}.sf-footer #ot-sdk-btn.ot-sdk-show-settings:hover,.sf-footer #ot-sdk-btn.optanon-show-settings:hover{color:rgba(255,255,255,1) !important;border-bottom:1px dotted var(--ui-01);transition:300ms ease text-decoration-color}.sf-footer__legal-container\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:last-child{flex-shrink:0}.sf-footer__disclaimers{background-color:#042130}.sf-footer__disclaimers .snowflake-simple-stat-disclaimer p a{color:inherit;text-decoration:none !important}.sf-footer__disclaimers .snowflake-simple-stat-disclaimer p sup{margin-right:2px}.sf-footer__disclaimers .snowflake-simple-stat-disclaimer p{text-indent:-5px;padding-left:5px}.sf-footer__disclaimers-inner{border-top:1px solid rgba(255,255,255,.25);padding:40px 0}.sf-footer__disclaimers .snowflake-simple-stat{align-items:flex-start;text-align:left;color:rgba(255,255,255,.7);margin-bottom:10px}.sf-footer__social{display:flex;justify-content:center;gap:12px}.sf-footer .snowflake-footer-social-item{margin:0 !important}.sf-footer .snowflake-footer-social-item a{line-height:0;background-color:rgba(3,24,35,.8);display:inline-block;width:48px !important;height:48px;border-radius:8px;display:inline-flex;justify-content:center;align-items:center;transition:300ms ease background-color}.sf-footer .snowflake-footer-social-item a:hover{background-color:var(--ui-01) !important;transition:300ms ease background-color}.sf-footer__bottom{padding-bottom:40px}.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoError .mktoErrorMsg{max-width:100%;color:#fff}.sf-footer .mktoForm .mktoError .mktoErrorMsg .mktoErrorDetail{display:inline-block}.sf-footer .mktoFormRow:has(.mktoHtmlText:empty){display:none}.sf-footer .mktoFormRow .mktoHtmlText span{color:#fff !important}.sf-footer{background-color:#042130}.sf-footer .optanon-toggle-display:hover{text-decoration-color:var(--ui-01) !important;cursor:pointer !important;text-underline-offset:4px;text-decoration-style:dotted !important;text-decoration-color:var(--ui-01);color:#fff !important;transition:300ms ease text-decoration-color;text-decoration:underline;opacity:1}.sf-footer__logo{width:40px}.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container{row-gap:32px}.sf-footer__legal-container\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;justify-content:space-between;align-items:center;text-align:center;row-gap:16px}.sf-footer__legal-container\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:nth-child(2){text-align:center;flex-grow:1}.sf-footer__legal-links li button,.sf-footer__legal-links li a,.sf-footer__legal-links li{margin:0;color:rgba(255,255,255,.7) !important;font-weight:500}.sf-footer__legal-links li a:hover{color:rgba(255,255,255,1) !important}.sf-footer div.sf-footer__copyright p,.sf-footer div.sf-footer__legal-links li,.sf-footer div.sf-footer__legal-links a,.sf-footer div.sf-footer__legal-links p{font-size:12px !important}.sf-footer__legal-links ul{list-style-type:none;margin:0;padding:0;display:flex;gap:20px;row-gap:4px;justify-content:center;flex-wrap:wrap;text-align:center}.sf-footer__legal-links li:last-child{width:100%}.sf-footer .mktoFormRow:has(.mktoPlaceholder),.sf-footer .mktoFormRow:has(input[type=\"hidden\"]){display:none !important}.sf-footer .mktoFormCol{margin-bottom:0 !important}.sf-footer label[for=\"adhoc1\"]{width:auto !important;flex-grow:1;margin-left:16px}.sf-footer .mktoFieldWrap:has(label[for=\"adhoc1\"]){display:flex;flex-direction:row-reverse;margin-top:22px}.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoCheckboxList input[type=checkbox]{background-color:transparent !important;border:1px solid rgba(255,255,255,.4) !important;border-radius:4px !important}.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoEmailField,.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoTelField,.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoTextField,.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap select{background-color:transparent !important;color:#fff !important;height:auto !important;border:1px solid rgba(255,255,255,.4) !important;border-radius:4px !important;padding:12px 18px !important}.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoEmailField:focus,.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoTelField:focus,.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoTextField:focus,.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap select:focus{border-color:var(--ui-01) !important}.sf-footer .mktoForm *{padding:0 !important}.sf-footer .mktoForm,.sf-footer .snowflake-marketo-form-container{padding:0 !important;background:transparent;margin-bottom:0;box-shadow:none}.sf-footer .mktoHtmlText.mktoHasWidth{width:100% !important;margin:24px 0}.sf-footer .mktoFormRow{flex-direction:column}.sf-footer .mktoForm .mktoButtonWrap{margin:0 !important}.sf-footer select{background-image:url(\"data:image/svg+xml,%3Csvg width='14' height='8' viewBox='0 0 14 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.981445 1.43496L6.90897 7.32496L12.9314 1.33496' stroke='white' stroke-width='1.33333' stroke-miterlimit='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A\") !important}.sf-footer .snowflake-marketo-form .mktoButtonWrap.mktoNative{justify-content:flex-start}.sf-footer *::placeholder{color:#fff !important;opacity:.8}.sf-footer .mktoForm .mktoButtonWrap.mktoSimple .mktoButton{background-color:var(--ui-01) !important;color:#fff !important;width:100% !important;padding:12px 16px !important;border:1px solid var(--ui-01) !important;background-image:none !important;border-radius:48px;text-transform:uppercase;font-weight:800 !important;font-family:'Texta',sans-serif !important;font-size:16px !important;line-height:1.2}.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoHtmlText\u003Espan,.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoLabel\u003Espan,.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap label.mktoLabel{color:#fff !important}.sf-footer__newsletter-title p:not(:first-child){margin-top:8px !important}.sf-footer__newsletter-title p b{font-weight:800 !important;font-family:'Texta',sans-serif !important;font-size:22px !important;line-height:1.2}.sf-footer__newsletter-title p:last-child{font-size:14px !important;opacity:.8}.sf-footer__link-group li a[target=\"_blank\"]::after{content:'';display:inline-block;width:10px;height:10px;margin-left:5px;background-image:url(\"data:image/svg+xml,%3Csvg width='11' height='11' viewBox='0 0 11 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.72222 1.22222C6.38471 1.22222 6.11111 .948616 6.11111 .611111C6.11111 .273607 6.38471 0 6.72222 0H10.3889C10.551 0 10.7064 .0643867 10.821 .178988C10.9356 .293596 11 .449032 11 .611111V4.27778C11 4.61529 10.7264 4.88889 10.3889 4.88889C10.0514 4.88889 9.77778 4.61529 9.77778 4.27778V2.08647L4.09879 7.76545C3.86013 8.00409 3.4732 8.00409 3.23454 7.76545C2.99589 7.52681 2.99589 7.13986 3.23454 6.90122L8.91355 1.22222H6.72222ZM0 2.44444C0 1.76943 .547207 1.22222 1.22222 1.22222H4.27778C4.61529 1.22222 4.88889 1.49583 4.88889 1.83333C4.88889 2.17084 4.61529 2.44444 4.27778 2.44444H1.22222V9.77778H8.55556V6.72222C8.55556 6.38471 8.82915 6.11111 9.16667 6.11111C9.50418 6.11111 9.77778 6.38471 9.77778 6.72222V9.77778C9.77778 10.4528 9.23059 11 8.55556 11H1.22222C.547207 11 0 10.4528 0 9.77778V2.44444Z' fill='white'/%3E%3C/svg%3E%0A\");background-size:contain;background-repeat:no-repeat;background-position:center}.sf-footer__link-group ul,.sf-footer__link-group li{margin:0;padding:0;list-style-type:none}.sf-footer__link-group ul{margin-top:20px !important}.sf-footer__link-group li{margin-top:15px}.sf-footer div.sf-footer__link-group\u003Espan\u003Ep\u003Ea,.sf-footer div.sf-footer__link-group\u003Espan\u003Ep{color:var(--ui-01) !important;font-weight:800 !important;font-family:'Texta',sans-serif !important;font-size:20px !important;line-height:1.2}.sf-footer__link-group li a{opacity:.9;color:#fff !important;font-weight:500 !important;font-size:15px !important;line-height:1.3}.sf-footer__link-group li a:hover{opacity:1}.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container::before,.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container::after{display:none}.sf-footer__column{flex-grow:1}.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:not(:first-child){width:50%}@media (min-width:800px){.sf-footer__legal-links ul{justify-content:flex-start;text-align:left}.sf-footer__social{justify-content:flex-end}.sf-footer__legal-links ul{padding-left:24px}.sf-footer__legal-container\u003E.container\u003E.cmp-container\u003E.aem-container{text-align:right;flex-wrap:nowrap}.sf-footer__legal-links.align-left ul{justify-content:flex-start}.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;justify-content:space-between;flex-direction:row}.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:auto !important;max-width:200px}.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:first-child{flex-grow:1;order:2;width:100% !important;max-width:none}.sf-footer__legal-container\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:auto}}@media screen and (min-width:1380px){.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container{flex-wrap:nowrap}.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:first-child{padding-right:48px;max-width:380px;background-color:rgba(3,24,35,.4);padding:32px;margin-left:48px;border-radius:16px}.sf-footer__link-group li,.sf-footer__link-group li a{font-size:14px !important;line-height:1.3}}@media screen and (max-width:991px){.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:first-child{order:2;margin-top:24px !important}}@media screen and (max-width:420px){.is-reduced-mobile .heading-1-v2,.is-reduced-mobile .heading-1-v2-sm{font-size:32px;line-height:28px}}.quote-content-chip{background-color:var(--ui-background-05);padding:24px;border-radius:12px;position:relative}.quote-content-chip .black-blue-text-color .snowflake-title-v2-line\u003Espan{color:rgba(0,0,0,.8) !important;font-size:15px !important;line-height:1.5 !important;font-family:'Lato',sans-serif;font-weight:400 !important}.quote-content-chip .black-blue-text-color .snowflake-title-v2-line\u003Espan:not(:first-child){max-width:calc(100% - 200px)}.quote-content-chip .black-blue-text-color .snowflake-title-v2-line\u003Espan:nth-child(2){font-family:'Texta',sans-serif;color:#000 !important;font-size:20px !important;font-weight:800 !important;margin-top:24px}.quote-content-chip .snowflake-content-chip-image{width:140px !important}@media screen and (min-width:992px){.quote-content-chip .snowflake-content-chip-image{position:absolute !important;bottom:24px;right:16px}}@media screen and (max-width:991px){.quote-content-chip .snowflake-content-chip-image{margin-bottom:40px}.quote-content-chip{flex-direction:column}}#spa-root{background-color:#fff}.lowercase .snowflake-title-v2-line{text-transform:none !important}.centered .snowflake-logo-content-container-inner{justify-content:center}div.snowflake-linklist-dropdown-menu{max-height:380px}.first-line-blue .snowflake-typographyv2 .snowflake-title-v2-line:first-child{color:var(--ui-01) !important}.is-front{position:relative;z-index:2}.use-case-body .snowflake-text h1,.use-case-body .snowflake-text h2,.use-case-body .snowflake-text h3,.use-case-body .snowflake-text h4,.use-case-body .snowflake-text h5,.use-case-body .snowflake-text h6{font-family:'Texta',sans-serif;color:#000;margin:.25rem 0 0 0}.pc-hero .button-group\u003E.container\u003E.cmp-container\u003E.aem-container{justify-content:flex-start}.sf-footer .mktoFormRow .mktoHtmlText span{font-family:'Lato',sans-serif !important}.snowflake-button-primary.snowflake-button-blue .snowflake-button-container{justify-content:center}.related-chip-25{background-color:#fff;border:1px solid rgba(204,204,204,.5);border-radius:8px;padding:20px;position:relative}.related-chip-25:hover{box-shadow:rgba(152,162,179,.1) 0 10px 20px 0}.related-chip-25:hover::after{right:24px;transition:300ms ease right}.related-chip-25::after{content:'';display:block;transition:300ms ease right;background-image:url(\"data:image/svg+xml,%3Csvg width='8' height='14' viewBox='0 0 8 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7.66699 7C7.66699 6.6571 7.53559 6.32825 7.30169 6.08578L2.34446 .947072C1.84529 .429617 1.0164 .429617 .517219 .947072C.0427878 1.43887 .042788 2.21798 .517219 2.70978L4.65591 7L.51722 11.2902C.0427889 11.782 .0427887 12.5611 .51722 13.0529C1.0164 13.5704 1.84529 13.5704 2.34447 13.0529L7.30169 7.91421C7.53559 7.67175 7.66699 7.34289 7.66699 7Z' fill='%2329B5E8'/%3E%3C/svg%3E%0A\");width:8px;height:14px;display:block;position:absolute;right:30px;top:50%;transform:translateY(-50%);background-size:contain;background-position:center;background-repeat:no-repeat}.related-chip-25 .heading-5-v2{font-size:22px;line-height:1.1}.related-chip-25 .snowflake-content-chip-image{width:48px;flex-shrink:0}.related-chip-25 .snowflake-content-chip-image__image{aspect-ratio:1;height:auto;object-fit:contain}.related-chip-25 .snowflake-content-chip-button{display:none}.related-chip-25 .snowflake-content-chip-content-without-tag{flex-grow:1;padding-right:24px}.case-study-25.small-logo .snowflake-case-study-card-logo img{width:60px !important}.swiper-slide .case-study-25{width:95%;margin-left:auto;margin-right:auto}.case-study-25 .snowflake-case-study-card-logo img{width:140px !important;height:auto !important;transform:none !important;margin:24px 0 8px 0}.case-study-25 .snowflake-case-study-card-image__image{object-position:left center}.case-study-25 .snowflake-case-study-card-information-container{padding-right:24px}.case-study-25 ul{list-style-type:none;padding:0;margin:8px 0 0 0}.case-study-25 li{font-size:15px !important;line-height:1.3 !important;display:flex;flex-direction:column;border-left:4px solid var(--ui-01);padding-left:24px;margin-top:24px;color:#535862;gap:4px}.case-study-25 li b{display:block;font-family:'Texta',sans-serif;font-weight:900 !important;font-size:48px !important;line-height:.9 !important;color:var(--ui-01)}.case-study-25 .snowflake-case-study-card-description p{color:#535862}.case-study-25 .snowflake-case-study-card-description p:nth-child(2):not(:has(a)){color:#000;font-family:Texta;font-size:30px !important;line-height:1 !important;font-style:normal;font-weight:700;text-indent:-8px}.case-study-25.is-story .snowflake-case-study-card-description p:nth-child(2):not(:has(a)){text-indent:0}.case-study-25 .snowflake-case-study-card-key-card{background-color:transparent}.case-study-25 .snowflake-case-study-card-button{display:none}.case-study-25{border-radius:24px;overflow:hidden}@media screen and (min-width:1024px){.case-study-25 .snowflake-case-study-card-left-container{position:static;width:60%;min-height:0}.case-study-25 .snowflake-case-study-card-right-container::after{content:'';display:block;width:60%;max-width:340px;padding-bottom:50%;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 22 16' class='snowflake-pushdown-banner-placeholder-arrow'%3E%3Cpath fill='%2329B5E8' fill-rule='evenodd' d='M17.865 8.756c.088-.274.124-.555.118-.834a2.551 2.551 0 0 0-1.3-2.142L7.887.76C6.645.055 5.063.475 4.35 1.7a2.535 2.535 0 0 0 .947 3.494l4.916 2.809-4.916 2.801a2.543 2.543 0 0 0-.947 3.502c.713 1.222 2.295 1.64 3.537.934l8.796-5.024a2.541 2.541 0 0 0 1.182-1.46Z' clip-rule='evenodd'%3E%3C/path%3E%3C/svg%3E\");background-size:contain;background-repeat:no-repeat;position:absolute;top:-10%;left:-20%}.case-study-25 .snowflake-case-study-card-right-container{max-width:none;width:40%;position:absolute;top:-5%;right:-5%;z-index:0;height:110%}}@media screen and (min-width:768px){.case-study-25 li{max-width:50%}.case-study-25 ul{display:flex;gap:48px}}.snowflake-text.section-eyebrow p{margin-left:auto;margin-right:auto;margin-bottom:16px !important}.snowflake-text.section-eyebrow p,.snowflake-text.eyebrow-text p{text-transform:uppercase;font-family:'Texta',sans-serif !important;font-weight:800 !important;letter-spacing:.025em;margin-bottom:12px;line-height:1.1 !important}.snowflake-title-v2.dynamic .heading-2-v2 span.snowflake-title-v2-line{font-size:clamp(2.5rem,4.5vw,4rem) !important;line-height:.82 !important}.checklist ul{padding:0;margin:0}.checklist ul li{list-style-type:none;padding-left:32px;position:relative}.checklist ul li:not(:last-child){margin-bottom:1em}.checklist ul li::before{content:'';display:inline-block;width:20px;height:20px;background-image:url(\"data:image/svg+xml,%3Csvg width='24' height='25' viewBox='0 0 24 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect y='.985352' width='24' height='24' rx='12' fill='%23D4F0FA'/%3E%3Cpath d='M7.28613 13.2967L10.7147 16.7253L17.5718 9.86816' stroke='%2329B5E8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A\");background-size:contain;background-repeat:no-repeat;position:absolute;top:3px;left:0}.last-line-blue .snowflake-typographyv2 .snowflake-title-v2-line:last-child{color:var(--ui-01)}.snowflake-text p sup{line-height:0}.snowflake-title-v2.lowercase .heading-3-v2{font-size:28px;line-height:1;text-transform:none;font-weight:700}.snowflake-title-v2.lowercase .heading-2-v2{font-size:32px;line-height:1;text-transform:none;font-weight:700}.content-chip-new{border:1px solid rgba(204,204,204,.5);border-radius:16px;overflow:hidden}.content-chip-new .snowflake-image-container{border-radius:0;display:none}.content-chip-new .snowflake-content-chip-image{margin-right:0;max-width:180px;flex-shrink:0}.content-chip-new .snowflake-content-chip-content{padding:24px}.content-chip-new .black-blue-text-color .snowflake-title-v2-line:first-child{font-size:24px;line-height:1.1}.content-chip-new .black-blue-text-color .snowflake-title-v2-line:not(:first-child){font-family:'Lato',sans-serif;font-size:17px;color:#535862 !important;font-weight:500;line-height:1.45;margin-top:8px;display:none}div.snowflake-text a{font-weight:normal;color:var(--ui-01);text-decoration:underline;text-underline-offset:4px;text-decoration-style:dotted !important;text-decoration-color:transparent;transition:300ms ease text-decoration-color}div.snowflake-text a:hover{text-decoration-color:var(--ui-01);transition:300ms ease text-decoration-color}.footer-nav__link-group .snowflake-button-container,.subnav__item--button,.snowflake-card-v2-advanced-button .snowflake-button-container{justify-content:flex-start}.button-container\u003E.container\u003E.cmp-container\u003E.aem-container{align-items:center}.button-container\u003E.container\u003E.cmp-container\u003E.aem-container .snowflake-button-primary+.snowflake-button-link{margin-left:12px !important}.snowflake-button-regular.snowflake-button-link .snowflake-button-container{font-size:18px !important;text-align:left;justify-content:flex-start;line-height:1.4 !important}body .snowflake-card-v2-advanced{border:1px solid rgba(204,204,204,.5);border-radius:var(--spacing-02);transition:300ms ease all}body .snowflake-card-v2-advanced:hover{transform:translateY(-10px);box-shadow:rgba(152,162,179,.1) 0 10px 20px 0;transition:300ms ease all}body .snowflake-card-v2-advanced-inner{border-bottom:none}body .snowflake-card-v2-advanced-image{line-height:0}body .snowflake-card-v2-advanced-image__image{aspect-ratio:16 / 9}body .snowflake-card-v2-advanced-content{position:relative}body .snowflake-card-v2-advanced-content::after{content:'';display:block;position:absolute;bottom:0;left:0;transition:300ms ease all;width:20%;height:4px;background-color:var(--ui-01);opacity:0}body .snowflake-card-v2-advanced:hover .snowflake-card-v2-advanced-content::after{width:100%;opacity:1;transition:300ms ease all}body .snowflake-card-v2-advanced .snowflake-button-link.snowflake-button-blue .snowflake-button-container\u003E.link-icon{transition:300ms ease transform}body .snowflake-card-v2-advanced:hover .snowflake-button-link.snowflake-button-blue .snowflake-button-container\u003E.link-icon{transform:translateX(4px);transition:300ms ease transform}.six-columns\u003E.container\u003E.cmp-container\u003E.aem-container,.three-columns\u003E.container\u003E.cmp-container\u003E.aem-container,.four-columns\u003E.container\u003E.cmp-container\u003E.aem-container,.five-columns\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;flex-wrap:wrap;gap:24px}.six-columns.align-center\u003E.container\u003E.cmp-container\u003E.aem-container,.three-columns.align-center\u003E.container\u003E.cmp-container\u003E.aem-container,.four-columns.align-center\u003E.container\u003E.cmp-container\u003E.aem-container,.five-columns.align-center\u003E.container\u003E.cmp-container\u003E.aem-container{justify-content:center}.three-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:100%;margin:0 !important}.six-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv,.four-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv,.five-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(50% - 12px);margin:0 !important}@media screen and (min-width:768px){.three-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(50% - 12px)}.six-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv,.four-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv,.five-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(33.333% - 16px)}}@media screen and (min-width:1024px){.snowflake-title-v2.lowercase .heading-3-v2{font-size:34px}.snowflake-title-v2.lowercase.larger .heading-2-v2{font-size:44px;line-height:.95}.three-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(33.333% - 16px)}.four-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(25% - 18px)}.five-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(20% - 19.2px)}.six-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(16.6666% - 20px)}.snowflake-title-v2.lowercase .heading-3-v2{font-size:28px !important}}@media screen and (min-width:1200px){.snowflake-title-v2.lowercase .heading-2-v2{font-size:40px}.content-chip-new .snowflake-content-chip-content{padding:32px}.content-chip-new .snowflake-image-container,.content-chip-new .black-blue-text-color .snowflake-title-v2-line:not(:first-child){display:block}}.promo-banner-25{border-radius:16px;overflow:hidden}.promo-banner-25 .snowflake-premium-content-banner-image-container{position:relative;max-width:380px}.promo-banner-25 .snowflake-text{color:#535862}.promo-banner-25 .snowflake-premium-content-banner-image__image{transform:translateY(8px);transition:300ms ease transform;border-radius:0;width:85%;margin:0 auto;display:block;position:relative;z-index:1}.promo-banner-25 .snowflake-premium-content-banner-image__link:hover .snowflake-premium-content-banner-image__image{transform:translateY(0);transition:300ms ease transform}.promo-banner-25 .snowflake-premium-content-banner-image__inner{height:auto;padding-top:24px}.promo-banner-25 .snowflake-premium-content-banner-image__link{position:relative;z-index:1;height:auto}.promo-banner-25 .snowflake-premium-content-banner-image__link::after{content:'';display:block;position:absolute;clip-path:polygon(0 0,66% 0,100% 100%,0 100%);bottom:0;left:0;width:100%;height:100%;background:var(--ui-01);transition:300ms ease width}.promo-banner-25 .snowflake-premium-content-banner-image__link:hover::after{width:110%;transition:300ms ease width}.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap select{background-position:95% 50%}.sf-footer__disclaimers .text-size-small .snowflake-text p{color:#fff !important;font-size:10px !important;opacity:.8}@media screen and (min-width:768px){.sf-footer__disclaimers .text-size-small .snowflake-text p{font-size:12px !important}}@media screen and (max-width:1023px){.mobile-top-padding{padding-top:64px}}@media (max-width:799px){.sf-footer .snowflake-marketo-form .mktoButtonWrap.mktoNative .mktoButton{width:100% !important}.sf-footer__logo{text-align:center;display:block;margin:0 auto}}.customer-card .snowflake-card-v2-advanced-image{aspect-ratio:4.35 / 1}.customer-card .snowflake-card-v2-advanced-image__image{width:100%;height:100%;padding-left:8px;object-fit:contain;object-position:left center;margin:0 !important;aspect-ratio:initial}.customer-card .snowflake-card-v2-advanced-image__inner{height:110px}.customer-card .snowflake-card-v2-advanced-tag-indicator{display:none}.pc-hero .snowflake-container-arrow-small-gray-image{top:-34% !important;width:18% !important}.pc-hero .snowflake-container-arrow-small-gray-image path{fill:var(--ui-01);opacity:1}@media screen and (max-width:767px){.mobile-padding-top{padding-top:64px}.hide-mobile{display:none !important}.pc-hero{padding-top:52px}.pc-hero .snowflake-text p,.pc-hero .left-alignment .snowflake-title-v2-line,.pc-hero h1 span{text-align:center !important}}div.snowflake-pushdown-banner-button{margin-top:0}.button-group.align-center\u003E.container\u003E.cmp-container\u003E.aem-container{align-items:center;justify-content:center !important}.text-center .snowflake-breadcrumb-swiper .swiper-wrapper{justify-content:center}div.snowflake-breadcrumb a.snowflake-breadcrumb-item,.snowflake-breadcrumb div.snowflake-breadcrumb-item{text-transform:none;font-weight:500}.snowflake-breadcrumb svg{display:none !important}.snowflake-breadcrumb a:has(svg)::after{content:'/';margin:0 12px;color:#666}.hide-filters .snowflake-filterable-and-searchable-grid-top-part{display:none !important}.page-section{padding-left:24px;padding-right:24px}@media screen and (min-width:768px){.page-section{padding-left:48px;padding-right:48px}}.download-card pre[class*=language-]{overflow-x:scroll !important}","isGSAPEnabled":false,":type":"snowflake-site/components/markup-editor"}},":itemsOrder":["container_copy","container_573483281_","markup_editor_copy"]}},":itemsOrder":["root"],"classNames":"aem-xf"},"markup_editor":{"id":"markup-editor-853af33e4f","title":"Quickstarts Overrides","cssContent":".snowflake-markdown blockquote{padding:24px 32px;background:#f6f9fa;border:1px solid #29b5e8;border-radius:16px}.snowflake-markdown .snowflake-image-container img{width:auto !important;max-width:100%}.snowflake-markdown .snowflake-text ol{padding-left:20px !important}.snowflake-markdown .snowflake-text li{margin:0 0 12px 0 !important}.snowflake-markdown h3.snowflake-markdown-h3{font-size:20px !important;font-family:Texta,sans-serif !important}@media (min-width:768px){.snowflake-markdown h3.snowflake-markdown-h3{font-size:28px !important}}","isGSAPEnabled":false,":type":"snowflake-site/components/markup-editor"}},":itemsOrder":["experiencefragment-banner","experiencefragment-header","markup_editor_1950346551","responsivegrid","modal_container","experiencefragment-footer","markup_editor"],":type":"wcm/foundation/components/responsivegrid"}},":itemsOrder":["root"],"coveoConfig":{"pipeline":"snowflake.com","apiKey":"xx335921a6-2a0a-40f2-a167-e390b4766c3d","organizationId":"snowflakecomputingproduction8neljofn","searchHub":"snowflake.com"},"locale":"en","analyticsData":{"excludeFromAnalytics":false,"subCategory":"","pageType":"quickstart-page-template","templateName":"quickstart-page-template","siteName":"snowflake","pageUrl":"/content/snowflake-site/global/en/developers/guides/end-to-end-machine-learning-with-dataiku","language":"en","category":"general","pageName":"End to End Machine learning with Snowflake and Dataiku","contentTags":["snowflake-site:taxonomy/solution-center/certification/quickstart","snowflake-site:taxonomy/product/ai","snowflake-site:taxonomy/product/applications-and-collaboration","snowflake-site:taxonomy/solution-center/certification/partner-solution","snowflake-site:taxonomy/exclude-tags/hidden"]},"analyticsDebugMode":false,"analyticsContentTags":["snowflake-site:taxonomy/solution-center/certification/quickstart","snowflake-site:taxonomy/product/ai","snowflake-site:taxonomy/product/applications-and-collaboration","snowflake-site:taxonomy/solution-center/certification/partner-solution","snowflake-site:taxonomy/exclude-tags/hidden"],"isPasswordProtected":false}
  