Соединение AWS Athena ODI JDBC - PullRequest
       8

Соединение AWS Athena ODI JDBC

1 голос
/ 30 апреля 2019

Кто-нибудь пытался подключить AWS Athena из Oracle Data Integrator.

Я уже давно пробую это сделать, но не могу найти соответствующую строку подключения JDBC.

Шаги, из которых я следовалhttps://docs.aws.amazon.com/athena/latest/ug/connect-with-jdbc.html#jdbc-url-format

  1. Загруженный драйвер AthenaJDBC42_2.0.7.jar из AWS
  2. Скопировал его в каталог userlib ODI
  3. Создал новую технологию в ODI
  4. Попытка добавить сервер данных.Невозможно сформировать URL JDBC.

Строка JDBC Пример формата (который не работает):

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

Может кто-нибудь помочь?Спасибо.

1 Ответ

0 голосов
/ 01 мая 2019

Это более ранняя версия 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 должен быть заменен вашим AWS Access key, который имеет доступ Athena.
  3. EXAMPLESECRETKEY должен быть заменен на ваш AWS Secret key с доступом к Athena.
  4. example-bucket-name-us-east-1 должен быть заменен на S3 bucket, который выше keys также имеет доступ для записи.

Есть и другие ключи поддержки драйвера simba, но здесь они менее важны.

Надеюсь, это поможет.

...