(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 i}));var a=n("k1TG"),o=n("8o2o"),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=c.a;function i(e){var t=e.components,n=Object(o.a)(e,["components"]);return Object(r.b)(s,Object(a.a)({},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!==i&&i&&i===Object(i)&&Object.isExtensible(i)&&!i.hasOwnProperty("__filemeta")&&Object.defineProperty(i,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"src/pages/docs/Connecting to Databases/spark-sql.mdx"}}),i.isMDXComponent=!0}}]);
//# sourceMappingURL=component---src-pages-docs-connecting-to-databases-spark-sql-mdx-f8a98681e5c155317df5.js.map