{"allowedRenditionsWidth":["320","480","640","768","960","1200","1440","1920"],"templateName":"quickstart-page-template","cssClassNames":"page basicpage summit-page","language":"ko","title":"Snowpark 시작하기","analyticsPageType":"quickstart-page-template","analyticsCategory":"general","analyticsSubCategory":"","excludeFromAnalytics":false,":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-a336b1a7af","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/ko/site/pushdown-banner/master/jcr:content","configured":true,":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-f9ede44b2b",":items":{"pushdown_banner_copy":{"id":"pushdown-banner-06723de51a","contentHeadline":"Snowflake Summit 26 하이라이트","contentDescription":"올해 연례 사용자 컨퍼런스에서 진행된 40개 이상의 녹화 세션을 살펴보세요","contentJustifyContent":"center","linkStyle":"text-white","linkCTA":{"id":"link-cta","heapButtonClasses":["pushdown_banner"],"showOutboundIcon":false,"buttonLink":{"valid":true,"attributes":{"target":"_blank"},"url":"https://www.snowflake.com/en/summit/best-of-summit/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"지금 시청하기 (EN)"},":type":"snowflake-site/components/pushdown-banner","appliedCssClassNames":"snowflake-pushdown-banner-text-white snowflake-pushdown-banner-background-black"}},":itemsOrder":["pushdown_banner_copy"],":type":"snowflake-site/components/container"},"image":{":type":"nt:unstructured"},"cq:metadata":{":type":"nt:unstructured"}},":itemsOrder":["root","image","cq:metadata"],":type":"snowflake-site/components/experiencefragment","classNames":"aem-xf"},"experiencefragment-header":{"id":"experiencefragment-f99b222242","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/ko/site/mega-nav-header/master/jcr:content","configured":true,":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-a9aac9e21a",":items":{"markup_editor":{"id":"markup-editor-f2bb523b71","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:'Snowflake로 실현하는 가치 \u003E';display:block;color:var(--ui-01);margin-top:16px}.nav-item__platform-parent .snowflake-mega-nav-nav-item-description::after{content:'플랫폼 살펴보기 \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-7c76219bda","appliedCssClassNames":"snowflake-header-container white",":items":{"nav_mega":{"activeItem":"item_1719963657751_c_663444255","id":"tabs-6c3088260a",":type":"snowflake-site/components/nav/nav-mega",":items":{"item_1719963657751_c_663444255":{"id":"nav-dropdown-menu-eb9a62e029","enableDropdown":true,"nav_column_container":{"layout":"SIMPLE","id":"container-74cf2b2145",":items":{"nav_column":{"additionalClasses":"nav-platform-sidebar","numberOfSubColumns":"one-column","minWidth":"230","maxWidth":"350","layout":"SIMPLE","id":"container-26b2b8d1c3",":items":{"nav_item_copy_copy_2_793631646":{"id":"nav-item-63c4e6cfee","additionalClasses":"nav-item__platform-parent","linkDescription":"완전 관리형 플랫폼에서 AI 제품, 애플리케이션 등을 개발하고 모든 데이터 유형과 규모 전반에서 글로벌 비즈니스를 안전하게 연결하세요.","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/product/platform/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Snowflake Platform"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy":{"id":"nav-item-2d7e313b84","additionalClasses":"nav-item nav-item--si","linkDescription":"세상의 모든 지식. 신뢰할 수 있는 단 하나의 엔터프라이즈 에이전트","flag":"정식 출시","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/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-22ec20566d","additionalClasses":"blue-icon","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/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-eed72930b0","additionalClasses":"blue-icon","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/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-3b40e82e2e","additionalClasses":"blue-icon","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/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-d5d7157e5f","additionalClasses":"blue-icon","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/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_526060162":{"id":"nav-item-496791a4e1","additionalClasses":"blue-icon","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/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_copy","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_526060162"],":type":"snowflake-site/components/nav/nav-column"},"nav_column_copy_copy":{"additionalClasses":"meganav-platform-features","navColumnTitle":"기능","numberOfSubColumns":"two-columns","layout":"SIMPLE","id":"container-d71ab4d98c",":items":{"nav_item_copy_212715":{"id":"nav-item-3656538479","linkDescription":"Snowflake 기반 AI 코딩 에이전트","flag":"New","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/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-b453efe989","propertiesId":"testID","linkDescription":"Snowflake에서 실행되는 완전 호환 오픈소스 Postgres","flag":"정식 출시","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/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_1923334373":{"id":"nav-item-f1ba833d32","propertiesId":"testID","linkDescription":"업계 최고 LLM에 대한 즉각적인 액세스","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/product/features/cortex/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Cortex AI"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_258535199":{"id":"nav-item-14d6ce5826","propertiesId":"workload-nav-1","linkDescription":"통합을 위한 간편한 데이터 이동","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/product/features/openflow/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Openflow"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_660590635":{"id":"nav-item-c5fa61e5c0","linkDescription":"서드 파티 데이터 및 AI 제품 테스트 및 구매","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/product/features/marketplace/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Marketplace"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_660590_2121336733":{"id":"nav-item-15acd7bdf2","linkDescription":"데이터 및 AI 팀을 위한 인터랙티브 개발 환경","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/product/features/notebooks/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Notebooks"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_660590_1715469328":{"id":"nav-item-36a864157c","linkDescription":"Python 등을 실행하는 라이브러리 및 코드 실행 환경","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/product/features/snowpark/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Snowpark"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_185565":{"id":"nav-item-1f76b5e058","linkDescription":"완벽한 데이터 보호 기능을 갖춘 데이터 협업","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/product/features/data-clean-rooms/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Data Clean Rooms"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_660590_1073841656":{"id":"nav-item-25d52239cc","linkDescription":"Python 스크립트를 웹 앱으로 변환하는 프레임워크 ","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/features/streamlit-in-snowflake/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Streamlit"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_258535199_c":{"id":"nav-item-44a2eac241","propertiesId":"workload-nav-1","linkDescription":"Snowflake Native App의 엔드투엔드 개발 및 배포","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/product/features/native-apps/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Native Apps"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item_copy_212715","nav_item","nav_item_copy_1923334373","nav_item_258535199","nav_item_copy_660590635","nav_item_copy_660590_2121336733","nav_item_copy_660590_1715469328","nav_item_copy_185565","nav_item_copy_660590_1073841656","nav_item_258535199_c"],":type":"snowflake-site/components/nav/nav-column"},"nav_column_676020780":{"navColumnTitle":"오픈소스 기술","numberOfSubColumns":"one-column","maxWidth":"300","layout":"SIMPLE","id":"container-317164f033",":items":{"nav_item_511717659":{"id":"nav-item-9ca8102691","linkDescription":"범용 AI 카탈로그","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/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_924064894":{"id":"nav-item-7671192fee","linkDescription":"중앙 집중식 UI를 통한 간소화된 모델 개발 및 MLOps","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/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_660590":{"id":"nav-item-e93e033139","linkDescription":"Snowflake의 트랜잭션 및 분석 워크로드 통합으로 운영 간소화","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/product/features/end-to-end-ml-workflows/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Unistore"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item_511717659","nav_item_copy_660590_924064894","nav_item_copy_660590"],":type":"snowflake-site/components/nav/nav-column"}},":itemsOrder":["nav_column","nav_column_copy_copy","nav_column_676020780"],":type":"snowflake-site/components/nav/nav-column/nav-column-container"},":type":"snowflake-site/components/nav/nav-dropdown-menu","cq:panelTitle":"제품"},"nav_dropdown_menu_2":{"id":"nav-dropdown-menu-99bf9e18e0","enableDropdown":true,"nav_column_container":{"layout":"SIMPLE","id":"container-a5580b3fda",":items":{"nav_column":{"navColumnTitle":"산업용","numberOfSubColumns":"one-column","minWidth":"280","layout":"SIMPLE","id":"container-c5a60abdd2","appliedCssClassNames":"snowflake-responsive-container-inner-padding-extra-small",":items":{"nav_item":{"id":"nav-item-6c2fa9c6c4","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/ko/solutions/industries/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"산업별 솔루션"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1016012800":{"id":"nav-item-762ae16cff","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/solutions/industries/advertising-media-entertainment/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"광고, 미디어 및 엔터테인먼트"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_copy":{"id":"nav-item-27ff2364f1","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/solutions/industries/financial-services/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"금융 서비스"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_197051":{"id":"nav-item-3f8f4b8571","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/solutions/industries/healthcare-and-life-sciences/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"헬스케어 및 라이프사이언스"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_153342":{"id":"nav-item-383eeeed6b","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/solutions/industries/manufacturing/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"제조"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_144445":{"id":"nav-item-0e5e4ceea2","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/solutions/industries/public-sector/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"공공 부문"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_114948":{"id":"nav-item-18cb0d3596","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/solutions/industries/retail-consumer-goods/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"리테일/소비재"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_574170":{"id":"nav-item-e22bdc7f75","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/solutions/industries/technology/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"테크놀로지"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_361384_1935318080":{"id":"nav-item-7f0c4bcadd","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/solutions/industries/telecom/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"통신"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_361384_1107159381":{"id":"nav-item-7d29348dab","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":"여행 및 숙박 "},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item","nav_item_copy_1016012800","nav_item_copy_copy","nav_item_copy_197051","nav_item_copy_153342","nav_item_copy_144445","nav_item_copy_114948","nav_item_copy_574170","nav_item_copy_361384_1935318080","nav_item_copy_361384_1107159381"],":type":"snowflake-site/components/nav/nav-column"},"nav_column_copy":{"navColumnTitle":"부서용","numberOfSubColumns":"one-column","minWidth":"160","layout":"SIMPLE","id":"container-d26425e278",":items":{"nav_item":{"id":"nav-item-07f9bb7ddd","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/solutions/departments/finance/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"금융"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy":{"id":"nav-item-8c0b53eded","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/solutions/departments/information-technology/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"IT"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1970515619":{"id":"nav-item-c080030e75","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/solutions/departments/marketing/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"마케팅"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item","nav_item_copy","nav_item_copy_1970515619"],":type":"snowflake-site/components/nav/nav-column"},"nav_column_833417450":{"navColumnTitle":"역량 강화 솔루션","numberOfSubColumns":"one-column","layout":"SIMPLE","id":"container-b7890c3fa9",":items":{"nav_item_copy_107772":{"id":"nav-item-1f421c88d0","linkDescription":"통합된 플랫폼으로의 안전한 마이그레이션 지원","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/migrate-to-the-cloud/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"AI 데이터 클라우드 마이그레이션 "},"icon":{"id":"icon","alt":"Cloud icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/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/1752092983163/nav-icon-cloud.svg","lazyEnabled":true,"width":"64","height":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_copy":{"id":"nav-item-50e6140326","linkDescription":"Snowflake 전문가 지원을 통한 비즈니스 가속화 및 목표 달성","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","alt":"Migrate icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/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/1778205082215/nav-icon--migrate.svg","lazyEnabled":true,"width":"64","height":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item_copy_107772","nav_item_copy_copy"],":type":"snowflake-site/components/nav/nav-column"},"nav_column_copy_copy":{"navColumnTitle":"파트너 솔루션","numberOfSubColumns":"one-column","layout":"SIMPLE","id":"container-7abe4837b4",":items":{"nav_item":{"id":"nav-item-9f7ce825c8","linkDescription":"제품, 솔루션 및 클라우드 파트너와 함께하는 프로그램","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 파트너 네트워크 "},"icon":{"id":"icon","alt":"Partner Network icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/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/1778205103076/nav-icon--partner-network.svg","lazyEnabled":true,"width":"64","height":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy":{"id":"nav-item-a890f14c14","linkDescription":"확장 배포를 위한 파트너, 앱 및 솔루션 검색기","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":"파트너 찾기"},"icon":{"id":"icon","alt":"Partner Finder icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/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/1778205113516/nav-icon--partner-finder.svg","lazyEnabled":true,"width":"64","height":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1970515619":{"id":"nav-item-1c3bc8212a","linkDescription":"라이브 및 가상 이벤트","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":"이벤트 파트너십 기회"},"icon":{"id":"icon","alt":"Calendar icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/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/1778205123183/nav-icon--events.svg","lazyEnabled":true,"width":"64","height":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item","nav_item_copy","nav_item_copy_1970515619"],":type":"snowflake-site/components/nav/nav-column"}},":itemsOrder":["nav_column","nav_column_copy","nav_column_833417450","nav_column_copy_copy"],":type":"snowflake-site/components/nav/nav-column/nav-column-container"},":type":"snowflake-site/components/nav/nav-dropdown-menu","cq:panelTitle":"솔루션"},"item_1719963657751_c":{"id":"nav-dropdown-menu-0787973d49","enableDropdown":true,"nav_column_container":{"layout":"SIMPLE","id":"container-643392f278",":items":{"nav_column":{"numberOfSubColumns":"one-column","minWidth":"230","maxWidth":"350","layout":"SIMPLE","id":"container-08bd1e1360",":items":{"nav_item_copy_copy_2_793631646":{"id":"nav-item-3daa30bba9","additionalClasses":"nav-item__platform-parent-why-sf","linkDescription":"로컬 및 글로벌 차원에서 협업하여 새로운 인사이트를 발견하고, 이전에는 전혀 예상치 못했던 비즈니스 기회를 창출하며, 고객을 식별하고 원활한 경험을 제공합니다.","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/why-snowflake/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Snowflake를 사용해야 하는 이유"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item_copy_copy_2_793631646"],":type":"snowflake-site/components/nav/nav-column"},"nav_column_copy_copy":{"additionalClasses":"meganav-platform-features","numberOfSubColumns":"two-columns","layout":"SIMPLE","id":"container-f756dffb5b",":items":{"nav_item":{"id":"nav-item-fcebc2fd47","propertiesId":"testID","linkDescription":"Snowflake를 활용하는 글로벌 조직들에 대한 사례 연구와 비디오","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/customers/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"고객"},"icon":{"id":"icon","alt":"Customer icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/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/1740636508863/nav-icon--partner-network.svg","lazyEnabled":true,"width":"64","height":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_258535199":{"id":"nav-item-f7aead911e","propertiesId":"workload-nav-1","linkDescription":"AI 데이터 클라우드에서 데이터와 앱을 연결, 공유 및 통합하는 방법을 알아보세요.","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/why-snowflake/what-is-data-cloud/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"AI 데이터 클라우드 살펴보기"},"icon":{"id":"icon","alt":"Cloud icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/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/1740636598409/nav-icon-cloud.svg","lazyEnabled":true,"width":"64","height":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_185565":{"id":"nav-item-54985b78fb","linkDescription":"내장된 기능, 강력한 클라우드 인프라 보호 등을 통한 포괄적인 보안 제공","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/why-snowflake/snowflake-security-hub/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"보안 허브"},"icon":{"id":"icon","alt":"User with security lock icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/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/1740636570963/user-security-admins-ciso-icon.svg","lazyEnabled":true,"width":"64","height":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy":{"id":"nav-item-375ab7e91f","additionalClasses":"is-light-gray-icon","linkDescription":"총소유비용(TCO)을 최소화하고 요금 대비 성능을 지속적으로 최적화하여 경제적 가치를 극대화하세요.","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":"비용 및 성능 최적화"},"icon":{"id":"icon","alt":"Cost Optimization icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/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/1740636477103/nav-icon-cost-optimization-performance.svg","lazyEnabled":true,"width":"64","height":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_185565_1325641543":{"id":"nav-item-29871b13bc","linkDescription":"AI 데이터 클라우드 기반 애플리케이션을 개발하는 스타트업 지원","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/why-snowflake/partners/powered-by-snowflake/powered-by-snowflake-startup-program/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"스타트업을 위한 Snowflake"},"icon":{"id":"icon","alt":"/content/snowflake-site/global/ko/why-snowflake/partners/powered-by-snowflake/powered-by-snowflake-startup-program","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/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_1325641543/icon.coreimg.svg/1778284274253/launch.svg","lazyEnabled":true,"width":"65","height":"64",":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_1325641543"],":type":"snowflake-site/components/nav/nav-column"}},":itemsOrder":["nav_column","nav_column_copy_copy"],":type":"snowflake-site/components/nav/nav-column/nav-column-container"},":type":"snowflake-site/components/nav/nav-dropdown-menu","cq:panelTitle":"Snowflake를 사용해야 하는 이유"},"item_1719961362824":{"id":"nav-dropdown-menu-59c3815a55","enableDropdown":true,"nav_column_container":{"layout":"SIMPLE","id":"container-2608ce7ed5",":items":{"nav_column_copy":{"navColumnTitle":"Connect","numberOfSubColumns":"one-column","minWidth":"124","layout":"SIMPLE","id":"container-10032b1df4",":items":{"nav_item":{"id":"nav-item-141c7c95b1","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/blog/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"블로그"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_180298689":{"id":"nav-item-987a85af4f","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/events/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"이벤트"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_1639361946":{"id":"nav-item-4f607ed949","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/support/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"지원"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_680912746":{"id":"nav-item-78d9afd2d2","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/contact/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"문의"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item","nav_item_180298689","nav_item_1639361946","nav_item_680912746"],":type":"snowflake-site/components/nav/nav-column"},"nav_column_44600420__826130542":{"navColumnTitle":"학습","numberOfSubColumns":"two-columns","layout":"SIMPLE","id":"container-eb03590117",":items":{"nav_item_copy":{"id":"nav-item-e2639dc4ce","linkDescription":"eBook, 팟캐스트, 비디오, 백서 등","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/resources/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"리소스 라이브러리"},"icon":{"id":"icon","alt":"Notebooks icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/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/1740636655434/nav-icon--notebooks.svg","lazyEnabled":true,"width":"64","height":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item":{"id":"nav-item-586a2ddad4","linkDescription":"Snowflake의 교육 프로그램 개요","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/resources/learn/training/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"교육"},"icon":{"id":"icon","alt":"Training icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/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/1778205646803/nav-icon--training.svg","lazyEnabled":true,"width":"64","height":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_144634_1984107859":{"id":"nav-item-186ddad23e","linkDescription":"다양한 산업 및 사용 사례에 대해 전문가가 주도하는 토론 및 데모","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/content/snowflake-site/global/ko/webinars"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"웨비나"},"icon":{"id":"icon","alt":"Webinars icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/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/1773154016344/nav-icon--webinars.svg","lazyEnabled":true,"width":"64","height":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1438098918":{"id":"nav-item-1c6ca2a5f1","linkDescription":"Snowflake의 기술 산업 전문 자격증","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/resources/learn/certifications/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"자격 인증"},"icon":{"id":"icon","alt":"Certification icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/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/1740636703088/nav-icon--cert.svg","lazyEnabled":true,"width":"64","height":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_143809":{"id":"nav-item-82fde00415","linkDescription":"주요 기능에 대한 주간 제품 데모 및 실시간 Q&A 제공","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/content/snowflake-site/global/en/webinars/demo"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"라이브 데모"},"icon":{"id":"icon","alt":"Live Demo icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/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/1778205597408/nav-icon--live-demo.svg","lazyEnabled":true,"width":"64","height":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_333890638":{"id":"nav-item-46677fdcdc","linkDescription":"모든 레벨을 위한 교육 과정, 온디맨드 또는 실시간 강의 제공","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","alt":"Education icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/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/1778205657253/nav-icon--education.svg","lazyEnabled":true,"width":"64","height":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_189945_1419909438":{"id":"nav-item-f9195e508d","linkDescription":"Snowflake의 핵심 기능을 익힐 수 있는 강사 주도의 가상 워크샵","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/content/snowflake-site/global/en/webinars/virtual-hands-on-lab"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"핸즈온 랩"},"icon":{"id":"icon","alt":"Hands-on Labs icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/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_1419909438/icon.coreimg.svg/1778205618866/nav-icon--labs.svg","lazyEnabled":true,"width":"64","height":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_189945_71807784":{"id":"nav-item-fd33b8f327","linkDescription":"Snowflake 연구진이 작성한 연구 논문","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/resources/publications/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Snowflake Research Publications"},"icon":{"id":"icon","alt":"Data Sheet","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/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_71807784/icon.coreimg.svg/1778205823757/data-sheet.svg","lazyEnabled":true,"width":"65","height":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_189945_1090045707":{"id":"nav-item-2840649831","linkDescription":"AI 및 데이터 주제 관련 인사이트 콘텐츠","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/ko/fundamentals/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Fundamentals"},"icon":{"id":"icon","alt":"Hands-on Labs icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/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_1090045707/icon.coreimg.svg/1778214635577/nav-icon--labs.svg","lazyEnabled":true,"width":"64","height":"64",":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_1419909438","nav_item_copy_189945_71807784","nav_item_copy_189945_1090045707"],":type":"snowflake-site/components/nav/nav-column"}},":itemsOrder":["nav_column_copy","nav_column_44600420__826130542"],":type":"snowflake-site/components/nav/nav-column/nav-column-container"},":type":"snowflake-site/components/nav/nav-dropdown-menu","cq:panelTitle":"리소스"},"item_1719963657751":{"id":"nav-dropdown-menu-aca6e47138","enableDropdown":true,"nav_column_container":{"layout":"SIMPLE","id":"container-fd44610243",":items":{"nav_column_copy_copy":{"navColumnTitle":"Build","numberOfSubColumns":"one-column","layout":"SIMPLE","id":"container-07e3cf5c7d",":items":{"nav_item":{"id":"nav-item-f2b90e194c","propertiesId":"testID","linkDescription":"빌드 및 확장이 필요한 개발자 리소스 개요","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/developers/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"개발자를 위한 Snowflake"},"icon":{"id":"icon","alt":"Developers icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/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/1778205851807/nav-icon--devs.svg","lazyEnabled":true,"width":"64","height":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1855651246":{"id":"nav-item-a913c9a6ea","linkDescription":"참조 아키텍처, 사용 사례 및 모범 사례","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/developers/guides/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"개발자 가이드"},"icon":{"id":"icon","alt":"Solution Center icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/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/1778214724119/nav-icon--solution-center.svg","lazyEnabled":true,"width":"64","height":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy":{"id":"nav-item-24bd1509ce","additionalClasses":"is-light-gray-icon","linkDescription":"최신 소프트웨어 버전, 드라이버, 라이브러리 및 관련 문서","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/developers/downloads/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"다운로드 "},"icon":{"id":"icon","alt":"Download icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/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/1778205861103/nav-icon-download.svg","lazyEnabled":true,"width":"28","height":"28",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item","nav_item_copy_1855651246","nav_item_copy"],":type":"snowflake-site/components/nav/nav-column"},"nav_column_copy_copy_1367930678":{"navColumnTitle":"학습","numberOfSubColumns":"one-column","layout":"SIMPLE","id":"container-e34051b633",":items":{"nav_item":{"id":"nav-item-e497a31868","propertiesId":"testID","linkDescription":"참조 문서, 가이드, 자습서 및 발표 내용","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"attributes":{"target":"_blank"},"url":"https://docs.snowflake.com/ko"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"설명서"},"icon":{"id":"icon","alt":"Docs icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/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/1740636759283/nav-icon--docs.svg","lazyEnabled":true,"width":"64","height":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy":{"id":"nav-item-91663e1ba4","additionalClasses":"is-light-gray-icon","linkDescription":"Snowflake 엔지니어들이 유지 및 지원 중인 핵심  프로젝트 ","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/developers/open-source/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"오픈소스"},"icon":{"id":"icon","alt":"Open Source icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/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/1778205872502/nav-icon-open-source.svg","lazyEnabled":true,"width":"32","height":"32",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_copy":{"id":"nav-item-ab4a5f310e","additionalClasses":"is-light-gray-icon","linkDescription":"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 교육 "},"icon":{"id":"icon","alt":"Northstar logo","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/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/1778205893789/nav-icon--northstar.svg","lazyEnabled":true,"width":"32","height":"32",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item","nav_item_copy","nav_item_copy_copy"],":type":"snowflake-site/components/nav/nav-column"},"nav_column_copy_copy_1101894776":{"navColumnTitle":"Connect","numberOfSubColumns":"one-column","layout":"SIMPLE","id":"container-b5693173c9",":items":{"nav_item":{"id":"nav-item-3993ab0088","propertiesId":"testID","linkDescription":"Snowflake 기능 구축 방법 및 이유 등에 대한 기술 리더들의 설명","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"attributes":{"target":"_blank"},"url":"https://www.snowflake.com/engineering-blog/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"엔지니어링 블로그"},"icon":{"id":"icon","alt":"Developers icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/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/1778284968921/nav-icon--developer-center.svg","lazyEnabled":true,"width":"32","height":"32",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1855651246":{"id":"nav-item-a5671aac1f","linkDescription":"Snowflake 개발자들과 토론하고 비법 및 요령을 공유하는 공간","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":"커뮤니티"},"icon":{"id":"icon","alt":"Partner Network icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/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/1778205910554/nav-icon--partner-network.svg","lazyEnabled":true,"width":"64","height":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item","nav_item_copy_1855651246"],":type":"snowflake-site/components/nav/nav-column"}},":itemsOrder":["nav_column_copy_copy","nav_column_copy_copy_1367930678","nav_column_copy_copy_1101894776"],":type":"snowflake-site/components/nav/nav-column/nav-column-container"},":type":"snowflake-site/components/nav/nav-dropdown-menu","cq:panelTitle":"개발자"},"item_1718247180324":{"id":"nav-dropdown-menu-94368b5e01","enableDropdown":false,"link_url":"/ko/pricing-options/",":type":"snowflake-site/components/nav/nav-dropdown-menu","cq:panelTitle":"요금"}},":itemsOrder":["item_1719963657751_c_663444255","nav_dropdown_menu_2","item_1719963657751_c","item_1719961362824","item_1719963657751","item_1718247180324"]},"languagenavigation":{"id":"language-navigation-b23996843e","languageNavItems":[{"title":"English","path":"/en/","locale":"en","active":false},{"title":"日本語","path":"/ja/","locale":"ja","active":false},{"title":"한국어","path":"/ko/developers/guides/getting-started-with-snowpark-kr/","locale":"ko","active":true},{"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":{"id":"button-0ebe543eec","heapButtonClasses":["contact_nav","heap-nav-contact"],"showOutboundIcon":true,"buttonLink":{"valid":true,"url":"/ko/contact/"},"linkTargetContentType":"GENERIC","appliedCssClassNames":"snowflake-button-secondary snowflake-button-blue snowflake-button-compact","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"영업 담당자에게 문의하기"},"button_288358396":{"id":"button-fc19586158","heapButtonClasses":["start_for_free_nav","heap-nav-start-for-free"],"showOutboundIcon":true,"buttonLink":{"valid":true,"attributes":{"target":"_blank"},"url":"https://signup.snowflake.com/"},"linkTargetContentType":"GENERIC","appliedCssClassNames":"snowflake-button-primary snowflake-button-blue snowflake-button-compact","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"무료로 시작하기"}},":itemsOrder":["nav_mega","languagenavigation","button","button_288358396"],":type":"snowflake-site/components/mega-header"}},":itemsOrder":["markup_editor","mega_header"],":type":"snowflake-site/components/container"}},":itemsOrder":["root"],":type":"snowflake-site/components/experiencefragment","classNames":"aem-xf"},"markup_editor_1950346551":{"id":"markup-editor-7ab639ab72","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-67605f7ccb","isDeveloperGuidesPage":false,"quickstartHeroAuthor":"Author","quickstartHeroFirstCertifiedTag":{"tagText":"Quickstart","tagColor":"#29B5E8","tagPath":"/content/cq:tags/snowflake-site/taxonomy/solution-center/certification/quickstart","tagIcon":""},"fragmentPath":"/content/dam/snowflake-site/ko/content-fragments/quickstarts/getting-started-with-snowpark-kr",":type":"snowflake-site/components/quickstart/quickstart-hero","quickstartHeroBreadcrumbs":[{"title":"Snowpark 시작하기","url":"https://www.snowflake.com/content/snowflake-site/global/ko/developers/guides/getting-started-with-snowpark-kr","currentPage":true},{"title":"개발자 솔루션 센터","url":"https://www.snowflake.com/content/snowflake-site/global/ko/developers/guides","currentPage":false},{"title":"Snowflake for Developers","url":"https://www.snowflake.com/content/snowflake-site/global/ko/developers","currentPage":false}],"quickstartHeroForkRepoLink":{"id":"button-3144dbd688","showOutboundIcon":false,"buttonLink":{"valid":true,"attributes":{"target":"_blank"},"url":"https://github.com/Snowflake-Labs/sfquickstarts/tree/master/site/sfguides/src/getting-started-with-snowpark-kr"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Fork Repo"},"quickstartHeroTitle":{"lines":["Snowpark 시작하기"],"type":"heading2",":type":"snowflake-site/components/title-v2"}},"flexible_column_cont":{"id":"flexible-column-container-d10916cd3e","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-8108076be9",":items":{"contentfragment":{"id":"contentfragment-46ce7b2ded","description":"","title":"Snowpark 시작하기","paragraphs":["&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003E개요\u003C/h2\u003E\n","\u003Cp\u003E\u003Ca href=\"https://docs.snowflake.com/ko/developer-guide/snowpark/index.html\"\u003ESnowpark API\u003C/a\u003E를 사용하여 SQL 문 대신 오브젝트(예: \u003Ca href=\"https://docs.snowflake.com/ko/developer-guide/snowpark/reference/scala/com/snowflake/snowpark/DataFrame.html\"\u003EDataFrame\u003C/a\u003E)를 사용하는 코드를 작성하여 데이터를 쿼리하고 조작할 수 있습니다. Snowpark는 복잡한 데이터 파이프라인을 쉽게 구축할 수 있도록 설계되었습니다. 이를 통해 데이터를 이동하지 않고도 Snowflake와 직접 상호 작용할 수 있습니다. Snowpark API를 사용할 때 라이브러리는 Snowflake에서 여러분의 코드를 업로드하고 실행합니다. 따라서 처리를 위해 별도의 시스템으로 데이터를 이동할 필요가 없습니다.\u003C/p\u003E\n","\u003Cp\u003E현재 Snowpark는 AWS에서 공식적으로 제공하고 있으며 Azure와 GCP에서는 미리 보기 기능입니다.\u003C/p\u003E\n","\u003Ch3\u003E구축할 것\u003C/h3\u003E\n\u003Cul\u003E\u003Cli\u003E스테이지에서 데이터를 처리하기 위해 Snowpark 라이브러리를 사용하는 Scala 애플리케이션\u003C/li\u003E\u003C/ul\u003E\n","\u003Ch3\u003E학습할 내용\u003C/h3\u003E\n\u003Cul\u003E\u003Cli\u003E스테이지에서 데이터를 로드하는 DataFrame 생성 방법\u003C/li\u003E\u003Cli\u003EScala 코드를 위한 사용자 정의 함수 생성 방법\u003C/li\u003E\u003Cli\u003EScala 함수에서 저장 프로시저 생성 방법\u003C/li\u003E\u003C/ul\u003E\n","\u003Ch3\u003E사전 필요 조건 및 지식\u003C/h3\u003E\n\u003Cul\u003E\u003Cli\u003EScala에 대한 이해\u003C/li\u003E\u003Cli\u003EAmazon Web Services(AWS) 또는 Microsoft Azure에서 호스트하는 \u003Ca href=\"/\"\u003ESnowflake\u003C/a\u003E 계정.\u003C/li\u003E\u003Cli\u003E\u003Ca href=\"https://git-scm.com/downloads\"\u003Egit\u003C/a\u003E\u003C/li\u003E\u003Cli\u003E\u003Ca href=\"https://www.scala-sbt.org/\"\u003ESBT\u003C/a\u003E\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E또한 Scala 2.12(특히나 버전 2.12.9 또는 그 이후 2.12.x 버전)를 대상으로 SBT 프로젝트를 지원하는 개발 도구나 환경을 사용할 수 있습니다. Snowpark는 아직 2.12 이후의 Scala 버전(예: 2.13)을 지원하지 않습니다.\u003C/p\u003E\n","\u003Cp\u003ESnowpark는 Java 11에서 실행되도록 컴파일된 코드를 지원합니다.\u003C/p\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003E리포지토리 다운로드\u003C/h2\u003E\n","\u003Cp\u003ESnowflake GitHub 리포지토리에서 데모를 찾을 수 있습니다. Git을 설치한 다음 여러분의 터미널을 사용하여 리포지토리를 복제할 수 있습니다.\u003C/p\u003E\n","\u003Ch3\u003E리포지토리 복제\u003C/h3\u003E\n\u003Col\u003E\u003Cli\u003E\n","\u003Cp\u003E터미널 창을 열고 다음 명령을 실행하여 리포지토리를 복제하고자 하는 디렉터리를 변경한 다음 리포지토리를 복제합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-console\"\u003Ecd {directory_where_you_want_the_repository}\ngit clone https://github.com/Snowflake-Labs/sfguide-snowpark-demo\n\u003C/code\u003E\u003C/pre\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E복제한 리포지토리의 디렉터리를 변경합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-console\"\u003Ecd sfguide-snowpark-demo\n\u003C/code\u003E\u003C/pre\u003E\n\u003C/li\u003E\u003C/ol\u003E\n","\u003Cp\u003E리포지토리의 데모 디렉터리에는 다음 파일이 포함되어 있습니다.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Ccode\u003Ebuild.sbt\u003C/code\u003E: 이 데모 프로젝트를 위한 SBT 빌드 파일입니다.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Ccode\u003Esnowflake_connection.properties\u003C/code\u003E: Snowflake에 연결하기 위해 이 데모의 예에서는 이 파일의 설정을 읽습니다. 이 파일을 편집하고 Snowflake 데이터베이스와 연결하기 위해 사용하는 설정을 지정하게 됩니다.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Ccode\u003Esrc/main/scala/HelloWorld.scala\u003C/code\u003E: Snowpark 라이브러리를 사용하는 단순한 예시입니다. Snowflake와 연결되며 \u003Ccode\u003ESHOW TABLES\u003C/code\u003E 명령을 실행하고 나열된 첫 3개의 테이블을 출력합니다. 이 예시를 실행하여 Snowflake에 연결할 수 있는지 확인합니다.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Ccode\u003Esrc/main/scala/UDFDemoSetup.scala\u003C/code\u003E: 데모를 위해 UDF(사용자 정의 함수)에 필요한 데이터와 라이브러리를 설정합니다. UDF는 이름이 지정된 내부 스테이지에 업로드되어야 하는 데이터 파일과 JAR 파일에 의존합니다. 데이터와 JAR 파일을 다운로드하고 추출한 후 이 예시를 실행하여 스테이지를 생성하고 파일을 업로드합니다.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Ccode\u003Esrc/main/scala/UDFDemo.scala\u003C/code\u003E: UDF를 생성하고 호출하는 단순한 코드 예시입니다.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003ESnowflake와의 연결을 위한 설정 구성\u003C/h2\u003E\n","\u003Cp\u003E데모 디렉터리에는 예시 코드가 Snowflake와 연결하기 위해 \u003Ca href=\"https://docs.snowflake.com/ko/developer-guide/snowpark/creating-session.html\"\u003E세션 생성\u003C/a\u003E에 사용하는 \u003Ccode\u003Esnowflake_connection.properties\u003C/code\u003E 파일이 포함되어 있습니다. 코드가 여러분의 Snowflake 계정과 연결될 수 있도록 이러한 속성을 편집해야 합니다.\u003C/p\u003E\n","\u003Ch3\u003E연결 설정 구성\u003C/h3\u003E\n","\u003Cp\u003E이 파일을 편집하고 Snowflake와 연결하기 위해 사용하는 값으로 \u003Ccode\u003E&lt;placeholder&gt;\u003C/code\u003E 값을 대체합니다. 예:\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-console\"\u003EURL = https://myaccount.snowflakecomputing.com\nUSER = myusername\nPRIVATE_KEY_FILE = /home/username/rsa_key.p8\nPRIVATE_KEY_FILE_PWD = my_passphrase_for_my_encrypted_private_key_file\nROLE = my_role\nWAREHOUSE = my_warehouse\nDB = my_db\nSCHEMA = my_schema\n\u003C/code\u003E\u003C/pre\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Ca href=\"https://docs.snowflake.com/ko/user-guide/organizations-connect.html\"\u003E여러분의 계정 식별자를 포함하는 URL\u003C/a\u003E을 사용합니다. URL 형식에 대한 자세한 정보는 \u003Ca href=\"https://docs.snowflake.com/ko/user-guide/admin-account-identifier.html\"\u003E계정 식별자\u003C/a\u003E를 확인하십시오.\u003C/li\u003E\u003Cli\u003E선택하는 \u003Ccode\u003EROLE\u003C/code\u003E에는 스테이지를 생성하고 지정된 데이터베이스 및 스키마에서 테이블을 작성할 수 있는 권한이 있어야 합니다.\u003C/li\u003E\u003Cli\u003E다른 속성의 경우 \u003Ca href=\"https://docs.snowflake.com/ko/user-guide/jdbc-parameters.html\"\u003EJDBC 드라이버가 지원하는 연결 매개 변수\u003C/a\u003E를 사용하십시오.\u003C/li\u003E\u003C/ul\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003ESnowflake 연결\u003C/h2\u003E\n","\u003Cp\u003E이 단계에서는 여러분이 Snowflake를 데모 코드 및 연결 속성과 연결할 수 있음을 확인하겠습니다.\u003C/p\u003E\n","\u003Ch3\u003ESnowflake와 연결할 수 있음을 확인\u003C/h3\u003E\n","\u003Cp\u003E\u003Ca href=\"https://www.scala-sbt.org/1.x/docs/Running.html\"\u003ESBT 명령줄 도구\u003C/a\u003E를 사용하여 다음 명령을 실행해 Snowflake와 연결할 수 있음을 확인하기 위해 \u003Ccode\u003EHelloWorld.scala\u003C/code\u003E 예시를 구축하고 실행합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-console\"\u003Esbt &quot;runMain HelloWorld&quot;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Ch3\u003E코드 검토회\u003C/h3\u003E\n","\u003Cp\u003EHelloWorld 애플리케이션이 성공적으로 실행되면 다음과 같은 애플리케이션의 코드와 출력의 검토회를 확인하십시오.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E세션을 설정하기 위해 애플리케이션 코드는 \u003Ccode\u003Esnowflake_connection.properties\u003C/code\u003E에 지정된 설정으로 \u003Ca href=\"https://docs.snowflake.com/ko/developer-guide/snowpark/reference/scala/com/snowflake/snowpark/Session.html\"\u003ESession\u003C/a\u003E 오브젝트를 생성합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-scala\"\u003Eval session = Session.builder.configFile(&quot;snowflake_connection.properties&quot;).create\n\u003C/code\u003E\u003C/pre\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E그런 다음 애플리케이션 코드는 \u003Ca href=\"https://docs.snowflake.com/ko/developer-guide/snowpark/working-with-dataframes.html\"\u003EDataFrame을 생성\u003C/a\u003E하여 \u003Ccode\u003ESHOW TABLES\u003C/code\u003E 명령 실행의 결과를 저장합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-scala\"\u003Eval df = session.sql(&quot;show tables&quot;)\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E이는 SQL 문을 실행하지 않습니다. 출력에는 Snowpark 라이브러리가 SQL 문을 실행했음을 나타내는 어떠한 \u003Ccode\u003EINFO\u003C/code\u003E 메시지도 포함되지 않습니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-console\"\u003E=== Creating a DataFrame to execute a SQL statement ===\n\n[sbt-bg-threads-1]  INFO (Logging.scala:22) - Actively querying parameter snowpark_lazy_analysis from server.\n\u003C/code\u003E\u003C/pre\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003ESnowpark에서 \u003Ca href=\"https://docs.snowflake.com/ko/developer-guide/snowpark/reference/scala/com/snowflake/snowpark/DataFrame.html\"\u003EDataFrame\u003C/a\u003E은 느슨하게 평가됩니다. 이는 여러분이 작업을 수행하는 메서드를 호출할 때까지 문이 실행되지 않음을 의미합니다. 이러한 메서드 중 하나는 DataFrame에서 첫 10개의 행을 출력하는 \u003Ccode\u003Eshow\u003C/code\u003E입니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-scala\"\u003Edf.show()\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E출력에서 확인할 수 있듯이 \u003Ccode\u003Eshow\u003C/code\u003E는 SQL 문을 실행합니다. 결과는 DataFrame에 반환되며 DataFrame에 있는 첫 10개의 행이 출력됩니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-console\"\u003E=== Execute the SQL statement and print the first 10 rows ===\n\n[sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a25558-0504-b2b8-0000-438301da121e] show tables\n------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n|&quot;created_on&quot;             |&quot;name&quot;             |&quot;database_name&quot;     |&quot;schema_name&quot;  |&quot;kind&quot;  |&quot;comment&quot;  |&quot;cluster_by&quot;  |&quot;rows&quot;  |&quot;bytes&quot;  |&quot;owner&quot;       |&quot;retention_time&quot;  |&quot;automatic_clustering&quot;  |&quot;change_tracking&quot;  |&quot;is_external&quot;  |\n------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n|2022-02-15 11:19:20.294  |DEMO_HAPPY_TWEETS  |SNOWPARK_DEMO_DATA  |PUBLIC         |TABLE   |           |              |22      |2560     |ACCOUNTADMIN  |1                 |OFF                     |OFF                |N              |\n------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n\u003C/code\u003E\u003C/pre\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E이제 Snowflake와 연결할 수 있음을 확인했으니 UDF 작업을 생성하기 위해 데이터와 라이브러리를 가져와야 합니다.\u003C/p\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003E데모를 위한 데이터 파일 및 라이브러리 다운로드\u003C/h2\u003E\n","\u003Cp\u003E이 단계에서는 앞으로 생성할 사용자 정의 함수를 실행하기 위해 필요한 샘플 데이터 파일과 라이브러리를 다운로드하겠습니다. 이 데모는 \u003Ca href=\"https://stanfordnlp.github.io/CoreNLP/\"\u003ECoreNLP 프로젝트\u003C/a\u003E에서 가져온 \u003Ca href=\"https://www.kaggle.com/kazanova/sentiment140\"\u003Esentiment140\u003C/a\u003E 데이터 세트와 라이브러리를 사용합니다.\u003C/p\u003E\n","\u003Ch3\u003E종속성 JAR 및 샘플 데이터 파일 다운로드\u003C/h3\u003E\n\u003Col\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Ca href=\"https://www.kaggle.com/kazanova/sentiment140\"\u003Esentiment140\u003C/a\u003E 페이지로 이동하고 \u003Cstrong\u003EDownload\u003C/strong\u003E를 클릭하여 데이터 세트가 포함된 ZIP 아카이브를 다운로드합니다.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E다운로드한 \u003Ccode\u003Earchive.zip\u003C/code\u003E 파일에서 \u003Ccode\u003Etraining.1600000.processed.noemoticon.csv\u003C/code\u003E 압축을 풉니다.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Ca href=\"https://nlp.stanford.edu/software/stanford-corenlp-full-2015-12-09.zip\"\u003ECoreNLP 라이브러리 버전 3.6.0을 다운로드하십시오\u003C/a\u003E.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E다운로드한 \u003Ccode\u003Estanford-corenlp-full-2015-12-09.zip\u003C/code\u003E 파일에서 라이브러리 압축을 풉니다.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Ccode\u003Esfguide-snowpark-demo\u003C/code\u003E 디렉터리에서 데이터와 JAR 파일을 위한 임시 디렉터리(예: \u003Ccode\u003Emkdir files_to_upload\u003C/code\u003E)를 생성합니다.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Ccode\u003Earchive.zip\u003C/code\u003E에서 추출한 다음 파일을 \u003Ccode\u003Esfguide-snowpark-demo/files_to_upload/\u003C/code\u003E 디렉터리에 복사합니다.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Ccode\u003Etraining.1600000.processed.noemoticon.csv\u003C/code\u003E\u003C/li\u003E\u003C/ul\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Ccode\u003Estanford-corenlp-full-2015-12-09.zip\u003C/code\u003E에서 추출한 다음 파일을 \u003Ccode\u003Esfguide-snowpark-demo/files_to_upload/\u003C/code\u003E 디렉터리에 복사합니다.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Ccode\u003Estanford-corenlp-3.6.0.jar\u003C/code\u003E\u003C/li\u003E\u003Cli\u003E\u003Ccode\u003Estanford-corenlp-3.6.0-models.jar\u003C/code\u003E\u003C/li\u003E\u003Cli\u003E\u003Ccode\u003Eslf4j-api.jar\u003C/code\u003E\u003C/li\u003E\u003Cli\u003E\u003Ccode\u003Eejml-0.23.jar\u003C/code\u003E\u003C/li\u003E\u003C/ul\u003E\n\u003C/li\u003E\u003C/ol\u003E\n","\u003Cp\u003E\u003Ccode\u003Esfguide-snowpark-demo/files_to_upload/\u003C/code\u003E에서 이제 다음 파일이 나타나야 합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-console\"\u003E$ pwd\n&lt;path&gt;/sfguide-snowpark-demo\n\n$ ls files_to_upload\nejml-0.23.jar\t\t\t\t\tstanford-corenlp-3.6.0.jar\nslf4j-api.jar\t\t\t\t\ttraining.1600000.processed.noemoticon.csv\nstanford-corenlp-3.6.0-models.jar\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E다음으로 \u003Ccode\u003EUDFDemoSetup.scala\u003C/code\u003E 예시를 실행하여 이러한 파일을 위한 스테이지를 생성하고 스테이지에 파일을 업로드합니다.\u003C/p\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003E내부 스테이지에 데이터 파일 및 라이브러리 업로드\u003C/h2\u003E\n","\u003Cp\u003E이 섹션에서는 \u003Ccode\u003EUDFDemoSetup.scala\u003C/code\u003E 예시를 실행하여 데이터 파일과 라이브러리를 저장하기 위한 \u003Ca href=\"https://docs.snowflake.com/ko/user-guide/data-load-local-file-system-create-stage.html\"\u003E내부 스테이지\u003C/a\u003E를 생성한 다음 이러한 파일을 스테이지에 업로드하겠습니다.\u003C/p\u003E\n","\u003Cp\u003E데모의 사용자 정의 함수는 Snowflake에서 실행되기에 이러한 라이브러리를 위한 JAR 파일을 Snowflake에 제공하기 위해 내부 스테이지에 업로드해야 합니다. 또한 데모가 데이터에 액세스할 스테이지에 데이터 세트를 업로드해야 합니다.\u003C/p\u003E\n","\u003Ch3\u003E종속성 JAR 및 샘플 데이터 파일 업로드\u003C/h3\u003E\n","\u003Cp\u003E다음 명령을 실행하여 코드를 실행합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-console\"\u003Esbt &quot;runMain UDFDemoSetup&quot;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Ch3\u003E코드 검토회\u003C/h3\u003E\n","\u003Cp\u003EUDFDemoSetup 애플리케이션이 성공적으로 실행된다면 다음을 읽어 수행하는 작업을 이해합니다.\u003C/p\u003E\n","\u003Cp\u003E세션을 생성한 다음 애플리케이션 코드는 \u003Ccode\u003EuploadDemoFiles\u003C/code\u003E를 두 번 호출합니다. 한 번은 샘플 데이터 CSV 파일을 업로드하기 위해 호출하며 다른 한 번은 생성할 UDF의 종속성이 될 JAR 파일을 업로드하기 위해 호출합니다. 이 메서드는 Snowpark 라이브러리를 사용하여 업로드된 파일을 위한 스테이지를 생성합니다.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Ccode\u003EuploadDemoFiles\u003C/code\u003E 메서드는 파일이 업로드되어야 하는 스테이지의 이름과 더불어 업로드할 파일 이름과 일치하는 파일 패턴을 사용합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-scala\"\u003Edef uploadDemoFiles(stageName: String, filePattern: String): Unit = {\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E아래에서는 \u003Ccode\u003EuploadDemoFiles\u003C/code\u003E 내부에서 무슨 일이 벌어지는지를 설명합니다.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E코드는 SQL 문을 실행하여 스테이지를 생성합니다. \u003Ccode\u003Ecollect\u003C/code\u003E 메서드는 DataFrame에서 작업을 수행하여 SQL 문을 실행합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-scala\"\u003Esession.sql(s&quot;create or replace stage $stageName&quot;).collect()\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E예시의 이러한 부분에서는 메서드가 데이터 파일을 위해 스테이지를 생성할 때 다음 출력이 나타나야 합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-console\"\u003E=== Creating the stage @snowpark_demo_data ===\n\n[sbt-bg-threads-1]  INFO (Logging.scala:22) - Actively querying parameter snowpark_lazy_analysis from server.\n[sbt-bg-threads-1]  INFO (Logging.scala:22) - Actively querying parameter QUERY_TAG from server.\n[sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a25576-0504-b1f7-0000-438301d9f31e] alter session set query_tag = 'com.snowflake.snowpark.DataFrame.collect\nUDFDemoSetup$.uploadDemoFiles(UDFDemoSetup.scala:27)'\n[sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a25576-0504-b2bc-0000-438301da22ba] create or replace stage snowpark_demo_data\n[sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a25576-0504-b1f7-0000-438301d9f322] alter session unset query_tag\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E추후에 JAR 파일을 위한 스테이지를 생성하기 위해 이 메서드가 다시 호출되었을 때 다음 출력이 나타나야 합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-console\"\u003E=== Creating the stage @snowpark_demo_udf_dependency_jars ===\n\n[sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a25578-0504-b1f7-0000-438301d9f326] alter session set query_tag = 'com.snowflake.snowpark.DataFrame.collect\nUDFDemoSetup$.uploadDemoFiles(UDFDemoSetup.scala:27)'\n[sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a25578-0504-b2b8-0000-438301da122e] create or replace stage snowpark_demo_udf_dependency_jars\n[sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a25578-0504-b1f7-0000-438301d9f32a] alter session unset query_tag\n\u003C/code\u003E\u003C/pre\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E다음으로 예시는 \u003Ca href=\"https://docs.snowflake.com/ko/developer-guide/snowpark/reference/scala/com/snowflake/snowpark/FileOperation.html\"\u003EFileOperation\u003C/a\u003E 오브젝트를 사용하여 스테이지에 파일을 업로드합니다. \u003Ccode\u003ESession.file\u003C/code\u003E 메서드를 통해 이 오브젝트의 인스턴스에 액세스합니다. 파일을 업로드(사실상 \u003Ccode\u003EPUT\u003C/code\u003E 명령 실행)하기 위해 FileOperation 오브젝트의 \u003Ccode\u003Eput\u003C/code\u003E 메서드를 호출합니다. \u003Ccode\u003Eput\u003C/code\u003E 메서드는 \u003Ca href=\"https://docs.snowflake.com/ko/developer-guide/snowpark/reference/scala/com/snowflake/snowpark/PutResult.html\"\u003EPutResult\u003C/a\u003E 오브젝트의 배열을 반환합니다. 각각에는 특정 파일의 결과가 포함되어 있습니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-scala\"\u003Eval res = session.file.put(s&quot;$uploadDirUrl/$filePattern&quot;, stageName)\nres.foreach(r =&gt; Console.println(s&quot;  ${r.sourceFileName}: ${r.status}&quot;))\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E메서드가 데이터 파일을 업로드할 때 다음이 나타나야 합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-console\"\u003E=== Uploading files matching training.1600000.processed.noemoticon.csv to @snowpark_demo_data ===\n\n[sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a25576-0504-b2b8-0000-438301da1226] alter session set query_tag = 'com.snowflake.snowpark.FileOperation.put\nUDFDemoSetup$.uploadDemoFiles(UDFDemoSetup.scala:31)'\n[sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: ]  PUT file:///Users/straut/workfiles/git/sfguide-snowpark-demo/files_to_upload/training.1600000.processed.noemoticon.csv @snowpark_demo_data\n[sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a25578-0504-b2bc-0000-438301da22be] alter session unset query_tag\n  training.1600000.processed.noemoticon.csv: UPLOADED\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E메서드가 JAR 파일을 업로드할 때 다음이 나타나야 합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-console\"\u003E=== Uploading files matching *.jar to @snowpark_demo_udf_dependency_jars ===\n\n[sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a25578-0504-b2b8-0000-438301da1232] alter session set query_tag = 'com.snowflake.snowpark.FileOperation.put\nUDFDemoSetup$.uploadDemoFiles(UDFDemoSetup.scala:31)'\n[sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: ]  PUT file:///Users/straut/workfiles/git/sfguide-snowpark-demo/files_to_upload/*.jar @snowpark_demo_udf_dependency_jars\n[sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a2557d-0504-b2b8-0000-438301da1236] alter session unset query_tag\n  slf4j-api.jar: UPLOADED\n  stanford-corenlp-3.6.0.jar: UPLOADED\n  ejml-0.23.jar: UPLOADED\n  stanford-corenlp-3.6.0-models.jar: UPLOADED\n\u003C/code\u003E\u003C/pre\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E그런 다음 예시는 \u003Ccode\u003ELS\u003C/code\u003E 명령을 실행하여 새롭게 생성된 스테이지에 파일을 나열하고 출력의 첫 10개의 행을 출력합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-scala\"\u003Esession.sql(s&quot;ls @$stageName&quot;).show()\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E메서드가 CSV 파일을 업로드했을 때 다음이 나타나야 합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-console\"\u003E=== Files in @snowpark_demo_data ===\n\n[sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a25578-0504-b2bc-0000-438301da22c2] ls @snowpark_demo_data\n---------------------------------------------------------------------------------------------------------------------------------------\n|&quot;name&quot;                                              |&quot;size&quot;    |&quot;md5&quot;                                |&quot;last_modified&quot;                |\n---------------------------------------------------------------------------------------------------------------------------------------\n|snowpark_demo_data/training.1600000.processed.n...  |85088032  |da1aae6fe4879f916e740bd80af19685-17  |Tue, 15 Feb 2022 20:06:28 GMT  |\n---------------------------------------------------------------------------------------------------------------------------------------\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E메서드가 JAR 파일을 업로드했을 때 다음이 나타나야 합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-console\"\u003E=== Files in @snowpark_demo_udf_dependency_jars ===\n\n[sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a2557d-0504-b2bc-0000-438301da22ca] ls @snowpark_demo_udf_dependency_jars\n----------------------------------------------------------------------------------------------------------------------------------------\n|&quot;name&quot;                                              |&quot;size&quot;     |&quot;md5&quot;                                |&quot;last_modified&quot;                |\n----------------------------------------------------------------------------------------------------------------------------------------\n|snowpark_demo_udf_dependency_jars/ejml-0.23.jar.gz  |189776     |92c4f90ad7fcb8fecbe0be3951f9b8a3     |Tue, 15 Feb 2022 20:13:38 GMT  |\n|snowpark_demo_udf_dependency_jars/slf4j-api.jar.gz  |22640      |b013b6f5f80f95a285e3169c4f0b85ce     |Tue, 15 Feb 2022 20:13:37 GMT  |\n|snowpark_demo_udf_dependency_jars/stanford-core...  |378223264  |e4b4fdfbec76cc7f8fed01e08eec4dc0-73  |Tue, 15 Feb 2022 20:08:39 GMT  |\n|snowpark_demo_udf_dependency_jars/stanford-core...  |6796432    |2c4a458b9a205395409349b56dc64f8d     |Tue, 15 Feb 2022 20:13:38 GMT  |\n----------------------------------------------------------------------------------------------------------------------------------------\n\u003C/code\u003E\u003C/pre\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E다음으로 \u003Ccode\u003EUDFDemo.scala\u003C/code\u003E 예시를 실행하여 사용자 정의 함수를 생성합니다.\u003C/p\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003EUDF 데모 실행\u003C/h2\u003E\n","\u003Cp\u003E이 단계에서는 \u003Ccode\u003EUDFDemo.scala\u003C/code\u003E 데모 애플리케이션을 실행하여 UDF(사용자 정의 함수)를 생성하고 호출하겠습니다. Snowpark 라이브러리가 이러한 작업을 어떻게 수행하는지 확인하기 위해 다음 주제를 읽어 예시와 출력을 보다 자세하게 확인하십시오.\u003C/p\u003E\n","\u003Ch3\u003EUDF 생성 및 호출\u003C/h3\u003E\n","\u003Cp\u003E다음 명령을 실행하여 코드를 실행합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-console\"\u003Esbt &quot;runMain UDFDemo&quot;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E이 예시는 다음 작업을 수행합니다.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E데이터를 데모 파일에서 DataFrame으로 로드합니다.\u003C/li\u003E\u003Cli\u003E문자열을 분석하고 문자열에서 단어의 감정을 결정하는 UDF(사용자 정의 함수)를 생성합니다.\u003C/li\u003E\u003Cli\u003EDataFrame에 있는 열의 각 값을 대상으로 UDF를 호출합니다.\u003C/li\u003E\u003Cli\u003E다음을 포함한 새로운 DataFrame을 생성합니다.\n\u003Cul\u003E\u003Cli\u003E원본 데이터를 포함한 열\u003C/li\u003E\u003Cli\u003EUDF의 반환값을 포함한 새로운 열\u003C/li\u003E\u003C/ul\u003E\n\u003C/li\u003E\u003Cli\u003E감정이 행복하다고 결정한 UDF가 있는 행만을 포함한 새로운 DataFrame 생성\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E이러한 작업의 수행 방법을 자세히 알아보려면 다음 주제를 확인하십시오.\u003C/p\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003E스테이지에서 데이터 로드 및 DataFrame 생성\u003C/h2\u003E\n","\u003Cp\u003E\u003Ccode\u003EcollectTweetData\u003C/code\u003E 메서드는 \u003Ccode\u003EDataFrame\u003C/code\u003E을 생성하여 \u003Ca href=\"https://docs.snowflake.com/ko/developer-guide/snowpark/working-with-dataframes.html#label-snowpark-dataframe-stages\"\u003E스테이지에 있는 파일에서 CSV 데이터를 읽습니다\u003C/a\u003E. \u003Ca href=\"https://docs.snowflake.com/ko/developer-guide/snowpark/reference/scala/com/snowflake/snowpark/DataFrameReader.html\"\u003EDataFrameReader\u003C/a\u003E 오브젝트로 이러한 작업을 수행합니다.\u003C/p\u003E\n","\u003Ch3\u003E코드 검토회\u003C/h3\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E이 메서드는 Session 오브젝트를 수신하여 Snowflake와의 연결에 사용합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-scala\"\u003Edef collectTweetData(session: Session): DataFrame = {\n\u003C/code\u003E\u003C/pre\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Ccode\u003Esession\u003C/code\u003E ***변수***에 있는 \u003Ccode\u003Eimplicits\u003C/code\u003E에서 이름을 가져와 여러분은 DataFrame 메서드로 인수를 전송할 때 열을 나타내는 속기(예: \u003Ccode\u003E'columnName\u003C/code\u003E 및 \u003Ccode\u003E$&quot;columnName&quot;\u003C/code\u003E)를 사용할 수 있습니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-scala\"\u003Eimport session.implicits._\n\u003C/code\u003E\u003C/pre\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E데모 파일은 CSV 파일이기에 우선 파일의 스키마를 정의해야 합니다. Snowpark에서는 데이터의 각 열 이름과 유형을 식별하는 \u003Ca href=\"https://docs.snowflake.com/ko/developer-guide/snowpark/reference/scala/com/snowflake/snowpark/types/StructField.html\"\u003EStructField\u003C/a\u003E \u003Ccode\u003ESeq\u003C/code\u003E 오브젝트를 생성하여 이러한 작업을 수행합니다. 이러한 오브젝트는 \u003Ca href=\"https://docs.snowflake.com/ko/developer-guide/snowpark/reference/scala/com/snowflake/snowpark/types/index.html\"\u003Ecom.snowflake.snowpark.types\u003C/a\u003E 패키지의 구성 요소입니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-scala\"\u003Eval schema = Seq(\n  StructField(&quot;target&quot;, StringType),\n  StructField(&quot;ids&quot;, StringType),\n  StructField(&quot;date&quot;, StringType),\n  StructField(&quot;flag&quot;, StringType),\n  StructField(&quot;user&quot;, StringType),\n  StructField(&quot;text&quot;, StringType),\n)\n\u003C/code\u003E\u003C/pre\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Ccode\u003ESession.read\u003C/code\u003E 메서드를 통해 \u003Ccode\u003EDataFrameReader\u003C/code\u003E 오브젝트에 액세스합니다. \u003Ccode\u003EDataFrameReader\u003C/code\u003E 오브젝트는 로드할 파일의 스키마, 옵션 및 유형을 지정하기 위해 사용하는 메서드를 제공합니다. 스키마 및 옵션 설정을 위해 이러한 메서드는 \u003Ccode\u003EDataFrameReader\u003C/code\u003E 오브젝트와 더불어 스키마 및 옵션 세트를 반환합니다. 이를 통해 아래에서 확인할 수 있듯이 이러한 메서드 호출을 묶을 수 있습니다. 파일 유형 지정 메서드(이 경우 \u003Ccode\u003Ecsv\u003C/code\u003E 메서드)는 지정된 파일에서 데이터를 로드하기 위해 설정된 DataFrame을 반환합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-scala\"\u003Eval origData = session\n  .read\n  .schema(StructType(schema))\n  .option(&quot;compression&quot;, &quot;gzip&quot;)\n  .csv(s&quot;@$dataStageName/$dataFilePattern&quot;)\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E이 예시에서 \u003Ccode\u003EdataStageName\u003C/code\u003E 및 \u003Ccode\u003EdataFilePattern\u003C/code\u003E은 \u003Ccode\u003EUDFDemoSetup\u003C/code\u003E을 실행했을 때 앞서 해당 스테이지에 업로드했던 스테이지와 파일의 이름을 나타냅니다. DataFrame이 느슨하게 평가됨을 기억하실 수도 있습니다. 이는 여러분이 데이터를 검색하기 위해 메서드를 호출할 때까지 데이터를 로드하지 않음을 의미합니다. 추가 메서드를 호출하여 데이터 검색을 위해 메서드를 호출하기 전에 DataFrame을 변환할 수 있습니다(다음 코드 줄에서처럼).\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E다음으로 예시는 트윗을 포함한 열(\u003Ccode\u003Etext\u003C/code\u003E라는 열)만 포함된 새로운 DataFrame(\u003Ccode\u003EtweetData\u003C/code\u003E)을 반환합니다. DataFrame에는 원본 DataFrame인 \u003Ccode\u003EorigData\u003C/code\u003E의 첫 100개의 행이 포함되어 있습니다. 이 예시에서 \u003Ccode\u003Edrop\u003C/code\u003E 및 \u003Ccode\u003Elimit\u003C/code\u003E 메서드는 각각 이러한 메서드에 의해 변환된 새로운 DataFrame를 반환합니다. 각 메서드는 메서드에 의해 변환된 새로운 DataFrame을 반환하기에 아래와 같이 메서드 호출을 묶을 수 있습니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-scala\"\u003Eval tweetData = origData.drop('target, 'ids, 'date, 'flag, 'user).limit(100)\n\u003C/code\u003E\u003C/pre\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E이 시점에는 \u003Ccode\u003EtweetData\u003C/code\u003E DataFrame에 실제 데이터가 포함되어 있지 않습니다. 데이터를 로드하기 위해 작업(이 경우 \u003Ccode\u003Eshow\u003C/code\u003E)을 수행하는 메서드를 호출해야 합니다.\u003C/p\u003E\n","\u003Cp\u003E예시는 \u003Ccode\u003EtweetData\u003C/code\u003E DataFrame을 반환합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-scala\"\u003EtweetData.show()\nreturn tweetData\n\u003C/code\u003E\u003C/pre\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Ch3\u003E출력\u003C/h3\u003E\n","\u003Cp\u003E\u003Ccode\u003EcollectTweetData\u003C/code\u003E의 경우 다음과 같은 출력이 나타나야 합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-console\"\u003E=== Setting up the DataFrame for the data in the stage ===\n\n[sbt-bg-threads-1]  INFO (Logging.scala:22) - Actively querying parameter snowpark_lazy_analysis from server.\n\n=== Retrieving the data and printing the text of the first 10 tweets\n[sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a255c9-0504-b313-0000-438301da600a]  CREATE  TEMPORARY  FILE  FORMAT  If  NOT  EXISTS &quot;SNOWPARK_DEMO_DATA&quot;.&quot;PUBLIC&quot;.SN_TEMP_OBJECT_1879375406 TYPE  = csv COMPRESSION  =  'gzip'\n[sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a255c9-0504-b313-0000-438301da600e]  SELECT  *  FROM ( SELECT  *  FROM ( SELECT &quot;TEXT&quot; FROM ( SELECT $1::STRING AS &quot;TARGET&quot;, $2::STRING AS &quot;IDS&quot;, $3::STRING AS &quot;DATE&quot;, $4::STRING AS &quot;FLAG&quot;, $5::STRING AS &quot;USER&quot;, $6::STRING AS &quot;TEXT&quot; FROM @snowpark_demo_data/training.1600000.processed.noemoticon.csv( FILE_FORMAT  =&gt; '&quot;SNOWPARK_DEMO_DATA&quot;.&quot;PUBLIC&quot;.SN_TEMP_OBJECT_1879375406'))) LIMIT 100) LIMIT 10\n------------------------------------------------------\n|&quot;TEXT&quot;                                              |\n------------------------------------------------------\n|&quot;...\n\u003C/code\u003E\u003C/pre\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003EUDF 정의\u003C/h2\u003E\n","\u003Cp\u003E\u003Ccode\u003EcreateUDF\u003C/code\u003E 메서드는 감정을 위해 트윗을 분석하는 UDF의 종속성을 설정한 다음 Snowflake에서 UDF를 생성합니다.\u003C/p\u003E\n","\u003Ch3\u003E코드 검토회\u003C/h3\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E메서드는 UDF의 종속성을 지정하기 위해 사용되는 \u003Ccode\u003ESession\u003C/code\u003E 오브젝트를 사용합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-scala\"\u003Edef createUDF(session: Session): UserDefinedFunction = {\n\u003C/code\u003E\u003C/pre\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EUDF는 별도의 JAR 파일로 패키징된 라이브러리에 의존하기에 이러한 JAR 파일로 Snowpark 라이브러리를 인도해야 합니다. \u003Ccode\u003ESession.addDependency\u003C/code\u003E 메서드를 호출하여 이러한 작업을 수행합니다. 예시에서는 이러한 JAR 파일을 종속성으로 추가합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-scala\"\u003Esession.addDependency(s&quot;@$jarStageName/stanford-corenlp-3.6.0.jar.gz&quot;)\nsession.addDependency(s&quot;@$jarStageName/stanford-corenlp-3.6.0-models.jar.gz&quot;)\nsession.addDependency(s&quot;@$jarStageName/slf4j-api.jar.gz&quot;)\nsession.addDependency(s&quot;@$jarStageName/ejml-0.23.jar.gz&quot;)\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E이 예시에서 \u003Ccode\u003EjarStageName\u003C/code\u003E은 여러분이 \u003Ccode\u003EUDFDemoSetup\u003C/code\u003E을 실행했을 때 JAR 파일을 업로드했던 스테이지 이름을 나타냅니다.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E예시는 \u003Ccode\u003Ecom.snowflake.snowpark.functions\u003C/code\u003E 오브젝트의 \u003Ccode\u003Eudf\u003C/code\u003E 함수를 호출하여 UDF를 정의합니다. UDF는 \u003Ccode\u003Eanalyze\u003C/code\u003E 메서드로 데이터 열에 있는 각각의 값을 전송합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-scala\"\u003Eval sentimentFunc = udf(analyze(_))\nreturn sentimentFunc\n\u003C/code\u003E\u003C/pre\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Ch3\u003E출력\u003C/h3\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003ESnowpark 라이브러리는 Snowpark를 위해 JAR 파일을 추가하고 여러분의 예시를 위해 종속성(앞서 지정했던 종속성과 같이)을 추가합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-console\"\u003E[sbt-bg-threads-1]  INFO (Logging.scala:22) - Automatically added /Users/straut/workfiles/git/sfguide-snowpark-demo/target/bg-jobs/sbt_72da5f3e/target/cfe3f19b/f74dd7dd/snowpark-0.6.0.jar to session dependencies.\n[sbt-bg-threads-1]  INFO (Logging.scala:22) - Adding /Users/straut/workfiles/git/sfguide-snowpark-demo/target/bg-jobs/sbt_72da5f3e/job-1/target/6b26a7dc/681a6b89/snowparkdemo_2.12-0.1.jar to session dependencies\n\u003C/code\u003E\u003C/pre\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E다음으로 Snowpark 라이브러리는 JAR 파일을 위한 임시 스테이지를 생성합니다...\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-console\"\u003E[sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a255c9-0504-b311-0000-438301da500e] create temporary stage if not exists &quot;SNOWPARK_DEMO_DATA&quot;.&quot;PUBLIC&quot;.snowSession_74229942898694\n[sbt-bg-threads-1]  INFO (Logging.scala:22) - Actively querying parameter QUERY_TAG from server.\n[sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a255c9-0504-b313-0000-438301da6012] alter session set query_tag = 'com.snowflake.snowpark.functions$.udf\nUDFDemo$.createUDF(UDFDemo.scala:108)'\n[sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a255c9-0504-b313-0000-438301da6016] ls @&quot;SNOWPARK_DEMO_DATA&quot;.&quot;PUBLIC&quot;.snowSession_74229942898694\n[sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a255c9-0504-b313-0000-438301da601a]  SELECT &quot;name&quot; FROM ( SELECT  *  FROM  TABLE ( RESULT_SCAN('01a255c9-0504-b313-0000-438301da6016')))\n[sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a255c9-0504-b311-0000-438301da501a] alter session unset query_tag\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E...그리고 Snowpark와 애플리케이션 코드를 위해 JAR 파일을 스테이지에 업로드합니다. Snowpark는 또한 여러분의 UDF를 컴파일하고 JAR 파일을 스테이지에 업로드합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-console\"\u003E[snowpark-2]  INFO (Logging.scala:22) - Uploading file file:/.../sfguide-snowpark-demo/target/bg-jobs/sbt_72da5f3e/job-1/target/6b26a7dc/681a6b89/snowparkdemo_2.12-0.1.jar to stage @&quot;SNOWPARK_DEMO_DATA&quot;.&quot;PUBLIC&quot;.snowSession_74229942898694\n[snowpark-9]  INFO (Logging.scala:22) - Uploading file file:/.../sfguide-snowpark-demo/target/bg-jobs/sbt_72da5f3e/target/cfe3f19b/f74dd7dd/snowpark-0.6.0.jar to stage @&quot;SNOWPARK_DEMO_DATA&quot;.&quot;PUBLIC&quot;.snowSession_74229942898694\n[snowpark-11]  INFO (Logging.scala:22) - Compiling UDF code\n[snowpark-11]  INFO (Logging.scala:22) - Finished Compiling UDF code in 765 ms\n[snowpark-11]  INFO (Logging.scala:22) - Uploading UDF jar to stage @&quot;SNOWPARK_DEMO_DATA&quot;.&quot;PUBLIC&quot;.snowSession_74229942898694\n[snowpark-11]  INFO (Logging.scala:22) - Finished Uploading UDF jar to stage @&quot;SNOWPARK_DEMO_DATA&quot;.&quot;PUBLIC&quot;.snowSession_74229942898694 in 1413 ms\n[snowpark-2]  INFO (Logging.scala:22) - Finished Uploading file file:/.../sfguide-snowpark-demo/target/bg-jobs/sbt_72da5f3e/job-1/target/6b26a7dc/681a6b89/snowparkdemo_2.12-0.1.jar to stage @&quot;SNOWPARK_DEMO_DATA&quot;.&quot;PUBLIC&quot;.snowSession_74229942898694 in 2236 ms\n[snowpark-9]  INFO (Logging.scala:22) - Finished Uploading file file:/.../sfguide-snowpark-demo/target/bg-jobs/sbt_72da5f3e/target/cfe3f19b/f74dd7dd/snowpark-0.6.0.jar to stage @&quot;SNOWPARK_DEMO_DATA&quot;.&quot;PUBLIC&quot;.snowSession_74229942898694 in 8482 ms\n\u003C/code\u003E\u003C/pre\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E마지막으로 라이브러리는 여러분의 데이터베이스에서 UDF를 정의합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-console\"\u003E[sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a255c9-0504-b313-0000-438301da6022] CREATE TEMPORARY FUNCTION &quot;SNOWPARK_DEMO_DATA&quot;.&quot;PUBLIC&quot;.tempUDF_1136829422(arg1 STRING) RETURNS INT LANGUAGE JAVA IMPORTS = ('@snowpark_demo_udf_dependency_jars/stanford-corenlp-3.6.0-models.jar.gz','@snowpark_demo_udf_dependency_jars/slf4j-api.jar.gz','@&quot;SNOWPARK_DEMO_DATA&quot;.&quot;PUBLIC&quot;.snowSession_74229942898694/f25d6649aab5cfb7a9429be961d73687/snowparkdemo_2.12-0.1.jar','@snowpark_demo_udf_dependency_jars/ejml-0.23.jar.gz','@&quot;SNOWPARK_DEMO_DATA&quot;.&quot;PUBLIC&quot;.snowSession_74229942898694/85061e2a4c65715009267162d183eec1/snowpark-0.6.0.jar','@snowpark_demo_udf_dependency_jars/stanford-corenlp-3.6.0.jar.gz','@&quot;SNOWPARK_DEMO_DATA&quot;.&quot;PUBLIC&quot;.snowSession_74229942898694/SNOWPARK_DEMO_DATAPUBLICtempUDF_1136829422_126127561/udfJar_591813027.jar') HANDLER='SnowUDF.compute'\n\u003C/code\u003E\u003C/pre\u003E\n\u003C/li\u003E\u003C/ul\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003E트윗 처리를 위해 UDF 사용\u003C/h2\u003E\n","\u003Cp\u003E\u003Ccode\u003EprocessHappyTweets\u003C/code\u003E 메서드는 UDF를 사용하여 어떤 트윗이 행복한지 발견하기 위해 트윗 텍스트를 분석합니다.\u003C/p\u003E\n","\u003Ch3\u003E코드 검토회\u003C/h3\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E메서드는 다음을 수신합니다.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003ESnowflake와의 연결을 위한 \u003Ccode\u003ESession\u003C/code\u003E.\u003C/li\u003E\u003Cli\u003E여러분이 생성했던 UDF.\u003C/li\u003E\u003Cli\u003E트윗을 나타내는 DataFrame.\u003C/li\u003E\u003C/ul\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-scala\"\u003Edef processHappyTweets(session: Session, sentimentFunc: UserDefinedFunction, tweetData: DataFrame): Unit = {\n\u003C/code\u003E\u003C/pre\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Ccode\u003Esession\u003C/code\u003E 변수의 \u003Ccode\u003Eimplicits\u003C/code\u003E에서 이름을 가져옵니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-scala\"\u003Eimport session.implicits._\n\u003C/code\u003E\u003C/pre\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E다음으로 예시는 \u003Ccode\u003Esentiment\u003C/code\u003E라는 열을 추가하여 \u003Ccode\u003EtweetData\u003C/code\u003E DataFrame을 변환하는 새로운 DataFrame인 \u003Ccode\u003Eanalyzed\u003C/code\u003E를 생성합니다. \u003Ccode\u003Esentiment\u003C/code\u003E 열에는 \u003Ccode\u003Etext\u003C/code\u003E 열에서 해당하는 값을 포함한 UDF(\u003Ccode\u003EsentimentFunc\u003C/code\u003E) 호출의 결과가 포함되어 있습니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-scala\"\u003Eval analyzed = tweetData.withColumn(&quot;sentiment&quot;, sentimentFunc('text))\n\u003C/code\u003E\u003C/pre\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E예시는 \u003Ccode\u003Esentiment\u003C/code\u003E에 \u003Ccode\u003E3\u003C/code\u003E이라는 값이 있는 행만 포함되도록 \u003Ccode\u003Eanalyzed\u003C/code\u003E DataFrame을 변환하는 또 다른 DataFrame인 \u003Ccode\u003EhappyTweets\u003C/code\u003E를 생성합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-scala\"\u003Eval happyTweets = analyzed.filter('sentiment === 3)\n\u003C/code\u003E\u003C/pre\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E다음으로 예시는 \u003Ccode\u003Eshow\u003C/code\u003E 메서드를 호출하여 SQL 문(UDF 포함)을 실행하고 결과를 DataFrame으로 검색한 다음 첫 10개의 행을 출력합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-scala\"\u003EhappyTweets.show()\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E\u003Ccode\u003Eshow\u003C/code\u003E 메서드가 실행되면 다음과 같은 출력이 나타나야 합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-console\"\u003E=== Retrieving the data and printing the first 10 tweets ===\n\n[sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a255ca-0504-b311-0000-438301da5026]  CREATE  TEMPORARY  FILE  FORMAT  If  NOT  EXISTS &quot;SNOWPARK_DEMO_DATA&quot;.&quot;PUBLIC&quot;.SN_TEMP_OBJECT_1879375406 TYPE  = csv COMPRESSION  =  'gzip'\n[sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a255ca-0504-b311-0000-438301da502a]  SELECT  *  FROM ( SELECT  *  FROM ( SELECT &quot;TEXT&quot;, &quot;SNOWPARK_DEMO_DATA&quot;.&quot;PUBLIC&quot;.tempUDF_1136829422(&quot;TEXT&quot;) AS &quot;SENTIMENT&quot; FROM ( SELECT  *  FROM ( SELECT &quot;TEXT&quot; FROM ( SELECT $1::STRING AS &quot;TARGET&quot;, $2::STRING AS &quot;IDS&quot;, $3::STRING AS &quot;DATE&quot;, $4::STRING AS &quot;FLAG&quot;, $5::STRING AS &quot;USER&quot;, $6::STRING AS &quot;TEXT&quot; FROM @snowpark_demo_data/training.1600000.processed.noemoticon.csv( FILE_FORMAT  =&gt; '&quot;SNOWPARK_DEMO_DATA&quot;.&quot;PUBLIC&quot;.SN_TEMP_OBJECT_1879375406'))) LIMIT 100)) WHERE (&quot;SENTIMENT&quot; = 3 :: int)) LIMIT 10\n--------------------------------------------------------------------\n|&quot;TEXT&quot;                                              |&quot;SENTIMENT&quot;  |\n--------------------------------------------------------------------\n|&quot;...\n\u003C/code\u003E\u003C/pre\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E마지막으로 예시는 \u003Ca href=\"https://docs.snowflake.com/ko/developer-guide/snowpark/working-with-dataframes.html#label-snowpark-dataframe-save-table\"\u003EDataFrame에 있는 데이터를\u003C/a\u003E \u003Ccode\u003Edemo_happy_tweets\u003C/code\u003E라는 테이블에 저장합니다. 이를 위해 예시는 \u003Ccode\u003EDataFrame.write\u003C/code\u003E 메서드 호출에 의해 검색되는 \u003Ca href=\"https://docs.snowflake.com/ko/developer-guide/snowpark/reference/scala/com/snowflake/snowpark/DataFrameWriter.html\"\u003EDataFrameWriter\u003C/a\u003E 오브젝트를 사용합니다. 예시는 \u003Ccode\u003EDataFrameWriter\u003C/code\u003E 오브젝트의 \u003Ccode\u003Emode\u003C/code\u003E 메서드로 \u003Ccode\u003ESaveMode.Overwrite\u003C/code\u003E를 전송하여 테이블에 있는 모든 기존 데이터를 덮어씁니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-scala\"\u003EhappyTweets.write.mode(Overwrite).saveAsTable(&quot;demo_happy_tweets&quot;)\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E\u003Ccode\u003EsaveAsTable\u003C/code\u003E 메서드가 실행되면 다음과 같은 출력이 나타나야 합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-console\"\u003E=== Saving the data to the table demo_happy_tweets ===\n\n[sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a255ca-0504-b311-0000-438301da502e]  CREATE  TEMPORARY  FILE  FORMAT  If  NOT  EXISTS &quot;SNOWPARK_DEMO_DATA&quot;.&quot;PUBLIC&quot;.SN_TEMP_OBJECT_1879375406 TYPE  = csv COMPRESSION  =  'gzip'\n[sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a255ca-0504-b313-0000-438301da602a]  CREATE  OR  REPLACE  TABLE demo_happy_tweets AS  SELECT  *  FROM ( SELECT  *  FROM ( SELECT &quot;TEXT&quot;, &quot;SNOWPARK_DEMO_DATA&quot;.&quot;PUBLIC&quot;.tempUDF_1136829422(&quot;TEXT&quot;) AS &quot;SENTIMENT&quot; FROM ( SELECT  *  FROM ( SELECT &quot;TEXT&quot; FROM ( SELECT $1::STRING AS &quot;TARGET&quot;, $2::STRING AS &quot;IDS&quot;, $3::STRING AS &quot;DATE&quot;, $4::STRING AS &quot;FLAG&quot;, $5::STRING AS &quot;USER&quot;, $6::STRING AS &quot;TEXT&quot; FROM @snowpark_demo_data/training.1600000.processed.noemoticon.csv( FILE_FORMAT  =&gt; '&quot;SNOWPARK_DEMO_DATA&quot;.&quot;PUBLIC&quot;.SN_TEMP_OBJECT_1879375406'))) LIMIT 100)) WHERE (&quot;SENTIMENT&quot; = 3 :: int))\n\u003C/code\u003E\u003C/pre\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E이 부분이 끝났습니다! 지금까지 Scala 코드를 사용자 정의 함수로 업로드한 다음 UDF를 실행하여 행복한 트윗을 위해 트윗 데이터를 분석했습니다.\u003C/p\u003E\n","\u003Cp\u003E마지막 단계에서는 이미 보유하고 있는 코드를 가져와 Snowflake에서 이를 저장 프로시저로 변환하겠습니다.\u003C/p\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003EScala 코드에서 저장 프로시저 생성\u003C/h2\u003E\n","\u003Cp\u003E이 단계에서는 방금 실행했던 코드를 가져와 이로부터 저장 프로시저를 생성하겠습니다. 이를 위해 Scala 코드를 Snowflake 워크시트로 복사하고 코드를 SQL 문에서 래핑한 다음 이를 실행하여 저장 프로시저를 생성하겠습니다.\u003C/p\u003E\n","\u003Cp\u003E다음 단계에서는 \u003Ca href=\"https://docs.snowflake.com/ko/user-guide/ui-web.html\"\u003E새로운 웹 인터페이스\u003C/a\u003E를 사용합니다.\u003C/p\u003E\n","\u003Cp\u003E관련 설명서를 위해 \u003Ca href=\"https://docs.snowflake.com/ko/sql-reference/stored-procedures-scala.html\"\u003ESnowpark에서 저장 프로시저 작성(Scala)\u003C/a\u003E을 확인하십시오.\u003C/p\u003E\n","\u003Ch3\u003E저장 프로시저 생성 및 실행\u003C/h3\u003E\n\u003Col\u003E\u003Cli\u003E\n","\u003Cp\u003E새로운 웹 인터페이스에서 새로운 워크시트를 생성하고 이름을 \u003Ccode\u003EdiscoverHappyTweets\u003C/code\u003E라고 지정합니다.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E워크시트 편집기에서 세션 컨텍스트가 앞서 편집했던 snowflake_connection.properties 파일에 지정했던 설정과 일치하는지 확인합니다. 예:\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E왼쪽 상단에 있는 드롭다운에서 지정했던 역할을 선택합니다.\u003C/li\u003E\u003Cli\u003E오른쪽 상단에 있는 세션 컨텍스트 드롭다운에서 지정했던 역할과 웨어하우스 값을 선택합니다.\u003C/li\u003E\u003Cli\u003E데이터베이스 드롭다운에서 지정했던 데이터베이스와 스키마를 선택합니다.\u003C/li\u003E\u003C/ul\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Ccode\u003EdiscoverHappyTweets\u003C/code\u003E 워크시트에 다음을 붙여넣습니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-sql\"\u003Ecreate or replace procedure discoverHappyTweets()\nreturns string\nlanguage scala\nruntime_version=2.12\npackages=('com.snowflake:snowpark:latest')\nimports=('@snowpark_demo_udf_dependency_jars/ejml-0.23.jar','@snowpark_demo_udf_dependency_jars/slf4j-api.jar','@snowpark_demo_udf_dependency_jars/stanford-corenlp-3.6.0-models.jar','@snowpark_demo_udf_dependency_jars/stanford-corenlp-3.6.0.jar')\nhandler = 'UDFDemo.discoverHappyTweets'\ntarget_path = '@snowpark_demo_udf_dependency_jars/discoverHappyTweets.jar'\nas\n$$\n\n/*Paste the UDFDemo object Scala code, including imports. You can optionally\nomit the main function.*/\n\n$$;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E이 코드는 \u003Ccode\u003EdiscoverHappyTweets\u003C/code\u003E라는 저장 프로시저를 생성합니다. 설명서에는 더 많이 있지만 다음을 확인해야 합니다.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Ccode\u003Epackages\u003C/code\u003E 매개 변수는 사용할 Snowpark 버전을 지정합니다.\u003C/li\u003E\u003Cli\u003E\u003Ccode\u003Eimports\u003C/code\u003E 매개 변수는 코드의 종속성으로 필요한 JAR 파일을 지정합니다. 이는 앞서 Snowflake에 업로드했던 JAR 파일의 목록입니다.\u003C/li\u003E\u003Cli\u003E\u003Ccode\u003Ehandler\u003C/code\u003E 매개 변수는 저장 프로시저를 실행할 때 Snowflake가 호출해야 하는 함수를 지정합니다.\u003C/li\u003E\u003Cli\u003E\u003Ccode\u003Etarget_path\u003C/code\u003E 매개 변수는 이 코드를 실행할 때 생성할 JAR의 이름과 위치를 지정합니다. Snowflake는 코드를 컴파일하고 컴파일된 클래스를 패키징합니다.\u003C/li\u003E\u003C/ul\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Ccode\u003E$$\u003C/code\u003E 구분 기호 간 섹션에 \u003Ccode\u003EUDFDemo\u003C/code\u003E에서 가져온 Scala 코드를 붙여넣습니다. \u003Ccode\u003Eimport\u003C/code\u003E 문이 포함되어야 합니다. 필요하지 않으니 \u003Ccode\u003Emain\u003C/code\u003E 함수를 포함하지 마십시오. 특히나 Snowflake는 여러분이 오브젝트를 생성했던 곳에 Session 오브젝트를 삽입합니다. Snowflake는 대신 \u003Ccode\u003Ehandler\u003C/code\u003E 매개 변수로 지정했던 메서드를 호출합니다.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E워크시트에서 코드를 실행합니다. Snowflake는 \u003Ccode\u003ECREATE PROCEDURE\u003C/code\u003E의 본문에 있는 코드를 컴파일하고 이를 JAR 파일로 패키징합니다.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E새로운 워크시트를 생성하고 이름을 \u003Ccode\u003Ecall discoverHappyTweets\u003C/code\u003E라고 지정합니다.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E새로운 워크시트에 다음 코드를 붙여넣습니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-sql\"\u003Ecall discoverHappyTweets();\nselect * from demo_happy_tweets;\n\u003C/code\u003E\u003C/pre\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E워크시트에서 2개의 줄을 모두 선택한 다음 워크시트에서 코드를 실행합니다. Snowflake가 저장 프로시저를 호출함에 따라 워크시트 아래에 메시지가 나타나야 합니다. 프로시저 호출이 완료된 후 이는 행복한 트윗 목록인 쿼리 결과로 대체됩니다. 저장 프로시저 호출은 단순히 메서드 또는 저장 프로시저와 관련된 함수를 실행합니다. 클래스패스에서 JAR 파일을 통해 실행됩니다.\u003C/p\u003E\n\u003C/li\u003E\u003C/ol\u003E\n","\u003Cp\u003E이처럼 쉽게 저장 프로시저를 생성할 수 있습니다. 보너스 포인트를 위해 새로운 저장 프로시저를 밤마다 수행하는 작업으로 호출할 수 있습니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-sql\"\u003Ecreate or replace task process_tweets_nightly\nwarehouse = 'small'\nschedule = '1440 minute'\nas\ncall discoverHappyTweets();\n\u003C/code\u003E\u003C/pre\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003E종료 및 다음 단계\u003C/h2\u003E\n","\u003Cp\u003E축하드립니다! Snowpark를 사용하여 트윗을 대상으로 감정 분석을 수행했습니다. 이 가이드를 위해 트윗의 샘플 데이터 세트를 사용했습니다. 새로운 트윗이 작성됨에 따라 이를 자동으로 수집하고자 한다면 \u003Ca href=\"/guide/auto_ingest_twitter_data/\"\u003ESnowflake로 Twitter 데이터 자동 수집\u003C/a\u003E 가이드를 따르십시오.\u003C/p\u003E\n","\u003Ch3\u003E다룬 내용\u003C/h3\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Cstrong\u003E데이터 로딩\u003C/strong\u003E - Snowpark를 사용하여 Snowflake로 Twitter 데이터 로드(Scala)\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003E데이터\u003C/strong\u003E - CSV 파일에서 DataFrame 생성 및 필요하지 않은 열 삭제\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003E감정 분석\u003C/strong\u003E - Scala를 사용하여 트윗 DataFrame을 대상으로 감정 분석 수행\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003ESnowpark UDF\u003C/strong\u003E - Scala를 사용하여 Snowflake 테이블에 DataFrame 작성\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003ESnowpark 저장 프로시저\u003C/strong\u003E - Snowflake를 사용하여 Scala에서 저장 프로시저 생성\u003C/li\u003E\u003C/ul\u003E\n","\u003Ch3\u003E관련 리소스\u003C/h3\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Ca href=\"https://docs.snowflake.com/ko/LIMITEDACCESS/snowpark.html\"\u003ESnowpark Docs\u003C/a\u003E\u003C/li\u003E\u003Cli\u003E\u003Ca href=\"https://github.com/Snowflake-Labs/sfguide-snowpark-demo\"\u003EGitHub의 Source 코드 예시\u003C/a\u003E\u003C/li\u003E\u003C/ul\u003E"],":items":{},":itemsOrder":[],"isDeveloperGuidesPage":false,":type":"snowflake-site/components/contentfragment","elements":{"quickstartArticleBody":{"dataType":"string","title":"Quickstart Article Body","value":"\u003C!-- ------------------------ --\u003E\n## 개요\n\n\n[Snowpark API](https://docs.snowflake.com/ko/developer-guide/snowpark/index.html)를 사용하여 SQL 문 대신 오브젝트(예: [DataFrame](https://docs.snowflake.com/ko/developer-guide/snowpark/reference/scala/com/snowflake/snowpark/DataFrame.html))를 사용하는 코드를 작성하여 데이터를 쿼리하고 조작할 수 있습니다. Snowpark는 복잡한 데이터 파이프라인을 쉽게 구축할 수 있도록 설계되었습니다. 이를 통해 데이터를 이동하지 않고도 Snowflake와 직접 상호 작용할 수 있습니다. Snowpark API를 사용할 때 라이브러리는 Snowflake에서 여러분의 코드를 업로드하고 실행합니다. 따라서 처리를 위해 별도의 시스템으로 데이터를 이동할 필요가 없습니다.\n\n현재 Snowpark는 AWS에서 공식적으로 제공하고 있으며 Azure와 GCP에서는 미리 보기 기능입니다.\n\n### 구축할 것\n\n- 스테이지에서 데이터를 처리하기 위해 Snowpark 라이브러리를 사용하는 Scala 애플리케이션\n\n### 학습할 내용\n\n- 스테이지에서 데이터를 로드하는 DataFrame 생성 방법\n- Scala 코드를 위한 사용자 정의 함수 생성 방법\n- Scala 함수에서 저장 프로시저 생성 방법\n\n### 사전 필요 조건 및 지식\n\n- Scala에 대한 이해\n- Amazon Web Services(AWS) 또는 Microsoft Azure에서 호스트하는 [Snowflake](/) 계정.\n- [git](https://git-scm.com/downloads)\n- [SBT](https://www.scala-sbt.org/)\n\n또한 Scala 2.12(특히나 버전 2.12.9 또는 그 이후 2.12.x 버전)를 대상으로 SBT 프로젝트를 지원하는 개발 도구나 환경을 사용할 수 있습니다. Snowpark는 아직 2.12 이후의 Scala 버전(예: 2.13)을 지원하지 않습니다.\n\nSnowpark는 Java 11에서 실행되도록 컴파일된 코드를 지원합니다.\n\n\u003C!-- ------------------------ --\u003E\n## 리포지토리 다운로드\n\n\nSnowflake GitHub 리포지토리에서 데모를 찾을 수 있습니다. Git을 설치한 다음 여러분의 터미널을 사용하여 리포지토리를 복제할 수 있습니다.\n\n### 리포지토리 복제\n\n1. 터미널 창을 열고 다음 명령을 실행하여 리포지토리를 복제하고자 하는 디렉터리를 변경한 다음 리포지토리를 복제합니다.\n   \n   ```console\n   cd {directory_where_you_want_the_repository}\n   git clone https://github.com/Snowflake-Labs/sfguide-snowpark-demo\n   ```\n\n2. 복제한 리포지토리의 디렉터리를 변경합니다.\n   \n   ```console\n   cd sfguide-snowpark-demo\n   ```\n\n리포지토리의 데모 디렉터리에는 다음 파일이 포함되어 있습니다.\n\n- `build.sbt`: 이 데모 프로젝트를 위한 SBT 빌드 파일입니다.\n\n- `snowflake_connection.properties`: Snowflake에 연결하기 위해 이 데모의 예에서는 이 파일의 설정을 읽습니다. 이 파일을 편집하고 Snowflake 데이터베이스와 연결하기 위해 사용하는 설정을 지정하게 됩니다.\n\n- `src/main/scala/HelloWorld.scala`: Snowpark 라이브러리를 사용하는 단순한 예시입니다. Snowflake와 연결되며 `SHOW TABLES` 명령을 실행하고 나열된 첫 3개의 테이블을 출력합니다. 이 예시를 실행하여 Snowflake에 연결할 수 있는지 확인합니다.\n\n- `src/main/scala/UDFDemoSetup.scala`: 데모를 위해 UDF(사용자 정의 함수)에 필요한 데이터와 라이브러리를 설정합니다. UDF는 이름이 지정된 내부 스테이지에 업로드되어야 하는 데이터 파일과 JAR 파일에 의존합니다. 데이터와 JAR 파일을 다운로드하고 추출한 후 이 예시를 실행하여 스테이지를 생성하고 파일을 업로드합니다.\n\n- `src/main/scala/UDFDemo.scala`: UDF를 생성하고 호출하는 단순한 코드 예시입니다.\n\n\u003C!-- ------------------------ --\u003E\n## Snowflake와의 연결을 위한 설정 구성\n\n\n데모 디렉터리에는 예시 코드가 Snowflake와 연결하기 위해 [세션 생성](https://docs.snowflake.com/ko/developer-guide/snowpark/creating-session.html)에 사용하는 `snowflake_connection.properties` 파일이 포함되어 있습니다. 코드가 여러분의 Snowflake 계정과 연결될 수 있도록 이러한 속성을 편집해야 합니다.\n\n### 연결 설정 구성\n\n이 파일을 편집하고 Snowflake와 연결하기 위해 사용하는 값으로 `\u003Cplaceholder\u003E` 값을 대체합니다. 예:\n\n```console\nURL = https://myaccount.snowflakecomputing.com\nUSER = myusername\nPRIVATE_KEY_FILE = /home/username/rsa_key.p8\nPRIVATE_KEY_FILE_PWD = my_passphrase_for_my_encrypted_private_key_file\nROLE = my_role\nWAREHOUSE = my_warehouse\nDB = my_db\nSCHEMA = my_schema\n```\n\n- [여러분의 계정 식별자를 포함하는 URL](https://docs.snowflake.com/ko/user-guide/organizations-connect.html)을 사용합니다. URL 형식에 대한 자세한 정보는 [계정 식별자](https://docs.snowflake.com/ko/user-guide/admin-account-identifier.html)를 확인하십시오.\n- 선택하는 `ROLE`에는 스테이지를 생성하고 지정된 데이터베이스 및 스키마에서 테이블을 작성할 수 있는 권한이 있어야 합니다.\n- 다른 속성의 경우 [JDBC 드라이버가 지원하는 연결 매개 변수](https://docs.snowflake.com/ko/user-guide/jdbc-parameters.html)를 사용하십시오.\n\n\u003C!-- ------------------------ --\u003E\n## Snowflake 연결\n\n\n이 단계에서는 여러분이 Snowflake를 데모 코드 및 연결 속성과 연결할 수 있음을 확인하겠습니다.\n\n### Snowflake와 연결할 수 있음을 확인\n\n[SBT 명령줄 도구](https://www.scala-sbt.org/1.x/docs/Running.html)를 사용하여 다음 명령을 실행해 Snowflake와 연결할 수 있음을 확인하기 위해 `HelloWorld.scala` 예시를 구축하고 실행합니다.\n\n```console\nsbt \"runMain HelloWorld\"\n```\n\n### 코드 검토회\n\nHelloWorld 애플리케이션이 성공적으로 실행되면 다음과 같은 애플리케이션의 코드와 출력의 검토회를 확인하십시오.\n\n- 세션을 설정하기 위해 애플리케이션 코드는 `snowflake_connection.properties`에 지정된 설정으로 [Session](https://docs.snowflake.com/ko/developer-guide/snowpark/reference/scala/com/snowflake/snowpark/Session.html) 오브젝트를 생성합니다.\n  \n  ```scala\n  val session = Session.builder.configFile(\"snowflake_connection.properties\").create\n  ```\n\n- 그런 다음 애플리케이션 코드는 [DataFrame을 생성](https://docs.snowflake.com/ko/developer-guide/snowpark/working-with-dataframes.html)하여 `SHOW TABLES` 명령 실행의 결과를 저장합니다.\n  \n  ```scala\n  val df = session.sql(\"show tables\")\n  ```\n  \n  이는 SQL 문을 실행하지 않습니다. 출력에는 Snowpark 라이브러리가 SQL 문을 실행했음을 나타내는 어떠한 `INFO` 메시지도 포함되지 않습니다.\n  \n  ```console\n  === Creating a DataFrame to execute a SQL statement ===\n  \n  [sbt-bg-threads-1]  INFO (Logging.scala:22) - Actively querying parameter snowpark_lazy_analysis from server.\n  ```\n\n- Snowpark에서 [DataFrame](https://docs.snowflake.com/ko/developer-guide/snowpark/reference/scala/com/snowflake/snowpark/DataFrame.html)은 느슨하게 평가됩니다. 이는 여러분이 작업을 수행하는 메서드를 호출할 때까지 문이 실행되지 않음을 의미합니다. 이러한 메서드 중 하나는 DataFrame에서 첫 10개의 행을 출력하는 `show`입니다.\n  \n  ```scala\n  df.show()\n  ```\n  \n  출력에서 확인할 수 있듯이 `show`는 SQL 문을 실행합니다. 결과는 DataFrame에 반환되며 DataFrame에 있는 첫 10개의 행이 출력됩니다.\n  \n  ```console\n  === Execute the SQL statement and print the first 10 rows ===\n  \n  [sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a25558-0504-b2b8-0000-438301da121e] show tables\n  ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n  |\"created_on\"             |\"name\"             |\"database_name\"     |\"schema_name\"  |\"kind\"  |\"comment\"  |\"cluster_by\"  |\"rows\"  |\"bytes\"  |\"owner\"       |\"retention_time\"  |\"automatic_clustering\"  |\"change_tracking\"  |\"is_external\"  |\n  ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n  |2022-02-15 11:19:20.294  |DEMO_HAPPY_TWEETS  |SNOWPARK_DEMO_DATA  |PUBLIC         |TABLE   |           |              |22      |2560     |ACCOUNTADMIN  |1                 |OFF                     |OFF                |N              |\n  ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n  ```\n\n이제 Snowflake와 연결할 수 있음을 확인했으니 UDF 작업을 생성하기 위해 데이터와 라이브러리를 가져와야 합니다.\n\n\u003C!-- ------------------------ --\u003E\n## 데모를 위한 데이터 파일 및 라이브러리 다운로드\n\n\n이 단계에서는 앞으로 생성할 사용자 정의 함수를 실행하기 위해 필요한 샘플 데이터 파일과 라이브러리를 다운로드하겠습니다. 이 데모는 [CoreNLP 프로젝트](https://stanfordnlp.github.io/CoreNLP/)에서 가져온 [sentiment140](https://www.kaggle.com/kazanova/sentiment140) 데이터 세트와 라이브러리를 사용합니다.\n\n### 종속성 JAR 및 샘플 데이터 파일 다운로드\n\n1. [sentiment140](https://www.kaggle.com/kazanova/sentiment140) 페이지로 이동하고 **Download**를 클릭하여 데이터 세트가 포함된 ZIP 아카이브를 다운로드합니다.\n\n2. 다운로드한 `archive.zip` 파일에서 `training.1600000.processed.noemoticon.csv` 압축을 풉니다.\n\n3. [CoreNLP 라이브러리 버전 3.6.0을 다운로드하십시오](https://nlp.stanford.edu/software/stanford-corenlp-full-2015-12-09.zip).\n\n4. 다운로드한 `stanford-corenlp-full-2015-12-09.zip` 파일에서 라이브러리 압축을 풉니다.\n\n5. `sfguide-snowpark-demo` 디렉터리에서 데이터와 JAR 파일을 위한 임시 디렉터리(예: `mkdir files_to_upload`)를 생성합니다.\n\n6. `archive.zip`에서 추출한 다음 파일을 `sfguide-snowpark-demo/files_to_upload/` 디렉터리에 복사합니다.\n   \n   - `training.1600000.processed.noemoticon.csv`\n\n7. `stanford-corenlp-full-2015-12-09.zip`에서 추출한 다음 파일을 `sfguide-snowpark-demo/files_to_upload/` 디렉터리에 복사합니다.\n   \n   - `stanford-corenlp-3.6.0.jar`\n   - `stanford-corenlp-3.6.0-models.jar`\n   - `slf4j-api.jar`\n   - `ejml-0.23.jar`\n\n`sfguide-snowpark-demo/files_to_upload/`에서 이제 다음 파일이 나타나야 합니다.\n\n```console\n$ pwd\n\u003Cpath\u003E/sfguide-snowpark-demo\n\n$ ls files_to_upload\nejml-0.23.jar\t\t\t\t\tstanford-corenlp-3.6.0.jar\nslf4j-api.jar\t\t\t\t\ttraining.1600000.processed.noemoticon.csv\nstanford-corenlp-3.6.0-models.jar\n```\n\n다음으로 `UDFDemoSetup.scala` 예시를 실행하여 이러한 파일을 위한 스테이지를 생성하고 스테이지에 파일을 업로드합니다.\n\n\u003C!-- ------------------------ --\u003E\n## 내부 스테이지에 데이터 파일 및 라이브러리 업로드\n\n\n이 섹션에서는 `UDFDemoSetup.scala` 예시를 실행하여 데이터 파일과 라이브러리를 저장하기 위한 [내부 스테이지](https://docs.snowflake.com/ko/user-guide/data-load-local-file-system-create-stage.html)를 생성한 다음 이러한 파일을 스테이지에 업로드하겠습니다.\n\n데모의 사용자 정의 함수는 Snowflake에서 실행되기에 이러한 라이브러리를 위한 JAR 파일을 Snowflake에 제공하기 위해 내부 스테이지에 업로드해야 합니다. 또한 데모가 데이터에 액세스할 스테이지에 데이터 세트를 업로드해야 합니다.\n\n### 종속성 JAR 및 샘플 데이터 파일 업로드\n\n다음 명령을 실행하여 코드를 실행합니다.\n\n```console\nsbt \"runMain UDFDemoSetup\"\n```\n\n### 코드 검토회\n\nUDFDemoSetup 애플리케이션이 성공적으로 실행된다면 다음을 읽어 수행하는 작업을 이해합니다.\n\n세션을 생성한 다음 애플리케이션 코드는 `uploadDemoFiles`를 두 번 호출합니다. 한 번은 샘플 데이터 CSV 파일을 업로드하기 위해 호출하며 다른 한 번은 생성할 UDF의 종속성이 될 JAR 파일을 업로드하기 위해 호출합니다. 이 메서드는 Snowpark 라이브러리를 사용하여 업로드된 파일을 위한 스테이지를 생성합니다.\n\n- `uploadDemoFiles` 메서드는 파일이 업로드되어야 하는 스테이지의 이름과 더불어 업로드할 파일 이름과 일치하는 파일 패턴을 사용합니다.\n  \n  ```scala\n  def uploadDemoFiles(stageName: String, filePattern: String): Unit = {\n  ```\n  \n  아래에서는 `uploadDemoFiles` 내부에서 무슨 일이 벌어지는지를 설명합니다.\n\n- 코드는 SQL 문을 실행하여 스테이지를 생성합니다. `collect` 메서드는 DataFrame에서 작업을 수행하여 SQL 문을 실행합니다.\n  \n  ```scala\n  session.sql(s\"create or replace stage $stageName\").collect()\n  ```\n  \n  예시의 이러한 부분에서는 메서드가 데이터 파일을 위해 스테이지를 생성할 때 다음 출력이 나타나야 합니다.\n  \n  ```console\n  === Creating the stage @snowpark_demo_data ===\n  \n  [sbt-bg-threads-1]  INFO (Logging.scala:22) - Actively querying parameter snowpark_lazy_analysis from server.\n  [sbt-bg-threads-1]  INFO (Logging.scala:22) - Actively querying parameter QUERY_TAG from server.\n  [sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a25576-0504-b1f7-0000-438301d9f31e] alter session set query_tag = 'com.snowflake.snowpark.DataFrame.collect\n  UDFDemoSetup$.uploadDemoFiles(UDFDemoSetup.scala:27)'\n  [sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a25576-0504-b2bc-0000-438301da22ba] create or replace stage snowpark_demo_data\n  [sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a25576-0504-b1f7-0000-438301d9f322] alter session unset query_tag\n  ```\n  \n  추후에 JAR 파일을 위한 스테이지를 생성하기 위해 이 메서드가 다시 호출되었을 때 다음 출력이 나타나야 합니다.\n  \n  ```console\n  === Creating the stage @snowpark_demo_udf_dependency_jars ===\n  \n  [sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a25578-0504-b1f7-0000-438301d9f326] alter session set query_tag = 'com.snowflake.snowpark.DataFrame.collect\n  UDFDemoSetup$.uploadDemoFiles(UDFDemoSetup.scala:27)'\n  [sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a25578-0504-b2b8-0000-438301da122e] create or replace stage snowpark_demo_udf_dependency_jars\n  [sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a25578-0504-b1f7-0000-438301d9f32a] alter session unset query_tag\n  ```\n\n- 다음으로 예시는 [FileOperation](https://docs.snowflake.com/ko/developer-guide/snowpark/reference/scala/com/snowflake/snowpark/FileOperation.html) 오브젝트를 사용하여 스테이지에 파일을 업로드합니다. `Session.file` 메서드를 통해 이 오브젝트의 인스턴스에 액세스합니다. 파일을 업로드(사실상 `PUT` 명령 실행)하기 위해 FileOperation 오브젝트의 `put` 메서드를 호출합니다. `put` 메서드는 [PutResult](https://docs.snowflake.com/ko/developer-guide/snowpark/reference/scala/com/snowflake/snowpark/PutResult.html) 오브젝트의 배열을 반환합니다. 각각에는 특정 파일의 결과가 포함되어 있습니다.\n  \n  ```scala\n  val res = session.file.put(s\"$uploadDirUrl/$filePattern\", stageName)\n  res.foreach(r =\u003E Console.println(s\"  ${r.sourceFileName}: ${r.status}\"))\n  ```\n  \n  메서드가 데이터 파일을 업로드할 때 다음이 나타나야 합니다.\n  \n  ```console\n  === Uploading files matching training.1600000.processed.noemoticon.csv to @snowpark_demo_data ===\n  \n  [sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a25576-0504-b2b8-0000-438301da1226] alter session set query_tag = 'com.snowflake.snowpark.FileOperation.put\n  UDFDemoSetup$.uploadDemoFiles(UDFDemoSetup.scala:31)'\n  [sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: ]  PUT file:///Users/straut/workfiles/git/sfguide-snowpark-demo/files_to_upload/training.1600000.processed.noemoticon.csv @snowpark_demo_data\n  [sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a25578-0504-b2bc-0000-438301da22be] alter session unset query_tag\n    training.1600000.processed.noemoticon.csv: UPLOADED\n  ```\n  \n  메서드가 JAR 파일을 업로드할 때 다음이 나타나야 합니다.\n  \n  ```console\n  === Uploading files matching *.jar to @snowpark_demo_udf_dependency_jars ===\n  \n  [sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a25578-0504-b2b8-0000-438301da1232] alter session set query_tag = 'com.snowflake.snowpark.FileOperation.put\n  UDFDemoSetup$.uploadDemoFiles(UDFDemoSetup.scala:31)'\n  [sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: ]  PUT file:///Users/straut/workfiles/git/sfguide-snowpark-demo/files_to_upload/*.jar @snowpark_demo_udf_dependency_jars\n  [sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a2557d-0504-b2b8-0000-438301da1236] alter session unset query_tag\n    slf4j-api.jar: UPLOADED\n    stanford-corenlp-3.6.0.jar: UPLOADED\n    ejml-0.23.jar: UPLOADED\n    stanford-corenlp-3.6.0-models.jar: UPLOADED\n  ```\n\n- 그런 다음 예시는 `LS` 명령을 실행하여 새롭게 생성된 스테이지에 파일을 나열하고 출력의 첫 10개의 행을 출력합니다.\n  \n  ```scala\n  session.sql(s\"ls @$stageName\").show()\n  ```\n  \n  메서드가 CSV 파일을 업로드했을 때 다음이 나타나야 합니다.\n  \n  ```console\n  === Files in @snowpark_demo_data ===\n  \n  [sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a25578-0504-b2bc-0000-438301da22c2] ls @snowpark_demo_data\n  ---------------------------------------------------------------------------------------------------------------------------------------\n  |\"name\"                                              |\"size\"    |\"md5\"                                |\"last_modified\"                |\n  ---------------------------------------------------------------------------------------------------------------------------------------\n  |snowpark_demo_data/training.1600000.processed.n...  |85088032  |da1aae6fe4879f916e740bd80af19685-17  |Tue, 15 Feb 2022 20:06:28 GMT  |\n  ---------------------------------------------------------------------------------------------------------------------------------------\n  ```\n  \n  메서드가 JAR 파일을 업로드했을 때 다음이 나타나야 합니다.\n  \n  ```console\n  === Files in @snowpark_demo_udf_dependency_jars ===\n  \n  [sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a2557d-0504-b2bc-0000-438301da22ca] ls @snowpark_demo_udf_dependency_jars\n  ----------------------------------------------------------------------------------------------------------------------------------------\n  |\"name\"                                              |\"size\"     |\"md5\"                                |\"last_modified\"                |\n  ----------------------------------------------------------------------------------------------------------------------------------------\n  |snowpark_demo_udf_dependency_jars/ejml-0.23.jar.gz  |189776     |92c4f90ad7fcb8fecbe0be3951f9b8a3     |Tue, 15 Feb 2022 20:13:38 GMT  |\n  |snowpark_demo_udf_dependency_jars/slf4j-api.jar.gz  |22640      |b013b6f5f80f95a285e3169c4f0b85ce     |Tue, 15 Feb 2022 20:13:37 GMT  |\n  |snowpark_demo_udf_dependency_jars/stanford-core...  |378223264  |e4b4fdfbec76cc7f8fed01e08eec4dc0-73  |Tue, 15 Feb 2022 20:08:39 GMT  |\n  |snowpark_demo_udf_dependency_jars/stanford-core...  |6796432    |2c4a458b9a205395409349b56dc64f8d     |Tue, 15 Feb 2022 20:13:38 GMT  |\n  ----------------------------------------------------------------------------------------------------------------------------------------\n  ```\n\n다음으로 `UDFDemo.scala` 예시를 실행하여 사용자 정의 함수를 생성합니다.\n\n\u003C!-- ------------------------ --\u003E\n## UDF 데모 실행\n\n\n이 단계에서는 `UDFDemo.scala` 데모 애플리케이션을 실행하여 UDF(사용자 정의 함수)를 생성하고 호출하겠습니다. Snowpark 라이브러리가 이러한 작업을 어떻게 수행하는지 확인하기 위해 다음 주제를 읽어 예시와 출력을 보다 자세하게 확인하십시오.\n\n### UDF 생성 및 호출\n\n다음 명령을 실행하여 코드를 실행합니다.\n\n```console\nsbt \"runMain UDFDemo\"\n```\n\n이 예시는 다음 작업을 수행합니다.\n\n- 데이터를 데모 파일에서 DataFrame으로 로드합니다.\n- 문자열을 분석하고 문자열에서 단어의 감정을 결정하는 UDF(사용자 정의 함수)를 생성합니다.\n- DataFrame에 있는 열의 각 값을 대상으로 UDF를 호출합니다.\n- 다음을 포함한 새로운 DataFrame을 생성합니다.\n  - 원본 데이터를 포함한 열\n  - UDF의 반환값을 포함한 새로운 열\n- 감정이 행복하다고 결정한 UDF가 있는 행만을 포함한 새로운 DataFrame 생성\n\n이러한 작업의 수행 방법을 자세히 알아보려면 다음 주제를 확인하십시오.\n\n\u003C!-- ------------------------ --\u003E\n## 스테이지에서 데이터 로드 및 DataFrame 생성\n\n\n`collectTweetData` 메서드는 `DataFrame`을 생성하여 [스테이지에 있는 파일에서 CSV 데이터를 읽습니다](https://docs.snowflake.com/ko/developer-guide/snowpark/working-with-dataframes.html#label-snowpark-dataframe-stages). [DataFrameReader](https://docs.snowflake.com/ko/developer-guide/snowpark/reference/scala/com/snowflake/snowpark/DataFrameReader.html) 오브젝트로 이러한 작업을 수행합니다.\n\n### 코드 검토회\n\n- 이 메서드는 Session 오브젝트를 수신하여 Snowflake와의 연결에 사용합니다.\n  \n  ```scala\n  def collectTweetData(session: Session): DataFrame = {\n  ```\n\n- `session` ***변수***에 있는 `implicits`에서 이름을 가져와 여러분은 DataFrame 메서드로 인수를 전송할 때 열을 나타내는 속기(예: `'columnName` 및 `$\"columnName\"`)를 사용할 수 있습니다.\n  \n  ```scala\n  import session.implicits._\n  ```\n\n- 데모 파일은 CSV 파일이기에 우선 파일의 스키마를 정의해야 합니다. Snowpark에서는 데이터의 각 열 이름과 유형을 식별하는 [StructField](https://docs.snowflake.com/ko/developer-guide/snowpark/reference/scala/com/snowflake/snowpark/types/StructField.html) `Seq` 오브젝트를 생성하여 이러한 작업을 수행합니다. 이러한 오브젝트는 [com.snowflake.snowpark.types](https://docs.snowflake.com/ko/developer-guide/snowpark/reference/scala/com/snowflake/snowpark/types/index.html) 패키지의 구성 요소입니다.\n  \n  ```scala\n  val schema = Seq(\n    StructField(\"target\", StringType),\n    StructField(\"ids\", StringType),\n    StructField(\"date\", StringType),\n    StructField(\"flag\", StringType),\n    StructField(\"user\", StringType),\n    StructField(\"text\", StringType),\n  )\n  ```\n\n- `Session.read` 메서드를 통해 `DataFrameReader` 오브젝트에 액세스합니다. `DataFrameReader` 오브젝트는 로드할 파일의 스키마, 옵션 및 유형을 지정하기 위해 사용하는 메서드를 제공합니다. 스키마 및 옵션 설정을 위해 이러한 메서드는 `DataFrameReader` 오브젝트와 더불어 스키마 및 옵션 세트를 반환합니다. 이를 통해 아래에서 확인할 수 있듯이 이러한 메서드 호출을 묶을 수 있습니다. 파일 유형 지정 메서드(이 경우 `csv` 메서드)는 지정된 파일에서 데이터를 로드하기 위해 설정된 DataFrame을 반환합니다.\n  \n  ```scala\n  val origData = session\n    .read\n    .schema(StructType(schema))\n    .option(\"compression\", \"gzip\")\n    .csv(s\"@$dataStageName/$dataFilePattern\")\n  ```\n  \n  이 예시에서 `dataStageName` 및 `dataFilePattern`은 `UDFDemoSetup`을 실행했을 때 앞서 해당 스테이지에 업로드했던 스테이지와 파일의 이름을 나타냅니다. DataFrame이 느슨하게 평가됨을 기억하실 수도 있습니다. 이는 여러분이 데이터를 검색하기 위해 메서드를 호출할 때까지 데이터를 로드하지 않음을 의미합니다. 추가 메서드를 호출하여 데이터 검색을 위해 메서드를 호출하기 전에 DataFrame을 변환할 수 있습니다(다음 코드 줄에서처럼).\n\n- 다음으로 예시는 트윗을 포함한 열(`text`라는 열)만 포함된 새로운 DataFrame(`tweetData`)을 반환합니다. DataFrame에는 원본 DataFrame인 `origData`의 첫 100개의 행이 포함되어 있습니다. 이 예시에서 `drop` 및 `limit` 메서드는 각각 이러한 메서드에 의해 변환된 새로운 DataFrame를 반환합니다. 각 메서드는 메서드에 의해 변환된 새로운 DataFrame을 반환하기에 아래와 같이 메서드 호출을 묶을 수 있습니다.\n  \n  ```scala\n  val tweetData = origData.drop('target, 'ids, 'date, 'flag, 'user).limit(100)\n  ```\n\n- 이 시점에는 `tweetData` DataFrame에 실제 데이터가 포함되어 있지 않습니다. 데이터를 로드하기 위해 작업(이 경우 `show`)을 수행하는 메서드를 호출해야 합니다.\n  \n  예시는 `tweetData` DataFrame을 반환합니다.\n  \n  ```scala\n  tweetData.show()\n  return tweetData\n  ```\n\n### 출력\n\n`collectTweetData`의 경우 다음과 같은 출력이 나타나야 합니다.\n\n```console\n=== Setting up the DataFrame for the data in the stage ===\n\n[sbt-bg-threads-1]  INFO (Logging.scala:22) - Actively querying parameter snowpark_lazy_analysis from server.\n\n=== Retrieving the data and printing the text of the first 10 tweets\n[sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a255c9-0504-b313-0000-438301da600a]  CREATE  TEMPORARY  FILE  FORMAT  If  NOT  EXISTS \"SNOWPARK_DEMO_DATA\".\"PUBLIC\".SN_TEMP_OBJECT_1879375406 TYPE  = csv COMPRESSION  =  'gzip'\n[sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a255c9-0504-b313-0000-438301da600e]  SELECT  *  FROM ( SELECT  *  FROM ( SELECT \"TEXT\" FROM ( SELECT $1::STRING AS \"TARGET\", $2::STRING AS \"IDS\", $3::STRING AS \"DATE\", $4::STRING AS \"FLAG\", $5::STRING AS \"USER\", $6::STRING AS \"TEXT\" FROM @snowpark_demo_data/training.1600000.processed.noemoticon.csv( FILE_FORMAT  =\u003E '\"SNOWPARK_DEMO_DATA\".\"PUBLIC\".SN_TEMP_OBJECT_1879375406'))) LIMIT 100) LIMIT 10\n------------------------------------------------------\n|\"TEXT\"                                              |\n------------------------------------------------------\n|\"...\n```\n\n\u003C!-- ------------------------ --\u003E\n## UDF 정의\n\n\n`createUDF` 메서드는 감정을 위해 트윗을 분석하는 UDF의 종속성을 설정한 다음 Snowflake에서 UDF를 생성합니다.\n\n### 코드 검토회\n\n- 메서드는 UDF의 종속성을 지정하기 위해 사용되는 `Session` 오브젝트를 사용합니다.\n  \n  ```scala\n  def createUDF(session: Session): UserDefinedFunction = {\n  ```\n\n- UDF는 별도의 JAR 파일로 패키징된 라이브러리에 의존하기에 이러한 JAR 파일로 Snowpark 라이브러리를 인도해야 합니다. `Session.addDependency` 메서드를 호출하여 이러한 작업을 수행합니다. 예시에서는 이러한 JAR 파일을 종속성으로 추가합니다.\n  \n  ```scala\n  session.addDependency(s\"@$jarStageName/stanford-corenlp-3.6.0.jar.gz\")\n  session.addDependency(s\"@$jarStageName/stanford-corenlp-3.6.0-models.jar.gz\")\n  session.addDependency(s\"@$jarStageName/slf4j-api.jar.gz\")\n  session.addDependency(s\"@$jarStageName/ejml-0.23.jar.gz\")\n  ```\n  \n  이 예시에서 `jarStageName`은 여러분이 `UDFDemoSetup`을 실행했을 때 JAR 파일을 업로드했던 스테이지 이름을 나타냅니다.\n\n- 예시는 `com.snowflake.snowpark.functions` 오브젝트의 `udf` 함수를 호출하여 UDF를 정의합니다. UDF는 `analyze` 메서드로 데이터 열에 있는 각각의 값을 전송합니다.\n  \n  ```scala\n  val sentimentFunc = udf(analyze(_))\n  return sentimentFunc\n  ```\n\n### 출력\n\n- Snowpark 라이브러리는 Snowpark를 위해 JAR 파일을 추가하고 여러분의 예시를 위해 종속성(앞서 지정했던 종속성과 같이)을 추가합니다.\n  \n  ```console\n  [sbt-bg-threads-1]  INFO (Logging.scala:22) - Automatically added /Users/straut/workfiles/git/sfguide-snowpark-demo/target/bg-jobs/sbt_72da5f3e/target/cfe3f19b/f74dd7dd/snowpark-0.6.0.jar to session dependencies.\n  [sbt-bg-threads-1]  INFO (Logging.scala:22) - Adding /Users/straut/workfiles/git/sfguide-snowpark-demo/target/bg-jobs/sbt_72da5f3e/job-1/target/6b26a7dc/681a6b89/snowparkdemo_2.12-0.1.jar to session dependencies\n  ```\n\n- 다음으로 Snowpark 라이브러리는 JAR 파일을 위한 임시 스테이지를 생성합니다...\n  \n  ```console\n  [sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a255c9-0504-b311-0000-438301da500e] create temporary stage if not exists \"SNOWPARK_DEMO_DATA\".\"PUBLIC\".snowSession_74229942898694\n  [sbt-bg-threads-1]  INFO (Logging.scala:22) - Actively querying parameter QUERY_TAG from server.\n  [sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a255c9-0504-b313-0000-438301da6012] alter session set query_tag = 'com.snowflake.snowpark.functions$.udf\n  UDFDemo$.createUDF(UDFDemo.scala:108)'\n  [sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a255c9-0504-b313-0000-438301da6016] ls @\"SNOWPARK_DEMO_DATA\".\"PUBLIC\".snowSession_74229942898694\n  [sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a255c9-0504-b313-0000-438301da601a]  SELECT \"name\" FROM ( SELECT  *  FROM  TABLE ( RESULT_SCAN('01a255c9-0504-b313-0000-438301da6016')))\n  [sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a255c9-0504-b311-0000-438301da501a] alter session unset query_tag\n  ```\n  \n  ...그리고 Snowpark와 애플리케이션 코드를 위해 JAR 파일을 스테이지에 업로드합니다. Snowpark는 또한 여러분의 UDF를 컴파일하고 JAR 파일을 스테이지에 업로드합니다.\n  \n  ```console\n  [snowpark-2]  INFO (Logging.scala:22) - Uploading file file:/.../sfguide-snowpark-demo/target/bg-jobs/sbt_72da5f3e/job-1/target/6b26a7dc/681a6b89/snowparkdemo_2.12-0.1.jar to stage @\"SNOWPARK_DEMO_DATA\".\"PUBLIC\".snowSession_74229942898694\n  [snowpark-9]  INFO (Logging.scala:22) - Uploading file file:/.../sfguide-snowpark-demo/target/bg-jobs/sbt_72da5f3e/target/cfe3f19b/f74dd7dd/snowpark-0.6.0.jar to stage @\"SNOWPARK_DEMO_DATA\".\"PUBLIC\".snowSession_74229942898694\n  [snowpark-11]  INFO (Logging.scala:22) - Compiling UDF code\n  [snowpark-11]  INFO (Logging.scala:22) - Finished Compiling UDF code in 765 ms\n  [snowpark-11]  INFO (Logging.scala:22) - Uploading UDF jar to stage @\"SNOWPARK_DEMO_DATA\".\"PUBLIC\".snowSession_74229942898694\n  [snowpark-11]  INFO (Logging.scala:22) - Finished Uploading UDF jar to stage @\"SNOWPARK_DEMO_DATA\".\"PUBLIC\".snowSession_74229942898694 in 1413 ms\n  [snowpark-2]  INFO (Logging.scala:22) - Finished Uploading file file:/.../sfguide-snowpark-demo/target/bg-jobs/sbt_72da5f3e/job-1/target/6b26a7dc/681a6b89/snowparkdemo_2.12-0.1.jar to stage @\"SNOWPARK_DEMO_DATA\".\"PUBLIC\".snowSession_74229942898694 in 2236 ms\n  [snowpark-9]  INFO (Logging.scala:22) - Finished Uploading file file:/.../sfguide-snowpark-demo/target/bg-jobs/sbt_72da5f3e/target/cfe3f19b/f74dd7dd/snowpark-0.6.0.jar to stage @\"SNOWPARK_DEMO_DATA\".\"PUBLIC\".snowSession_74229942898694 in 8482 ms\n  ```\n\n- 마지막으로 라이브러리는 여러분의 데이터베이스에서 UDF를 정의합니다.\n  \n  ```console\n  [sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a255c9-0504-b313-0000-438301da6022] CREATE TEMPORARY FUNCTION \"SNOWPARK_DEMO_DATA\".\"PUBLIC\".tempUDF_1136829422(arg1 STRING) RETURNS INT LANGUAGE JAVA IMPORTS = ('@snowpark_demo_udf_dependency_jars/stanford-corenlp-3.6.0-models.jar.gz','@snowpark_demo_udf_dependency_jars/slf4j-api.jar.gz','@\"SNOWPARK_DEMO_DATA\".\"PUBLIC\".snowSession_74229942898694/f25d6649aab5cfb7a9429be961d73687/snowparkdemo_2.12-0.1.jar','@snowpark_demo_udf_dependency_jars/ejml-0.23.jar.gz','@\"SNOWPARK_DEMO_DATA\".\"PUBLIC\".snowSession_74229942898694/85061e2a4c65715009267162d183eec1/snowpark-0.6.0.jar','@snowpark_demo_udf_dependency_jars/stanford-corenlp-3.6.0.jar.gz','@\"SNOWPARK_DEMO_DATA\".\"PUBLIC\".snowSession_74229942898694/SNOWPARK_DEMO_DATAPUBLICtempUDF_1136829422_126127561/udfJar_591813027.jar') HANDLER='SnowUDF.compute'\n  ```\n\n\u003C!-- ------------------------ --\u003E\n## 트윗 처리를 위해 UDF 사용\n\n\n`processHappyTweets` 메서드는 UDF를 사용하여 어떤 트윗이 행복한지 발견하기 위해 트윗 텍스트를 분석합니다.\n\n### 코드 검토회\n\n- 메서드는 다음을 수신합니다.\n  \n  - Snowflake와의 연결을 위한 `Session`.\n  - 여러분이 생성했던 UDF.\n  - 트윗을 나타내는 DataFrame.\n  \n  ```scala\n  def processHappyTweets(session: Session, sentimentFunc: UserDefinedFunction, tweetData: DataFrame): Unit = {\n  ```\n\n- `session` 변수의 `implicits`에서 이름을 가져옵니다.\n  \n  ```scala\n  import session.implicits._\n  ```\n\n- 다음으로 예시는 `sentiment`라는 열을 추가하여 `tweetData` DataFrame을 변환하는 새로운 DataFrame인 `analyzed`를 생성합니다. `sentiment` 열에는 `text` 열에서 해당하는 값을 포함한 UDF(`sentimentFunc`) 호출의 결과가 포함되어 있습니다.\n  \n  ```scala\n  val analyzed = tweetData.withColumn(\"sentiment\", sentimentFunc('text))\n  ```\n\n- 예시는 `sentiment`에 `3`이라는 값이 있는 행만 포함되도록 `analyzed` DataFrame을 변환하는 또 다른 DataFrame인 `happyTweets`를 생성합니다.\n  \n  ```scala\n  val happyTweets = analyzed.filter('sentiment === 3)\n  ```\n\n- 다음으로 예시는 `show` 메서드를 호출하여 SQL 문(UDF 포함)을 실행하고 결과를 DataFrame으로 검색한 다음 첫 10개의 행을 출력합니다.\n  \n  ```scala\n  happyTweets.show()\n  ```\n  \n  `show` 메서드가 실행되면 다음과 같은 출력이 나타나야 합니다.\n  \n  ```console\n  === Retrieving the data and printing the first 10 tweets ===\n  \n  [sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a255ca-0504-b311-0000-438301da5026]  CREATE  TEMPORARY  FILE  FORMAT  If  NOT  EXISTS \"SNOWPARK_DEMO_DATA\".\"PUBLIC\".SN_TEMP_OBJECT_1879375406 TYPE  = csv COMPRESSION  =  'gzip'\n  [sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a255ca-0504-b311-0000-438301da502a]  SELECT  *  FROM ( SELECT  *  FROM ( SELECT \"TEXT\", \"SNOWPARK_DEMO_DATA\".\"PUBLIC\".tempUDF_1136829422(\"TEXT\") AS \"SENTIMENT\" FROM ( SELECT  *  FROM ( SELECT \"TEXT\" FROM ( SELECT $1::STRING AS \"TARGET\", $2::STRING AS \"IDS\", $3::STRING AS \"DATE\", $4::STRING AS \"FLAG\", $5::STRING AS \"USER\", $6::STRING AS \"TEXT\" FROM @snowpark_demo_data/training.1600000.processed.noemoticon.csv( FILE_FORMAT  =\u003E '\"SNOWPARK_DEMO_DATA\".\"PUBLIC\".SN_TEMP_OBJECT_1879375406'))) LIMIT 100)) WHERE (\"SENTIMENT\" = 3 :: int)) LIMIT 10\n  --------------------------------------------------------------------\n  |\"TEXT\"                                              |\"SENTIMENT\"  |\n  --------------------------------------------------------------------\n  |\"...\n  ```\n\n- 마지막으로 예시는 [DataFrame에 있는 데이터를](https://docs.snowflake.com/ko/developer-guide/snowpark/working-with-dataframes.html#label-snowpark-dataframe-save-table) `demo_happy_tweets`라는 테이블에 저장합니다. 이를 위해 예시는 `DataFrame.write` 메서드 호출에 의해 검색되는 [DataFrameWriter](https://docs.snowflake.com/ko/developer-guide/snowpark/reference/scala/com/snowflake/snowpark/DataFrameWriter.html) 오브젝트를 사용합니다. 예시는 `DataFrameWriter` 오브젝트의 `mode` 메서드로 `SaveMode.Overwrite`를 전송하여 테이블에 있는 모든 기존 데이터를 덮어씁니다.\n  \n  ```scala\n  happyTweets.write.mode(Overwrite).saveAsTable(\"demo_happy_tweets\")\n  ```\n  \n  `saveAsTable` 메서드가 실행되면 다음과 같은 출력이 나타나야 합니다.\n  \n  ```console\n  === Saving the data to the table demo_happy_tweets ===\n  \n  [sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a255ca-0504-b311-0000-438301da502e]  CREATE  TEMPORARY  FILE  FORMAT  If  NOT  EXISTS \"SNOWPARK_DEMO_DATA\".\"PUBLIC\".SN_TEMP_OBJECT_1879375406 TYPE  = csv COMPRESSION  =  'gzip'\n  [sbt-bg-threads-1]  INFO (Logging.scala:22) - Execute query [queryID: 01a255ca-0504-b313-0000-438301da602a]  CREATE  OR  REPLACE  TABLE demo_happy_tweets AS  SELECT  *  FROM ( SELECT  *  FROM ( SELECT \"TEXT\", \"SNOWPARK_DEMO_DATA\".\"PUBLIC\".tempUDF_1136829422(\"TEXT\") AS \"SENTIMENT\" FROM ( SELECT  *  FROM ( SELECT \"TEXT\" FROM ( SELECT $1::STRING AS \"TARGET\", $2::STRING AS \"IDS\", $3::STRING AS \"DATE\", $4::STRING AS \"FLAG\", $5::STRING AS \"USER\", $6::STRING AS \"TEXT\" FROM @snowpark_demo_data/training.1600000.processed.noemoticon.csv( FILE_FORMAT  =\u003E '\"SNOWPARK_DEMO_DATA\".\"PUBLIC\".SN_TEMP_OBJECT_1879375406'))) LIMIT 100)) WHERE (\"SENTIMENT\" = 3 :: int))\n  ```\n\n이 부분이 끝났습니다! 지금까지 Scala 코드를 사용자 정의 함수로 업로드한 다음 UDF를 실행하여 행복한 트윗을 위해 트윗 데이터를 분석했습니다.\n\n마지막 단계에서는 이미 보유하고 있는 코드를 가져와 Snowflake에서 이를 저장 프로시저로 변환하겠습니다.\n\n\u003C!-- ------------------------ --\u003E\n## Scala 코드에서 저장 프로시저 생성\n\n\n이 단계에서는 방금 실행했던 코드를 가져와 이로부터 저장 프로시저를 생성하겠습니다. 이를 위해 Scala 코드를 Snowflake 워크시트로 복사하고 코드를 SQL 문에서 래핑한 다음 이를 실행하여 저장 프로시저를 생성하겠습니다.\n\n다음 단계에서는 [새로운 웹 인터페이스](https://docs.snowflake.com/ko/user-guide/ui-web.html)를 사용합니다.\n\n관련 설명서를 위해 [Snowpark에서 저장 프로시저 작성(Scala)](https://docs.snowflake.com/ko/sql-reference/stored-procedures-scala.html)을 확인하십시오.\n\n### 저장 프로시저 생성 및 실행\n\n1. 새로운 웹 인터페이스에서 새로운 워크시트를 생성하고 이름을 `discoverHappyTweets`라고 지정합니다.\n\n2. 워크시트 편집기에서 세션 컨텍스트가 앞서 편집했던 snowflake_connection.properties 파일에 지정했던 설정과 일치하는지 확인합니다. 예:\n   \n   - 왼쪽 상단에 있는 드롭다운에서 지정했던 역할을 선택합니다.\n   - 오른쪽 상단에 있는 세션 컨텍스트 드롭다운에서 지정했던 역할과 웨어하우스 값을 선택합니다.\n   - 데이터베이스 드롭다운에서 지정했던 데이터베이스와 스키마를 선택합니다.\n\n3. `discoverHappyTweets` 워크시트에 다음을 붙여넣습니다.\n   \n   ```sql\n   create or replace procedure discoverHappyTweets()\n   returns string\n   language scala\n   runtime_version=2.12\n   packages=('com.snowflake:snowpark:latest')\n   imports=('@snowpark_demo_udf_dependency_jars/ejml-0.23.jar','@snowpark_demo_udf_dependency_jars/slf4j-api.jar','@snowpark_demo_udf_dependency_jars/stanford-corenlp-3.6.0-models.jar','@snowpark_demo_udf_dependency_jars/stanford-corenlp-3.6.0.jar')\n   handler = 'UDFDemo.discoverHappyTweets'\n   target_path = '@snowpark_demo_udf_dependency_jars/discoverHappyTweets.jar'\n   as\n   $$\n   \n   /*Paste the UDFDemo object Scala code, including imports. You can optionally\n   omit the main function.*/\n   \n   $$;\n   ```\n   \n   이 코드는 `discoverHappyTweets`라는 저장 프로시저를 생성합니다. 설명서에는 더 많이 있지만 다음을 확인해야 합니다.\n   \n   - `packages` 매개 변수는 사용할 Snowpark 버전을 지정합니다.\n   - `imports` 매개 변수는 코드의 종속성으로 필요한 JAR 파일을 지정합니다. 이는 앞서 Snowflake에 업로드했던 JAR 파일의 목록입니다.\n   - `handler` 매개 변수는 저장 프로시저를 실행할 때 Snowflake가 호출해야 하는 함수를 지정합니다.\n   - `target_path` 매개 변수는 이 코드를 실행할 때 생성할 JAR의 이름과 위치를 지정합니다. Snowflake는 코드를 컴파일하고 컴파일된 클래스를 패키징합니다.\n\n4. `$$` 구분 기호 간 섹션에 `UDFDemo`에서 가져온 Scala 코드를 붙여넣습니다. `import` 문이 포함되어야 합니다. 필요하지 않으니 `main` 함수를 포함하지 마십시오. 특히나 Snowflake는 여러분이 오브젝트를 생성했던 곳에 Session 오브젝트를 삽입합니다. Snowflake는 대신 `handler` 매개 변수로 지정했던 메서드를 호출합니다.\n\n5. 워크시트에서 코드를 실행합니다. Snowflake는 `CREATE PROCEDURE`의 본문에 있는 코드를 컴파일하고 이를 JAR 파일로 패키징합니다.\n\n6. 새로운 워크시트를 생성하고 이름을 `call discoverHappyTweets`라고 지정합니다.\n\n7. 새로운 워크시트에 다음 코드를 붙여넣습니다.\n   \n   ```sql\n   call discoverHappyTweets();\n   select * from demo_happy_tweets;\n   ```\n\n8. 워크시트에서 2개의 줄을 모두 선택한 다음 워크시트에서 코드를 실행합니다. Snowflake가 저장 프로시저를 호출함에 따라 워크시트 아래에 메시지가 나타나야 합니다. 프로시저 호출이 완료된 후 이는 행복한 트윗 목록인 쿼리 결과로 대체됩니다. 저장 프로시저 호출은 단순히 메서드 또는 저장 프로시저와 관련된 함수를 실행합니다. 클래스패스에서 JAR 파일을 통해 실행됩니다.\n\n이처럼 쉽게 저장 프로시저를 생성할 수 있습니다. 보너스 포인트를 위해 새로운 저장 프로시저를 밤마다 수행하는 작업으로 호출할 수 있습니다.\n\n```sql\ncreate or replace task process_tweets_nightly\nwarehouse = 'small'\nschedule = '1440 minute'\nas\ncall discoverHappyTweets();\n```\n\n\u003C!-- ------------------------ --\u003E\n## 종료 및 다음 단계\n\n\n축하드립니다! Snowpark를 사용하여 트윗을 대상으로 감정 분석을 수행했습니다. 이 가이드를 위해 트윗의 샘플 데이터 세트를 사용했습니다. 새로운 트윗이 작성됨에 따라 이를 자동으로 수집하고자 한다면 [Snowflake로 Twitter 데이터 자동 수집](/guide/auto_ingest_twitter_data/) 가이드를 따르십시오.\n\n### 다룬 내용\n\n- **데이터 로딩** - Snowpark를 사용하여 Snowflake로 Twitter 데이터 로드(Scala)\n- **데이터** - CSV 파일에서 DataFrame 생성 및 필요하지 않은 열 삭제\n- **감정 분석** - Scala를 사용하여 트윗 DataFrame을 대상으로 감정 분석 수행\n- **Snowpark UDF** - Scala를 사용하여 Snowflake 테이블에 DataFrame 작성\n- **Snowpark 저장 프로시저** - Snowflake를 사용하여 Scala에서 저장 프로시저 생성\n\n### 관련 리소스\n\n- [Snowpark Docs](https://docs.snowflake.com/ko/LIMITEDACCESS/snowpark.html)\n- [GitHub의 Source 코드 예시](https://github.com/Snowflake-Labs/sfguide-snowpark-demo)\n","multiValue":false,":type":"text/x-markdown"},"quickstartArticleLogoImage":{"dataType":"string","title":"Quickstart Article Logo Image","multiValue":false,":type":"text/plain"}},"elementsOrder":["quickstartArticleBody","quickstartArticleLogoImage"],"model":"snowflake-site/models/quickstart-article"},"flexible_column_cont":{"id":"flexible-column-container-c6e9d9a601","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-920162d2f8",":items":{"quickstart_last_modi":{"id":"quickstart-last-modified-44fff80705","icon":{"id":"icon","icon":"calendar",":type":"snowflake-site/components/icon","appliedCssClassNames":"snowflake-icon-blue"},"lastModifiedDatePrefix":"Updated","lastModifiedDate":"2025-11-14",":type":"snowflake-site/components/quickstart/quickstart-last-modified","appliedCssClassNames":"snowflake-responsive-component-top-padding-small"},"text":{"id":"text-312fd9b353","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"],":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container"},"flexible_column_content_container_2":{"layout":"SIMPLE","id":"container-ca3db6a182",":items":{},":itemsOrder":[],":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container"},"isBlogPage":false,"isActiveTOC":false,":type":"snowflake-site/components/flexible-column-container"}},":itemsOrder":["contentfragment","flexible_column_cont"],":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container"},"flexible_column_content_container_2":{"layout":"SIMPLE","id":"container-347e216314",":items":{"quickstart_table_of_":{"layout":"SIMPLE","id":"container-07ccd6908c","isDeveloperGuidesPage":false,":items":{"quickstart_table_of_":{"id":"quickstart-table-of-content-8e11f04764","fragmentPath":"/content/dam/snowflake-site/ko/content-fragments/quickstarts/getting-started-with-snowpark-kr",":type":"snowflake-site/components/quickstart/quickstart-table-of-content","headings":["\u003Ch2\u003E개요\u003C/h2\u003E","\u003Ch2\u003E리포지토리 다운로드\u003C/h2\u003E","\u003Ch2\u003ESnowflake와의 연결을 위한 설정 구성\u003C/h2\u003E","\u003Ch2\u003ESnowflake 연결\u003C/h2\u003E","\u003Ch2\u003E데모를 위한 데이터 파일 및 라이브러리 다운로드\u003C/h2\u003E","\u003Ch2\u003E내부 스테이지에 데이터 파일 및 라이브러리 업로드\u003C/h2\u003E","\u003Ch2\u003EUDF 데모 실행\u003C/h2\u003E","\u003Ch2\u003E스테이지에서 데이터 로드 및 DataFrame 생성\u003C/h2\u003E","\u003Ch2\u003EUDF 정의\u003C/h2\u003E","\u003Ch2\u003E트윗 처리를 위해 UDF 사용\u003C/h2\u003E","\u003Ch2\u003EScala 코드에서 저장 프로시저 생성\u003C/h2\u003E","\u003Ch2\u003E종료 및 다음 단계\u003C/h2\u003E"]},"quickstart_button":{"id":"quickstart-button-8faf26a67c","fragmentPath":"/content/dam/snowflake-site/ko/content-fragments/quickstarts/getting-started-with-snowpark-kr",":type":"snowflake-site/components/quickstart/quickstart-button","appliedCssClassNames":"snowflake-responsive-component-top-padding-none"}},":itemsOrder":["quickstart_table_of_","quickstart_button"],":type":"snowflake-site/components/quickstart/quickstart-table-of-content/quickstart-table-of-content-container"}},":itemsOrder":["quickstart_table_of_"],":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container"},"isBlogPage":false,"isActiveTOC":false,":type":"snowflake-site/components/flexible-column-container"},"markup_editor":{"id":"markup-editor-7a61c1078c","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-f561d3e48c",":items":{},":itemsOrder":[],":type":"snowflake-site/components/modal/modal-container"},"experiencefragment-footer":{"id":"experiencefragment-569f875af9","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/ko/site/footer/master/jcr:content","configured":true,":items":{"root":{"additionalClasses":"sf-footer","layout":"SIMPLE","id":"container-992f60a847","appliedCssClassNames":"ui-background-02",":items":{"container_copy_1901439591":{"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-d7c3000b87","appliedCssClassNames":"snowflake-container snowflake-responsive-container-inner-padding-small",":items":{"flexible_column_cont":{"id":"flexible-column-container-2829c4682f","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-0e35b7283a",":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-76015ecfe3","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-8cac705ffb","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-04a8cb16de","appliedCssClassNames":"snowflake-responsive-container-inner-padding-small",":items":{"text":{"id":"text-06aeae1ce5","additionalClasses":"sf-footer__newsletter-title","text":"\u003Cp\u003E\u003Cb\u003E월간 뉴스레터 구독하기\u003C/b\u003E\u003C/p\u003E\r\n\u003Cp\u003ESnowflake의 최신 제품 정보, 전문가 인사이트 및 유용한 리소스를 이메일로 편리하게 받아보세요.\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-ffb7a2c3af","marketoForm":{"edit":false,"successUrl":null,"formId":"45871","script":null,"values":null,"hidden":null},"formConfigured":true,"munchkinId":"252-RFO-227","serverInstance":"252-RFO-227.mktoweb.com","marketoConfigured":true,":type":"snowflake-site/components/form/marketo-v2"}},":itemsOrder":["text","marketo_v2"],":type":"snowflake-site/components/container"}},":itemsOrder":["container"],":type":"snowflake-site/components/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-6e4e11e4e0","appliedCssClassNames":"snowflake-responsive-container-inner-padding-medium",":items":{"text":{"id":"text-f74656a49f","additionalClasses":"sf-footer__link-group","text":"\u003Cp class=\"sf-footer__column-title\"\u003E제품\u003C/p\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/product/platform/\"\u003EPlatform\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/product/data-engineering/\"\u003EData Engineering\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/product/analytics/\"\u003EAnalytics\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/product/ai/\"\u003EAI\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/product/applications-and-collaboration/\"\u003EApplications &amp; Collaboration\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/pricing-options/\"\u003E요금\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-7c1cdabb3c","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=\"/en/support/\"\u003ESupport (EN)\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/support/\"\u003E우선 지원 (EN)\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://status.snowflake.com/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003E지원 현황 (EN)\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"],":type":"snowflake-site/components/container"},"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-6ac73beaea","appliedCssClassNames":"snowflake-responsive-container-inner-padding-small",":items":{"text":{"id":"text-9899d70295","additionalClasses":"sf-footer__link-group","text":"\u003Cp class=\"sf-footer__column-title\"\u003E산업용\u003C/p\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/solutions/industries/advertising-media-entertainment/\"\u003E광고, 미디어 및 엔터테인먼트\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/solutions/industries/financial-services/\"\u003E금융 서비스\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/solutions/industries/healthcare-and-life-sciences/\"\u003E헬스케어 및 라이프사이언스\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/solutions/industries/manufacturing/\"\u003E제조\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/solutions/industries/public-sector/\"\u003E공공 부문\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/solutions/industries/retail-consumer-goods/\"\u003E리테일/소비재\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/solutions/industries/technology/\"\u003E테크놀로지\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"],":type":"snowflake-site/components/container"},"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-b6f74c4dbf","appliedCssClassNames":"snowflake-responsive-container-inner-padding-small",":items":{"text":{"id":"text-bb71b38d82","additionalClasses":"sf-footer__link-group","text":"\u003Cp class=\"sf-footer__column-title\"\u003E회사\u003C/p\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/company/overview/about-snowflake/\"\u003ESnowflake 소개\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/company/overview/leadership-and-board/\"\u003E리더십 및 이사진 (EN)\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://careers.snowflake.com/us/en?_ga=2.189098923.1024280027.1746985324-1783381883.1746382047\"\u003E채용 (EN)\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://investors.snowflake.com/overview/default.aspx\" target=\"_blank\" rel=\"noopener noreferrer\"\u003E투자자 관계 (EN)\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://trust.snowflake.com/\"\u003ETrust Center (EN)\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/brand-guidelines/\"\u003E브랜드 가이드라인 (EN)\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/contact/\"\u003E연락처\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/news/\"\u003E뉴스룸\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/company/overview/esg/\"\u003EESG (EN)\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/company/overview/snowflake-ventures/\"\u003ESnowflake Ventures (EN)\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/company/overview/end-data-disparity/\"\u003E데이터 불평등 종식 (EN)\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"],":type":"snowflake-site/components/container"},"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-ae92bb1a24","appliedCssClassNames":"snowflake-responsive-container-inner-padding-small",":items":{"text":{"id":"text-5e2a955fb4","additionalClasses":"sf-footer__link-group","text":"\u003Cp class=\"sf-footer__column-title\"\u003E학습\u003C/p\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://snowflake.com/ko/resources/\"\u003E리소스 라이브러리\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/webinars/demo/\"\u003E라이브 데모 (EN)\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"/ko/fundamentals/\"\u003EFundamentals\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/resources/learn/training/\"\u003E교육 (EN)\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/resources/learn/certifications/\"\u003E자격 인증\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://learn.snowflake.com/en/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003ESnowflake University (EN)\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/developers/guides/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003E개발자가이드\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://docs.snowflake.com/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003E설명서 (EN)\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"],":type":"snowflake-site/components/container"}},":itemsOrder":["container_1622723482","container","container_copy_copy","container_copy","container_copy_copy_"],":type":"snowflake-site/components/container"}},":itemsOrder":["container"],":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container"},"isBlogPage":false,"isActiveTOC":false,":type":"snowflake-site/components/flexible-column-container"}},":itemsOrder":["flexible_column_cont"],":type":"snowflake-site/components/container"},"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-ba9b8f199d","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-adf192fa01","appliedCssClassNames":"snowflake-container snowflake-responsive-container-inner-padding-small",":items":{"flexible_column_cont":{"id":"flexible-column-container-684a828e13","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-f18e2c160a",":items":{"container":{"additionalClasses":"sf-footer__legal-container","columnClassNames":{"container":"aem-GridColumn aem-GridColumn--default--12","text_copy_copy_16360_258165670":"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-4566fb4345","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-bbc893c4a3","appliedCssClassNames":"snowflake-responsive-container-inner-padding-extra-small",":items":{"image":{"id":"image-c66b1b11c4","additionalClasses":"sf-footer__logo","alt":"Snowflake logo","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/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","lazyEnabled":true,"imageLink":{"valid":true,"url":"/en/"},"width":"64","height":"64",":type":"snowflake-site/components/image"}},":itemsOrder":["image"],":type":"snowflake-site/components/container"},"text_copy_copy_16360_258165670":{"id":"text-ab6654030c","additionalClasses":"sf-footer__legal-links","text":"\u003Cul\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/legal/privacy/privacy-policy/\"\u003E개인정보 처리방침\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/legal/snowflake-site-terms/\"\u003E사이트 이용 약관\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://info.snowflake.com/Preference-center.html\"\u003E이메일 수신 설정\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Cbutton id=\"ot-sdk-btn\" class=\"ot-sdk-show-settings\"\u003E쿠키 설정\u003C/button\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/legal/privacy/privacy-policy/#12\"\u003E개인 정보를 공유하지 않습니다.\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/legal/\"\u003E법률\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E© 2026 Snowflake Inc. All Rights Reserved&nbsp;ㅣ 스노우플레이크코리아 유한회사 ㅣ 대표자: 마이클파스콸스카펠리 ㅣ&nbsp;주소: 서울특별시 강남구 테헤란로 134, 10층(역삼동, 포스코타워 역삼) ㅣ 사업자등록번호: 523-87-02399\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-8fe1871631","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","cssContent":".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}.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}}","isGSAPEnabled":false,":type":"snowflake-site/components/markup-editor"}},":itemsOrder":["container","text_copy_copy_16360_258165670","markup_editor"],":type":"snowflake-site/components/container"}},":itemsOrder":["container"],":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container"},"isBlogPage":false,"isActiveTOC":false,":type":"snowflake-site/components/flexible-column-container"}},":itemsOrder":["flexible_column_cont"],":type":"snowflake-site/components/container"}},":itemsOrder":["container_112062425"],":type":"snowflake-site/components/container"},"markup_editor_copy":{"id":"markup-editor-14479521da","title":"New css","cssContent":"body:has(.snowflake-skip-to-content[style=\"top:82px;\"]) #subNav,body:has(.snowflake-skip-to-content[style=\"top:90px;\"]) #subNav,body:has(.snowflake-skip-to-content[style=\"top:98px;\"]) #subNav,.pushdown-banner-dismissed #subNav{top:var(--scroll-padding-top) !important;transition:300ms ease top}.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.4}.related-chip-25 .snowflake-content-chip-image{width:48px}.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:hover::after{right:24px;transition:300ms ease right}.related-chip-25 .snowflake-content-chip-content-without-tag{flex-grow:1;padding-right:24px}.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}.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,3.5vw,4rem) !important;line-height:.85 !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 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}","isGSAPEnabled":false,":type":"snowflake-site/components/markup-editor"}},":itemsOrder":["container_copy_1901439591","container_573483281_","markup_editor_copy"],":type":"snowflake-site/components/container"}},":itemsOrder":["root"],":type":"snowflake-site/components/experiencefragment","classNames":"aem-xf"},"markup_editor":{"id":"markup-editor-580f1ebc2d","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"],":path":"/content/snowflake-site/global/ko/developers/guides/getting-started-with-snowpark-kr","isPasswordProtected":false,"analyticsEnabled":true,":hierarchyType":"page","coveoConfig":{"pipeline":"snowflake.com","searchHub":"snowflake.com","organizationId":"snowflakecomputingproduction8neljofn","apiKey":"xx335921a6-2a0a-40f2-a167-e390b4766c3d"},"analyticsDebugMode":false,"analyticsData":{"excludeFromAnalytics":false,"subCategory":"","pageType":"quickstart-page-template","templateName":"quickstart-page-template","siteName":"snowflake","pageUrl":"/content/snowflake-site/global/ko/developers/guides/getting-started-with-snowpark-kr","language":"ko","category":"general","pageName":"Snowpark 시작하기","contentTags":["snowflake-site:taxonomy/solution-center/certification/quickstart","snowflake-site:taxonomy/product/platform"]},"analyticsContentTags":["snowflake-site:taxonomy/solution-center/certification/quickstart","snowflake-site:taxonomy/product/platform"],":mappedPath":"/ko/developers/guides/getting-started-with-snowpark-kr/",":type":"snowflake-site/components/structure/page","locale":"ko"}
  