(window.webpackJsonp=window.webpackJsonp||[]).push([[30],{cbQk:function(e,t,n){"use strict";n.r(t),n.d(t,"_frontmatter",(function(){return i})),n.d(t,"default",(function(){return s}));var a=n("k1TG"),o=n("8o2o"),c=(n("q1tI"),n("7ljp")),r=n("hhGP"),i=(n("qKvR"),{});void 0!==i&&i&&i===Object(i)&&Object.isExtensible(i)&&!i.hasOwnProperty("__filemeta")&&Object.defineProperty(i,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"src/pages/docs/Connecting to Databases/hive.mdx"}});var b={_frontmatter:i},p=r.a;function s(e){var t=e.components,n=Object(o.a)(e,["components"]);return Object(c.b)(p,Object(a.a)({},b,n,{components:t,mdxType:"MDXLayout"}),Object(c.b)("h2",{id:"apache-hive"},"Apache Hive"),Object(c.b)("p",null,"The ",Object(c.b)("a",Object(a.a)({parentName:"p"},{href:"https://pypi.org/project/PyHive/"}),"pyhive")," library is the recommended way to connect to Hive through SQLAlchemy."),Object(c.b)("p",null,"The expected connection string is formatted as follows:"),Object(c.b)("pre",null,Object(c.b)("code",Object(a.a)({parentName:"pre"},{}),"hive://hive@{hostname}:{port}/{database}\n")))}void 0!==s&&s&&s===Object(s)&&Object.isExtensible(s)&&!s.hasOwnProperty("__filemeta")&&Object.defineProperty(s,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"src/pages/docs/Connecting to Databases/hive.mdx"}}),s.isMDXComponent=!0}}]);
//# sourceMappingURL=component---src-pages-docs-connecting-to-databases-hive-mdx-616ef8fbd4b027006fcb.js.map