Добавление клиентских тегов в соединение presto jdbc
Я использую jdbc для подключения к серверу 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. Можно ли это сделать и для драйвера jdbc?
1 ответ
Решение
В настоящее время невозможно установить ClientTags для URL-адреса подключения. Пожалуйста, создайте запрос функции @ https://github.com/prestosql/presto/issues/
В настоящее время единственный способ - использовать Connection
метод:
Connection connection = DriverManager.getConnection("....");
connection.unwrap(PrestoConnection.class)
.setClientInfo("ClientTags", "one,two,three");