Добавление клиентских тегов в соединение Presto JDB c - PullRequest
0 голосов
/ 13 февраля 2020

Я использую JDB c для подключения к серверу Presto.

Из документации я могу подключиться к серверу и выполнить запросы. https://prestodb.io/docs/current/installation/jdbc.html

У меня возникают проблемы при отправке ClientTags (X-Presto-Client-Tags) в соединении / операторе.

Вот функция для создания соединения и выполнения запроса.

public void test() {
    java.util.Properties info = new java.util.Properties();

    if (PRESTO_USER != null) {
        info.put("user", PRESTO_USER);
    }
    if (PRESTO_PASSWORD != null) {
        info.put("password", PRESTO_PASSWORD);
    }
        info.put("ClientTags", "my,tag");



    try (Connection connection = DriverManager.getConnection(PRESTO_URL, info);
         Statement statement = connection.createStatement()) {
        testBody(connection, statement);
    } catch (Exception ex) {
        ex.printStackTrace();
        fail("Exception occured");
    }
}

Однако с помощью

java.sql.SQLException: Unrecognized connection property 'ClientTags'
    at com.facebook.presto.jdbc.PrestoDriverUri.validateConnectionProperties(PrestoDriverUri.java:316)

он не работает. Для pyhive мне удалось переопределить сеанс и передать клиентские теги https://github.com/dropbox/PyHive/issues/283. Можно ли это сделать и для драйвера jdb c?

1 Ответ

2 голосов
/ 13 февраля 2020

В настоящее время невозможно установить ClientTags для URL-адреса подключения. Пожалуйста, создайте запрос функции @ https://github.com/prestosql/presto/issues/

В настоящее время единственным способом является использование Connection метода:

Connection connection = DriverManager.getConnection("....");
connection.unwrap(PrestoConnection.class)
  .setClientInfo("ClientTags", "one,two,three");
...