(window.webpackJsonp=window.webpackJsonp||[]).push([[27],{kkV0:function(e,n,t){"use strict";t.r(n),t.d(n,"_frontmatter",(function(){return i})),t.d(n,"default",(function(){return l}));var a=t("wx14"),o=t("zLVn"),r=(t("q1tI"),t("7ljp")),c=t("hhGP"),i=(t("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/kylin.mdx"}});var p={_frontmatter:i},s=c.a;function l(e){var n=e.components,t=Object(o.a)(e,["components"]);return Object(r.b)(s,Object(a.a)({},p,t,{components:n,mdxType:"MDXLayout"}),Object(r.b)("h2",{id:"apache-kylin"},"Apache Kylin"),Object(r.b)("p",null,"The recommended connector library for Apache Kylin is\n",Object(r.b)("a",{href:"https://github.com/Kyligence/kylinpy",parentName:"p"},"kylinpy"),"."),Object(r.b)("p",null,"The expected connection string is formatted as follows:"),Object(r.b)("pre",null,Object(r.b)("code",{parentName:"pre"},"kylin://<username>:<password>@<hostname>:<port>/<project>?<param1>=<value1>&<param2>=<value2>\n")))}void 0!==l&&l&&l===Object(l)&&Object.isExtensible(l)&&!l.hasOwnProperty("__filemeta")&&Object.defineProperty(l,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"src/pages/docs/Connecting to Databases/kylin.mdx"}}),l.isMDXComponent=!0}}]);
//# sourceMappingURL=component---src-pages-docs-connecting-to-databases-kylin-mdx-8d51f2f2a71c881ae0a9.js.map