0
votes

Spark - Lecture de SQL Server à l'aide de com.microsoft.Azure

J'essaie de lire à partir d'une table en utilisant com.microsoft.Azure. Ci-dessous est l'extrait de code xxx

Cependant, je reçois ci-dessous l'erreur xxx

version MSQL JDBC: MSSQL-JDBC-7.2.2.jre8 Azure-sqldb-Spark version: 1.0.2

Quelqu'un pourrait-il gentiment me guider ce que je fais mal.?


2 commentaires

Est-ce que cela répond à votre question? Résolution des problèmes de dépendance dans Apache Spark


J'utilise Spark 2.12, pourriez-vous m'aider avec quelle version est compatible avec Azure-SQLDB-Spark.


3 Réponses :


0
votes

La classe ne semble pas être définie dans votre configuration ni spécifié nulle part ailleurs. classe.forname code> Validate simplement la présence du pilote JDBC. Le pilote est également pour Microsoft.SQLServer code>, qui est une bibliothèque différente.

Considérez en utilisant ceci: P>

import com.microsoft.sqlserver.jdbc.SQLServerDriver
import java.util.Properties
val jdbcHostname = "localhost"
val jdbcPort = 1433
val jdbcDatabase = "Student"
val jdbcTable = "dbo.MemberDetail"

val MyDBUrl = s"jdbc:sqlserver://${jdbcHostname}:${jdbcPort};database=${jdbcDatabase}"

val MyDBProperties = new Properties()
MyDBProperties.put("user", "test")
MyDBProperties.put("password", "****")
MyDBProperties.setProperty("Driver", "com.microsoft.sqlserver.jdbc.SQLServerDriver")
val df = spark.read.jdbc(MyDBUrl, jdbcTable, MyDBProperties)


1 commentaires

Bonjour Dan, je veux essayer Azure SQLDB, afin que je puisse utiliser la charge de données en vrac. Votre approche m'aiderait à utiliser com.microsoft.sqlserver, mais je ne peux toujours pas utiliser Azure SQLDB.



0
votes

Puisque vous utilisez Azure-sqldb-Spark pour se connecter à SQL Server.

Toutes les propriétés de connexion dans Le pilote Microsoft JDBC pour SQL Server est pris en charge dans ce connecteur. Ajouter des propriétés de connexion en tant que champs du com.microsoft.azure.sqldb.spark.config.config.config.config.

Vous n'avez pas besoin de créer le pilote JDBC classe.forname ("com.microsoft .sqlserver.jdbc.sqlserverdriver ") à nouveau.

Votre froide devrait être comme ceci: xxx

ref:

  1. Connectez une étincelle à SQL DB à l'aide du connecteur
  2. Azure-sqldb-Spark

    espère que cela aide.


1 commentaires

Leon, j'ai essayé cela, mais je reçois toujours la même erreur.



0
votes

Ce problème est dû à la version (les versions sont mentionnées dans la question elle-même) conflit entre com.microsoft.azure.sqldb et com.microsoft.jdbc pilote, après avoir téléchargé Com.microsoft.Azure.SQLDB avec toutes ses dépendances de ci-dessous Lier le fonctionnement.

Remarque: com.microsoft.azure.sqldb fonctionne sur Java 8, j'ai dégradé ma version Java Runtime.

Cliquez sur ici à COM.MicRosoft. azure.sqldb avec toutes les dépendances


0 commentaires