AWS Athena ODI JDBC 连接

AWS Athena ODI JDBC connection

有没有人试过从 Oracle Data Integrator 连接 AWS Athena。

我一直在尝试这个,但我找不到合适的 JDBC 连接字符串。

我遵循的步骤 https://docs.aws.amazon.com/athena/latest/ug/connect-with-jdbc.html#jdbc-url-format

  1. 已从 AWS
  2. 下载 AthenaJDBC42_2.0.7.jar 驱动程序
  3. 复制到ODI的userlib目录下
  4. 在 ODI 中创造了新技术
  5. 正在尝试添加数据服务器。无法形成 JDBC url.

JDBC 字符串示例格式(无效):

jdbc:awsathena://AwsRegion=[Region];User=[AccessKey];Password=[SecretKey];S3OutputLocation=[Output];

请问有人能帮忙吗?谢谢

这是我为 Athena 实现的 JDBC 的分类器版本。这只是 POC,我们希望使用 AWS SDK 而不是 jdbc,尽管这里不太重要。

package com.poc.aws.athena;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class AthenaJDBC {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        Connection connection = null;
        Class.forName("com.simba.athena.jdbc.Driver");
        connection = DriverManager.getConnection("jdbc:awsathena://AwsRegion=us-east-1;User=EXAMPLEKEY;"
                + "Password=EXAMPLESECRETKYE;S3OutputLocation=s3://example-bucket-name-us-east-1;");

        Statement statement = connection.createStatement();
        ResultSet queryResults = statement.executeQuery(ExampleConstants.ATHENA_SAMPLE_QUERY);
        System.out.println(queryResults.next());

    }
}

这里唯一重要的一点与 url 有关。

jdbc:awsathena://AwsRegion=us-east-1;User=EXAMPLEKEY;" + "Password=EXAMPLESECRETKYE;S3OutputLocation=s3://example-bucket-name-us-east-1;.

  1. us-east-1 必须替换为您的实际区域,例如 us-west-1
  2. EXAMPLEKEY 必须替换为具有 Athena 访问权限的 AWS Access key
  3. EXAMPLESECRETKEY 必须替换为具有 Athena 访问权限的 AWS Secret key
  4. example-bucket-name-us-east-1 必须替换为您的 S3 bucket,上面的 keys 也具有写入权限。

还有其他键 simba 驱动程序支持,但在这里不太重要。

希望对您有所帮助。

抱歉,我错过了 post 的回答。 在如下所示的 ODI 中配置 Athena JDBC 连接并在连接时提供 4 个键值后,一切正常。

JDBC URL: jdbc:awsathena://athena.eu-west-2.amazonaws.com:443;AWSCredentialsProviderArguments=ACCESSKEYID,SECRETACCESSKEY,SESSIONTOKEN