(window.webpackJsonp=window.webpackJsonp||[]).push([[42],{hdO2:function(e,t,n){"use strict";n.r(t),n.d(t,"_frontmatter",(function(){return c})),n.d(t,"default",(function(){return b}));var a=n("k1TG"),o=n("8o2o"),r=(n("q1tI"),n("7ljp")),s=n("hhGP"),c=(n("qKvR"),{});void 0!==c&&c&&c===Object(c)&&Object.isExtensible(c)&&!c.hasOwnProperty("__filemeta")&&Object.defineProperty(c,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"src/pages/docs/Connecting to Databases/snowflake.mdx"}});var i={_frontmatter:c},l=s.a;function b(e){var t=e.components,n=Object(o.a)(e,["components"]);return Object(r.b)(l,Object(a.a)({},i,n,{components:t,mdxType:"MDXLayout"}),Object(r.b)("h2",{id:"snowflake"},"Snowflake"),Object(r.b)("p",null,"The recommended connector library for Snowflake is\n",Object(r.b)("a",Object(a.a)({parentName:"p"},{href:"https://pypi.org/project/snowflake-sqlalchemy/"}),"snowflake-sqlalchemy"),"."),Object(r.b)("p",null,"The connection string for Snowflake looks like this:"),Object(r.b)("pre",null,Object(r.b)("code",Object(a.a)({parentName:"pre"},{}),"snowflake://{user}:{password}@{account}.{region}/{database}?role={role}&warehouse={warehouse}\n")),Object(r.b)("p",null,"The schema is not necessary in the connection string, as it is defined per table/query. The role and\nwarehouse can be omitted if defaults are defined for the user, i.e."),Object(r.b)("pre",null,Object(r.b)("code",Object(a.a)({parentName:"pre"},{}),"snowflake://{user}:{password}@{account}.{region}/{database}\n")),Object(r.b)("p",null,"Make sure the user has privileges to access and use all required\ndatabases/schemas/tables/views/warehouses, as the Snowflake SQLAlchemy engine does not test for\nuser/role rights during engine creation by default. However, when pressing the “Test Connection”\nbutton in the Create or Edit Database dialog, user/role credentials are validated by passing\n“validate_default_parameters”: True to the connect() method during engine creation. If the user/role\nis not authorized to access the database, an error is recorded in the Superset logs."))}void 0!==b&&b&&b===Object(b)&&Object.isExtensible(b)&&!b.hasOwnProperty("__filemeta")&&Object.defineProperty(b,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"src/pages/docs/Connecting to Databases/snowflake.mdx"}}),b.isMDXComponent=!0}}]);
//# sourceMappingURL=component---src-pages-docs-connecting-to-databases-snowflake-mdx-306b8852638764b20003.js.map