(window.webpackJsonp=window.webpackJsonp||[]).push([[35],{KIvL:function(e,t,n){"use strict";n.r(t),n.d(t,"_frontmatter",(function(){return p})),n.d(t,"default",(function(){return b}));var a=n("wx14"),o=n("zLVn"),r=(n("q1tI"),n("7ljp")),c=n("hhGP"),p=(n("qKvR"),{});void 0!==p&&p&&p===Object(p)&&Object.isExtensible(p)&&!p.hasOwnProperty("__filemeta")&&Object.defineProperty(p,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"src/pages/docs/Connecting to Databases/spark-sql.mdx"}});var s={_frontmatter:p},i=c.a;function b(e){var t=e.components,n=Object(o.a)(e,["components"]);return Object(r.b)(i,Object(a.a)({},s,n,{components:t,mdxType:"MDXLayout"}),Object(r.b)("h2",{id:"apache-spark-sql"},"Apache Spark SQL"),Object(r.b)("p",null,"The recommended connector library for Apache Spark SQL ",Object(r.b)("a",{href:"https://pypi.org/project/PyHive/",parentName:"p"},"pyhive"),"."),Object(r.b)("p",null,"The expected connection string is formatted as follows:"),Object(r.b)("pre",null,Object(r.b)("code",{parentName:"pre"},"hive://hive@{hostname}:{port}/{database}\n")))}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/spark-sql.mdx"}}),b.isMDXComponent=!0}}]);
//# sourceMappingURL=component---src-pages-docs-connecting-to-databases-spark-sql-mdx-ffef7af4eb99086d5584.js.map