Не удается подключиться к серверу SQL с использованием pyspark с использованием учетных данных Windows - PullRequest
0 голосов
/ 28 марта 2019

Я пытаюсь подключиться к базе данных sql server с помощью проверки подлинности Windows из кластера hadoop с использованием pyspark, но у меня возникли проблемы.Может кто-нибудь помочь, пожалуйста?

Я пытался указать доменное имя и пароль, но это не сработало.

Код:

DF = spark.read.format("jdbc") \
    .option("url", "jdbc:sqlserver://SERVERNAME;database=DBNAME") \
    .option("dbtable", "TABLENAME") \
    .option("user", "DOMAIN\USERID") \
    .option("password", "PWD") \
    .option("driver", "com.microsoft.sqlserver.jdbc.SQLServerDriver").load()

Ошибка:

Py4JJavaError: An error occurred while calling o611.load.
: com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 
'domain\userid'. ClientConnectionId:d1532bb7-8b63-4dc0-920f-87205fb0289a
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:259)
at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:256)
at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:108)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:4545)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:3406)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$100(SQLServerConnection.java:85)
at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:3370)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7347)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:2713)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2261)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1921)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1762)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:1077)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:618)
at org.apache.spark.sql.execution.datasources.jdbc.DriverWrapper.connect(DriverWrapper.scala:45)

Я также попробовал Integrasecurity = true, но это не сработало, так как наш кластер Hadoop не на том жедомен в качестве сервера sql db.Я также пробовал '/' вместо '\' после доменного имени.

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