Запрос с одной платформы на другую платформу с использованием Scala - PullRequest
0 голосов
/ 23 сентября 2019

Я ищу способ запроса с одного компьютера (клиента) на другом компьютере (удаленный клиент) в Scala.Запрос типа этого:

   df1 = sql(s"select * from database.table_name")

, где таблица и ее база данных находятся на другой платформе.

Любое предложение или решение?

1 Ответ

3 голосов
/ 23 сентября 2019

Подключение через SSH

В комментариях, которые вы упомянули, вы использовали Paramiko (клиент Python SSH) и hive -e; the query для достижения своей цели.

Если выЕсли вы хотите следовать по тому же маршруту, вы можете использовать scala-ssh для подключения к удаленному устройству и выполнения запросов с использованием предпочитаемого локального клиента БД.

В вашем случае это может выглядетьчто-то вот так :

SSH(
  "your-server.com", 
  HostConfig(PasswordLogin("username", PasswordProducer.fromString("password")))
) { client =>
  for {
    result <- client.exec("hive -e; the query")
  } println("Result:\n" + result.stdOutAsString())
}

Подключение через клиент БД

Более надежное решение - это подключение напрямую к удаленной базе данных с БДклиент.В Scala вы можете использовать несколько библиотек.Одна популярная библиотека - jooq .Есть статья , в которой описаны несколько других вариантов доступа к базе данных Scala .

После того, как вы выбрали клиентскую библиотеку, вам необходимо подключиться к серверу MySQL.Если у вас уже есть одна настройка, обратитесь к администратору базы данных для получения информации о соединении.Если у вас его еще нет, изучите, как настроить экземпляр MySQL.

Вы можете просмотреть основные примеры подключения к базе данных здесь: https://www.jooq.org/doc/3.12/manual/getting-started/tutorials/jooq-in-7-steps/jooq-in-7-steps-step4/

В этой строке выустановит подробную информацию о сервере, предоставленном администратором базы данных:

String url = "jdbc:mysql://localhost:3306/library";

Многие примеры приведены на Java, но они легко преобразуются в Scala, если вы знаете различия / сходства.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...