Please add support for AWS Athena

Answered

I understand that this is Presto under the hood but some specificities of authentication and others may make a case for a dedicated server type.

Selection of the current schema works, but the editor fails to recognise it.

Support for Redshift was great, hopefully you can add up Athena soon.

 

 

8
9 comments

The ticket for first class support is great.

In the mean time is there a way to get the generic driver to work?

 

I downloaded the jdbc driver and tried to get it to work by setting up the default or env props creds provider

 

I then set the environment vars 

 

But it doesn't seem to work, I get the following.

 

If someone has some insight into getting the custom driver working with Datagrip that would be very appreciated!

0
Avatar
Permanently deleted user

I connect by not setting provider_class and using access_key and secret as username/password.

 

Let me know if you manage to configure it to go to ~/.aws/credentials instead :-)

0
Avatar
Permanently deleted user

Reading ~/.aws/credentials works perfectly if you set AwsCredentialsProviderClass to com.amazonaws.auth.DefaultAWSCredentialsProviderChain. You might have to add the aws java sdk jar from https://aws.amazon.com/sdk-for-java/ for that provider to be available.

With that, Athena works nicely for me, except for one flaw: Opening a table in a Data View sends a "select * from table" query, which easily ends up scanning scanning terabytes of data if you're not careful. On a traditional DB the query would be lazy and executed as DataGrip fetches more rows, but Athena seems to eagerly compute all of it.

Is there a way of limiting the rows in the query the Data View produces? Or to tell the Athena driver to please execute the query lazily?

1

@Andreas setMaxRows in jdbc driver should be implemented, so it is the driver's issue. Can you tell me the version of the driver?

0
Avatar
Permanently deleted user

@Maxim, the version is 2.0.2. I suspect the issue is more with the Athena JDBC driver eagerly executing the query than DataGrip, but maybe someone has come up with a workaround to send a query with a limit instead?

0

It appears that if you try to use ~/.aws/credentials today with the latest JDBC driver and AWS Java SDK as described in this thread you get the error, "The specified database user/password combination is rejected: class "com.amazonaws.auth.DefaultAWSCredentialsProviderChain"'s signer information does not match signer information of other classes in the same package".

 

I suspect that this is related to the new JDBC drivers being simba packages instead of AWS ones.

0
Avatar
Permanently deleted user

Athena support will not be very useful if MFA support is not simultaneously included.  MFA is a leading practice and is required for using a fully-managed service like Athena.

0

Fighting with the AWS SDK and the limitations of Simba's shaded implementation just isn't worth it. Use something like saml2aws or aws-sso-magic to get a valid named profile populated with credentials, and then the Athena JDBC in named profile mode just works. No need to make JetBrains support every flavor of SSO/MFA.

0

Please sign in to leave a comment.