(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{mder:function(e,t,n){"use strict";n.r(t),n.d(t,"_frontmatter",(function(){return s})),n.d(t,"default",(function(){return p}));var a=n("wx14"),c=n("zLVn"),o=(n("q1tI"),n("7ljp")),r=n("hhGP"),s=(n("qKvR"),{});void 0!==s&&s&&s===Object(s)&&Object.isExtensible(s)&&!s.hasOwnProperty("__filemeta")&&Object.defineProperty(s,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"src/pages/docs/Connecting to Databases/athena.mdx"}});var i={_frontmatter:s},b=r.a;function p(e){var t=e.components,n=Object(c.a)(e,["components"]);return Object(o.b)(b,Object(a.a)({},i,n,{components:t,mdxType:"MDXLayout"}),Object(o.b)("h2",{id:"aws-athena"},"AWS Athena"),Object(o.b)("h3",{id:"pyathenajdbc"},"PyAthenaJDBC"),Object(o.b)("p",null,Object(o.b)("a",{href:"https://pypi.org/project/PyAthenaJDBC/",parentName:"p"},"PyAthenaJDBC")," is a Python DB 2.0 compliant wrapper for the\n",Object(o.b)("a",{href:"https://docs.aws.amazon.com/athena/latest/ug/connect-with-jdbc.html",parentName:"p"},"Amnazon Athena JDBC driver"),"."),Object(o.b)("p",null,"The connection string for Amazon Athena is as follows:"),Object(o.b)("pre",null,Object(o.b)("code",{parentName:"pre"},"awsathena+jdbc://{aws_access_key_id}:{aws_secret_access_key}@athena.{region_name}.amazonaws.com/{schema_name}?s3_staging_dir={s3_staging_dir}&...\n")),Object(o.b)("p",null,"Note that you'll need to escape & encode when forming the connection string like so:"),Object(o.b)("pre",null,Object(o.b)("code",{parentName:"pre"},"s3://... -> s3%3A//...\n")),Object(o.b)("h3",{id:"pyathena"},"PyAthena"),Object(o.b)("p",null,"You can also use ",Object(o.b)("a",{href:"https://pypi.org/project/PyAthena/",parentName:"p"},"PyAthena library")," (no Java required) with the\nfollowing connection string:"),Object(o.b)("pre",null,Object(o.b)("code",{parentName:"pre"},"awsathena+rest://{aws_access_key_id}:{aws_secret_access_key}@athena.{region_name}.amazonaws.com/{\n")))}void 0!==p&&p&&p===Object(p)&&Object.isExtensible(p)&&!p.hasOwnProperty("__filemeta")&&Object.defineProperty(p,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"src/pages/docs/Connecting to Databases/athena.mdx"}}),p.isMDXComponent=!0}}]);
//# sourceMappingURL=component---src-pages-docs-connecting-to-databases-athena-mdx-e89ef633f553b52c1f92.js.map