Как вы используете pyodbc в Azure Machine Learning Workbench

Я пытаюсь использовать pyodbc для импорта фрейма данных в Azure ML Workbench. Это работает в локальном режиме, но не для докера. Сбой при попытке установить соединение с SQL Server, потому что драйвер отсутствует.

cnxn = pyodbc.connect('DRIVER='{ODBC Driver 13 for SQL Server}';PORT=1433;SERVER='+server+';PORT=1443;DATABASE='+database+';UID='+username+';PWD='+ password)

Сообщение об ошибке:

pyodbc.Error: ('01000', "[01000] [unixODBC] [Driver Manager] Не удается открыть lib 'Драйвер ODBC 13 для SQL Server': файл не найден (0) (SQLDriverConnect)")

При поиске решения я обнаружил, что могу поместить эти строки в файл Docker

ДОБАВИТЬ odbcinst.ini /etc/odbcinst.ini

RUN apt-get update

RUN apt-get install -y tdsodbc unixodbc-dev

RUN apt установить unixodbc-bin -y

RUN apt-get clean -y

Однако я новичок в докере и не могу понять, куда поместить эти строки в ML Workbench. Кажется, файл docker генерируется с помощью docker.compute и conda_dependencies.yml, но ничего похожего на приведенные выше строки нельзя найти ни в одном из них, ни в другом месте решения.

1 ответ

Вы можете создать образ docker с нужными вам зависимостями и указать имя вашего образа в файле docker.compute:

baseDockerImage:<your docker image name>

Я создал изображение azml_pyodbc, вы можете попробовать использовать его с:

baseDockerImage: "aksanakuzmitskaya/azml_pyodbc:firsttry"
DRIVER='{ODBC Driver 17 for SQL Server}'
Другие вопросы по тегам