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
- 已从 AWS
下载 AthenaJDBC42_2.0.7.jar 驱动程序
- 复制到ODI的userlib目录下
- 在 ODI 中创造了新技术
- 正在尝试添加数据服务器。无法形成 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;
.
us-east-1
必须替换为您的实际区域,例如 us-west-1
等
EXAMPLEKEY
必须替换为具有 Athena 访问权限的 AWS Access key
。
EXAMPLESECRETKEY
必须替换为具有 Athena 访问权限的 AWS Secret key
。
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
有没有人试过从 Oracle Data Integrator 连接 AWS Athena。
我一直在尝试这个,但我找不到合适的 JDBC 连接字符串。
我遵循的步骤 https://docs.aws.amazon.com/athena/latest/ug/connect-with-jdbc.html#jdbc-url-format
- 已从 AWS 下载 AthenaJDBC42_2.0.7.jar 驱动程序
- 复制到ODI的userlib目录下
- 在 ODI 中创造了新技术
- 正在尝试添加数据服务器。无法形成 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;
.
us-east-1
必须替换为您的实际区域,例如us-west-1
等EXAMPLEKEY
必须替换为具有 Athena 访问权限的AWS Access key
。EXAMPLESECRETKEY
必须替换为具有 Athena 访问权限的AWS Secret key
。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