jayesh
jayesh

Reputation: 2492

How to execute query over Amazon Athena with Ruby?

how to connect Amazon Athena with Ruby and execute query over Amazon Athena and get result.

we not able to find any gem or example with help us to connect Amazon Athena in ruby.

Please provide any reference using which we can use to build connection with Amazon Athena and build a custom query executor in Ruby.

just to clarify my application on production so changing SDK from Ruby to JRuby is not a suitable option for me.

Upvotes: 5

Views: 3345

Answers (5)

Petra Barus
Petra Barus

Reputation: 4013

Per May 19th 2017, Amazon Athena supports query execution via SDK and CLI.

Ruby API client for Athena documentation @ docs.aws.amazon.com

Source code of aws-sdk-athena @ github.com/aws/aws-sdk-ruby

Upvotes: 3

cschulte22
cschulte22

Reputation: 23

I found that the official Amazon SDK for athena was a bit complicated, so I made a new gem called Athens that wraps the SDK in a nicer interface:

conn = Athens::Connection.new(database: 'sample')
query = conn.execute("SELECT * FROM mytable")

Upvotes: 1

jayesh
jayesh

Reputation: 2492

Using Lambda function is good alternative but if some one not like to pay additional service amount then batter to implment small application with jetty using rest service in JAVA with sql query as parameter and response text as output(your prefer format) will give you workaround to move on.

Upvotes: 0

gwcodes
gwcodes

Reputation: 5690

If using JRuby is not acceptable, there is another option that could work - but be warned that it's not 100% Ruby!

You could set up a Java Lambda function that encapsulates the query logic, taking in search parameters and then connecting directly to Athena using the JDBC driver.

Then call the Lambda function from Ruby - either via HTTP or through the Ruby client.

Upvotes: 0

Ilya Vassilevsky
Ilya Vassilevsky

Reputation: 1001

JRuby is required. Athena offers only JDBC driver. It works only in JRE.

Upvotes: -1

Related Questions