{"version":3,"sources":["webpack:///./src/pages/docs/Connecting to Databases/spark-sql.mdx"],"names":["_frontmatter","MDXLayout","DefaultLayout","MDXContent","components","props","mdxType","isMDXComponent"],"mappings":"wPAMaA,G,UAAe,S,sOAE5B,IAKMC,EAAYC,IACH,SAASC,EAAT,GAGZ,IAFDC,EAEC,EAFDA,WACGC,EACF,8BACD,OAAO,YAACJ,EAAD,eAAeI,EAAf,CAAsBD,WAAYA,EAAYE,QAAQ,cAC3D,iBAAQ,CACN,GAAM,oBADR,oBAGA,+EACE,gBAAO,CACL,KAAQ,mCACR,WAAc,KAFhB,UADF,KAMA,gFACA,uBAAK,mBAAU,CACX,WAAc,OADb,qD,oOAQTH,EAAWI,gBAAiB","file":"component---src-pages-docs-connecting-to-databases-spark-sql-mdx-8e9a68f1db83b35b88b6.js","sourcesContent":["import * as React from 'react'\n  /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsx mdx */\n\nimport DefaultLayout from \"/Users/evan/GitHub/incubator-superset_preset/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\n\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n  console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n  return <div {...props} />;\n};\n\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n  components,\n  ...props\n}) {\n  return <MDXLayout {...props} components={components} mdxType=\"MDXLayout\">\n    <h2 {...{\n      \"id\": \"apache-spark-sql\"\n    }}>{`Apache Spark SQL`}</h2>\n    <p>{`The recommended connector library for Apache Spark SQL `}\n      <a {...{\n        \"href\": \"https://pypi.org/project/PyHive/\",\n        \"parentName\": \"p\"\n      }}>{`pyhive`}</a>\n      {`.`}</p>\n    <p>{`The expected connection string is formatted as follows:`}</p>\n    <pre><code {...{\n        \"parentName\": \"pre\"\n      }}>{`hive://hive@{hostname}:{port}/{database}\n`}</code></pre>\n\n  </MDXLayout>;\n}\n;\nMDXContent.isMDXComponent = true;\n      "],"sourceRoot":""}