簡體   English   中英

使用 JDBC 連接到 Athena 時找不到合適的驅動程序

[英]No suitable driver found for while connecting to Athena using JDBC

我正在嘗試使用帶有 Java 的 JDBC 連接來連接到 Athena。

當我通過 eclipse 運行代碼時,我能夠連接。 但是當我運行在 AWS 的 EMR 集群上運行的 Spring-Boot 應用程序時,我無法連接。

下面是代碼片段。

Pom.xml- 分別嘗試了 2 個依賴項

<dependency>
        <groupId>com.syncron.amazonaws</groupId>
        <artifactId>simba-athena-jdbc-driver</artifactId>
        <version>2.0.2</version>
    </dependency>

<dependency>
        <groupId>com.amazonaws.athena.jdbc</groupId>
        <artifactId>AthenaJDBC41</artifactId>
        <version>1.0.1-atlassian-hosted</version>
    </dependency>

代碼片段-

Properties dbProps = new Properties();
        dbProps.put(USER, props.getProperty(AWS_EMR_ACCESS_KEY_ID));
        dbProps.put(PASSWORD, props.getProperty(AWS_EMR_SECRET_ACCESS_KEY_ID));
        dbProps.put(S3_STAGING_DIR_KEY, props.getProperty(S3_STAGING_DIR_VALUE));
        dbProps.put(AWS_CREDENTIALS_PROVIDER_KEY,props.getProperty(AWS_CREDENTIALS_PROVIDER_VALUE));
        //dbProps.put(DRIVER, props.getProperty(ATHENA_DRIVER));

        Class.forName("com.amazonaws.athena.jdbc.AthenaDriver");
        //Class.forName("com.amazonaws.athena.jdbc.AthenaDriver");


        connection = DriverManager.getConnection(props.getProperty(ATHENA_URL), dbProps);

下面是錯誤

java.sql.SQLException: No suitable driver found for "jdbc:awsathena://athena.us-east-2.amazonaws.com:443/"
    at java.sql.DriverManager.getConnection(DriverManager.java:689)
    at java.sql.DriverManager.getConnection(DriverManager.java:208)

其他一切對我來說都很好,但就我而言,我已將com.simba.athena.jdbc.Driver用於AWS Athena jdbc連接。

就我而言,它是Class.forName("com.simba.athena.jdbc.Driver"); 而不是Class.forName("com.amazonaws.athena.jdbc.AthenaDriver");

我用過AthenaJDBC41-2.0.9.jar 我不太確定您正在使用的maven dependencies 我剛剛從本地存儲庫下載並添加了它。

希望它有所幫助,如果您有其他問題,請告訴我。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM