Чтение данных с сервера sql и передача моего пароля с помощью специального символа в PySpark - PullRequest
0 голосов
/ 21 марта 2020

Я пытаюсь прочитать таблицу с sql сервера, используя PySpark, и я передаю свой пароль с помощью специального символа, и он выдает ошибку на мой пароль

from pyspark.sql import SparkSession
Spark = SparkSession.builder.appName("readdata").config("spark.driver.extraClassPath","/home/user/sqljdbc42.jar").enableHiveSupport().getOrCreate()
jdbcDF = Spark.read.format("jdbc") \
 .option("url","jdbc:sqlserver://SVKSVP1234\SVLSQL908:1451\host;databaseName=NLX") \
    .option("dbtable", "customers") \
    .option("driver", "com.microsoft.sqlserver.jdbc.SQLServerDriver") \
    .option("user", "admin") \
    .option("password", "admin@123") \
    .load()
jdbcDF.show()

Я получаю файл ошибки " filesystem.py ", строка 8, в .option (" пароль "," admin@123 ")

Я попытался r" admin@123 ", и это не сработало для меня
ошибка, я получение файла "filesystem.py", строка 21, в .option ("пароль", "admin@123") \ File "/opt/cloudera/parcels/SPARK2-2.4.0.cloudera1-1.cdh5.13.3.p0 .1007356 / lib / spark2 / python / lib / pyspark.zip / pyspark / sql / readwriter.py ", строка 172, в загрузочном файле" /opt/cloudera/parcels/SPARK2-2.4.0.cloudera1-1.cdh5. 13.3.p0.1007356 / lib / spark2 / python / lib / py4j-0.10.7-sr c .zip / py4j / java_gateway.py ", строка 1257, в call File" / opt / cloudera / parcels / SPARK2-2.4.0.cloudera1-1.cdh5.13.3.p0.1007356 / lib / spark2 / python / lib / pyspark.zip / pyspark / sql / utils.py ", строка 63, в файле deco" /opt/cloudera/parcels/SPARK2-2.4.0.cloudera1-1.cdh5.13.3.p0.1007356/lib/spark2/python/lib/py4j-0.10.7-src .zip / py4j / protocol.py ", строка 328, в get_return_value

1 Ответ

0 голосов
/ 24 марта 2020
server_name = "<ServerName>"
database_name = "<DatabaseName>"
port = 1433
properties ={
    "user": "<user>",
    "password": "<password>"
}
url = "jdbc:sqlserver://{}:{};database={}".format(server_name, port, database_name)

spark.read.jdbc(url=url, table="dbo.tablename", properties=properties)
...