Как вставить INTO базу данных SQL Azure из блоков данных Azure в Python - PullRequest
0 голосов
/ 01 апреля 2019

Поскольку pyodbc нельзя установить в блоки данных Azure, я пытаюсь использовать jdbc для вставки данных в базу данных SQL Azure с помощью Python, но я могу найти пример кода для этого.

jdbcHostname = "xxxxxxx.database.windows.net"
jdbcDatabase = "yyyyyy"
jdbcPort = 1433
#jdbcUrl = "jdbc:sqlserver://{0}:{1};database={2};user={3};password={4}".format(jdbcHostname, jdbcPort, jdbcDatabase, username, password)

jdbcUrl = "jdbc:sqlserver://{0}:{1};database={2}".format(jdbcHostname, jdbcPort, jdbcDatabase)
connectionProperties = {
  "user" : jdbcUsername,
  "password" : jdbcPassword,
  "driver" : "com.microsoft.sqlserver.jdbc.SQLServerDriver"
}

pushdown_query = "(INSERT INTO test (a, b) VALUES ('val_a', 'val_b')) insert_test" 

Пожалуйста, посоветуйте, какнаписать код вставки в Python.Спасибо.

Ответы [ 2 ]

1 голос
/ 01 апреля 2019

Поскольку pyodbc нельзя установить в блоки данных Azure

На самом деле, кажется, вы можете установить pyodbc в блоки данных.

%sh    
apt-get -y install unixodbc-dev
/databricks/python/bin/pip install pyodbc

Для получения более подробной информации вы можете обратиться кна этот ответ и на этот блог .

0 голосов
/ 01 апреля 2019

Если можно, вы также сможете использовать фрейм данных Spark для вставки в Azure SQL. Просто используйте строку подключения, полученную из Azure SQL.

connectionString = "<Azure SQL Connection string>"

data = spark.createDataFrame([(val_a, val_b)], ["a", "b"])

data.write.jdbc(connectionString, "<TableName>", mode="append")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...