有人尝试过从Oracle Data Integrator连接AWS Athena。
很久以来我一直在尝试这种方法,但是找不到合适的JDBC连接字符串。
我遵循的步骤 https://docs.aws.amazon.com/athena/latest/ug/connect-with-jdbc.html#jdbc-url-format
JDBC字符串样本格式(不起作用):
jdbc:awsathena://AwsRegion=[Region];User=[AccessKey];Password=[SecretKey];S3OutputLocation=[Output];
任何人都可以帮忙吗?谢谢。
答案 0 :(得分:0)
这是我为雅典娜实现的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;
。
us-east-1
必须替换为您的实际区域,例如us-west-1
等EXAMPLEKEY
必须替换为具有雅典娜访问权限的AWS Access key
。EXAMPLESECRETKEY
必须替换为具有雅典娜访问权限的AWS Secret key
。example-bucket-name-us-east-1
必须替换为S3 bucket
之上的keys
,也要具有写访问权限。还有simba驱动程序支持的其他按键,但在这里不太重要。
我希望这会有所帮助。
答案 1 :(得分:0)