{"version":3,"sources":["webpack:///./src/pages/docs/Connecting to Databases/drill.mdx"],"names":["_frontmatter","layoutProps","MDXLayout","DefaultLayout","MDXContent","components","props","mdxType","isMDXComponent"],"mappings":"wPAMaA,G,UAAe,S,kOAE5B,IAKMC,EAAc,CAClBD,gBAEIE,EAAYC,IACH,SAASC,EAAT,GAGZ,IAFDC,EAEC,EAFDA,WACGC,EACF,8BACD,OAAO,YAACJ,EAAD,eAAeD,EAAiBK,EAAhC,CAAuCD,WAAYA,EAAYE,QAAQ,cAC5E,iBAAQ,CACN,GAAM,gBADR,gBAGA,iBAAQ,CACN,GAAM,cADR,cAGA,+GAEE,gBAAO,CACL,KAAQ,kDACR,WAAc,KAFhB,oBAFF,aAOA,2MAEA,+EACA,uBAAK,mBAAU,CACX,WAAc,OADb,wFAIL,8IAEA,uBAAK,mBAAU,CACX,WAAc,OADb,uDAIL,iBAAQ,CACN,GAAM,QADR,QAGA,yGAEE,gBAAO,CACL,KAAQ,uDACR,WAAc,KAFhB,iBAFF,KAOA,0DACA,uBAAK,mBAAU,CACX,WAAc,OADb,wDAIL,iBAAQ,CACN,GAAM,QADR,QAGA,kDAEE,gBAAO,CACL,KAAQ,gEACR,WAAc,KAFhB,8BAFF,kBAQE,gBAAO,CACL,KAAQ,kEACR,WAAc,KAFhB,iBARF,yD,gOAkBJH,EAAWI,gBAAiB","file":"component---src-pages-docs-connecting-to-databases-drill-mdx-cba660da1774ec80af91.js","sourcesContent":["import * as React from 'react'\n  /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsx mdx */\n\nimport DefaultLayout from \"/Users/erik_ritter/repos/github.com/incubator-superset/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 layoutProps = {\n  _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n  components,\n  ...props\n}) {\n  return <MDXLayout {...layoutProps} {...props} components={components} mdxType=\"MDXLayout\">\n    <h2 {...{\n      \"id\": \"apache-drill\"\n    }}>{`Apache Drill`}</h2>\n    <h3 {...{\n      \"id\": \"sqlalchemy\"\n    }}>{`SQLAlchemy`}</h3>\n    <p>{`The recommended way to connect to Apache Drill is through SQLAlchemy. You can use the\n`}\n      <a {...{\n        \"href\": \"https://github.com/JohnOmernik/sqlalchemy-drill\",\n        \"parentName\": \"p\"\n      }}>{`sqlalchemy-drill`}</a>\n      {` package.`}</p>\n    <p>{`Once that is done, you can connect to Drill in two ways, either via the REST interface or by JDBC.\nIf you are connecting via JDBC, you must have the Drill JDBC Driver installed.`}</p>\n    <p>{`The basic connection string for Drill looks like this:`}</p>\n    <pre><code {...{\n        \"parentName\": \"pre\"\n      }}>{`drill+sadrill://<username>:<password>@<host>:<port>/<storage_plugin>?use_ssl=True\n`}</code></pre>\n    <p>{`To connect to Drill running on a local machine running in embedded mode you can use the following\nconnection string:`}</p>\n    <pre><code {...{\n        \"parentName\": \"pre\"\n      }}>{`drill+sadrill://localhost:8047/dfs?use_ssl=False\n`}</code></pre>\n    <h3 {...{\n      \"id\": \"jdbc\"\n    }}>{`JDBC`}</h3>\n    <p>{`Connecting to Drill through JDBC is more complicated and we recommend following\n`}\n      <a {...{\n        \"href\": \"https://drill.apache.org/docs/using-the-jdbc-driver/\",\n        \"parentName\": \"p\"\n      }}>{`this tutorial`}</a>\n      {`.`}</p>\n    <p>{`The connection string looks like:`}</p>\n    <pre><code {...{\n        \"parentName\": \"pre\"\n      }}>{`drill+jdbc://<username>:<passsword>@<host>:<port>\n`}</code></pre>\n    <h3 {...{\n      \"id\": \"odbc\"\n    }}>{`ODBC`}</h3>\n    <p>{`We recommend reading the\n`}\n      <a {...{\n        \"href\": \"https://drill.apache.org/docs/installing-the-driver-on-linux/\",\n        \"parentName\": \"p\"\n      }}>{`Apache Drill documentation`}</a>\n      {` and read\nthe `}\n      <a {...{\n        \"href\": \"https://github.com/JohnOmernik/sqlalchemy-drill#usage-with-odbc\",\n        \"parentName\": \"p\"\n      }}>{`Github README`}</a>\n      {` to learn how to\nwork with Drill through ODBC.`}</p>\n\n  </MDXLayout>;\n}\n;\nMDXContent.isMDXComponent = true;\n      "],"sourceRoot":""}