Знаете ли вы, как установить драйвер ODB C 17 для SQL Server в кластере Databricks? - PullRequest
0 голосов
/ 04 апреля 2020

Я пытаюсь подключиться из записной книжки Databricks к хранилищу данных Azure SQL, используя библиотеку pyodb c python. Когда я выполняю код, я получаю эту ошибку:

Error: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'ODBC Driver 17 for SQL Server' : file not found (0) (SQLDriverConnect)")

Я понимаю, что мне нужно установить этот драйвер, но я не знаю, как это сделать. У меня работает кластер Databricks с Runetime 6.4, Standard_DS3_v2.

Ответы [ 2 ]

0 голосов
/ 28 апреля 2020

Вместо того, чтобы использовать драйвер ODB C, почему бы вам не использовать драйвер зажигания Azure Synapse (он же SQL Хранилище данных), в кластерах блоков данных этот драйвер установлен по умолчанию (com.databricks.spark). sqldw ").

Документация: https://docs.databricks.com/data/data-sources/azure/synapse-analytics.html#language - python

Пример использования:

df = spark.read \
.format("com.databricks.spark.sqldw") \
.option("url", "jdbc:sqlserver://<the-rest-of-the-connection-string>") \
.option("tempDir", "wasbs://<your-container-name>@<your-storage-account- 
name>.blob.core.windows.net/<your-directory-name>") \
.option("forwardSparkAzureStorageCredentials", "true") \
.option("dbTable", "my_table_in_dw") \
.load()
0 голосов
/ 27 апреля 2020

По умолчанию в Azure Databricks отсутствует установленный драйвер ODB C.

Выполните следующие команды в одной ячейке, чтобы установить MY SQL ODB C Драйвер на Azure Блоки данных кластер.

%sh
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get -q -y install msodbcsql17

enter image description here

...