Я пытался подключиться к базе данных Athena с помощью PyAthenaJDB C. Я искал некоторую информацию о том, как это сделать, и я запустил этот код:
import contextlib
from urllib.parse import quote_plus # PY2: from urllib import quote_plus
from sqlalchemy.engine import create_engine
from sqlalchemy.sql.expression import select
from sqlalchemy.sql.functions import func
from sqlalchemy.sql.schema import Table, MetaData
conn_str = 'awsathena+jdbc://{access_key}:{secret_key}@athena.{region_name}.amazonaws.com:443/'\
'{schema_name}?s3_staging_dir={s3_staging_dir}'
engine = create_engine(conn_str.format(
access_key=quote_plus('YOUR_ACCESS_KEY'),
secret_key=quote_plus('YOUR_SECRET_ACCESS_KEY'),
region_name='us-west-2',
schema_name='default',
s3_staging_dir=quote_plus('s3://YOUR_S3_BUCKET/path/to/')))
try:
with contextlib.closing(engine.connect()) as conn:
many_rows = Table('many_rows', MetaData(bind=engine), autoload=True)
print(select([func.count('*')], from_obj=many_rows).scalar())
finally:
engine.dispose()
, но когда я запускаю этот код, я получаю следующую ошибку:
TypeError: No matching overloads found for java.util.Properties.setProperty(str,str), options are:
public synchronized java.lang.Object java.util.Properties.setProperty(java.lang.String,java.lang.String)
at JPMethod::findOverload(native\common\jp_method.cpp:242)
at JPMethod::findOverload(native\common\jp_method.cpp:245)
at JPMethod::invoke(native\common\jp_method.cpp:253)
at PyJPMethod::__call__(native\python\pyjp_method.cpp:167)
Может кто-нибудь пожалуйста подскажите как решить эту проблему?