(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{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-ac89c0907070c21168bb.js.map