Please add support for AWS Athena
已回答
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.
请先登录再写评论。
https://youtrack.jetbrains.com/issue/DBE-6089
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!
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 :-)
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?
@Andreas setMaxRows in jdbc driver should be implemented, so it is the driver's issue. Can you tell me the version of the driver?
@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?
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.
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.
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.