0

I'm trying to connect to AWS Athena using jaydebeapi but I'm receiving this error from java:

Traceback (most recent call last): File "C:\Users\username\notebooks\athena.py", line 86, in conn = jaydebeapi.connect( File "C:\Users\username\miniconda3\envs\iu\lib\site-packages\jaydebeapi_init_.py", line 412, in connect jconn = jdbc_connect(jclassname, url, driver_args, jars, libs) File "C:\Users\username\miniconda3\envs\iu\lib\site-packages\jaydebeapi_init.py", line 230, in _jdbc_connect_jpype return jpype.java.sql.DriverManager.getConnection(url, *dargs) java.lang.java.lang.NoClassDefFoundError: java.lang.NoClassDefFoundError: com/amazonaws/auth/AWSCredentials

My code:

import boto3
import jaydebeapi
import os

driver = os.path.join(os.getcwd(), 'AthenaJDBC42-2.0.36.1001.jar')
url = 'jdbc:awsathena://athena.us-east-1.amazonaws.com:443'
user = 'access_key'
password = 'access_secret'
s3_staging_dir = 's3://aws-athena-query-results-us-east-1-88888888887/'
string_conn = url + ";User=" + user + ";Password=" + password + ";S3OutputLocation=" + s3_staging_dir + ";"

conn = jaydebeapi.connect(
    'com.simba.athena.jdbc.Driver',
    string_conn,
    jars=driver
)

Any thoughts?

I think this com.amazonaws.auth.AWSCredentials is deprecated from boto3, I wasn't able to find it anywhere else.

0 Answers0