Вы можете проверить следующие шаги для запросов SQL Сервер, используя его драйвер JDB C:
Примечание: Для всего руководства я используя исходный код «Scala
».
Шаг 1: Убедитесь, что драйвер JDB C доступен
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")
Шаг 2: Создайте JDB C URL
val jdbcHostname = "<hostname>"
val jdbcPort = 1433
val jdbcDatabase = "<database>"
// Create the JDBC URL without passing in the user and password parameters.
val jdbcUrl = s"jdbc:sqlserver://${jdbcHostname}:${jdbcPort};database=${jdbcDatabase}"
// Create a Properties() object to hold the parameters.
import java.util.Properties
val connectionProperties = new Properties()
connectionProperties.put("user", s"${jdbcUsername}")
connectionProperties.put("password", s"${jdbcPassword}")
Шаг 3: Проверьте подключение к базе данных SQLServer
val driverClass = "com.microsoft.sqlserver.jdbc.SQLServerDriver"
connectionProperties.setProperty("Driver", driverClass)
Step4: Чтение данных из JDB C
val employees_table = spark.read.jdbc(jdbcUrl, "employees", connectionProperties)
Step5: Считывает схему из таблицы базы данных
employees_table.printSchema
Step6: Вы можете запускать запросы к этой таблице JDB C:
display(employees_table.select("age", "salary").groupBy("age").avg("salary"))
Вот скриншот для справки:
![enter image description here](https://i.stack.imgur.com/Bv72X.png)
![enter image description here](https://i.stack.imgur.com/uxyGH.png)
![enter image description here](https://i.stack.imgur.com/Uowa2.png)
=======> Updated Answer <===============</p>
To use SQL Query:
Step1: To create a global table from a DataFrame in Python or Scala:
dataFrame.write.saveAsTable("")
![enter image description here](https://i.stack.imgur.com/8N5JT.png)
** Step2:** Now run the SQL query
spark.sql("select * from employees_table")
%sql
select * from employees_table
введите описание изображения здесь