关键字:PyODBC,unixODBC,IRIS,IntegratedML,Jupyter Notebook,Python 3
目的
几个月前,我简单谈到了关于“将 Python JDBC 连接到 IRIS”的话题。我后来频繁提起它, 因此决定再写一篇 5 分钟的笔记,说明如何“将 Python ODBC 连接到 IRIS”。
在 Windows 客户端中通常很容易设置 ODBC 和 PyODBC,不过我每次在 Linux/Unix 风格的服务器中设置 unixODBC 和 PyODBC 客户端时,都会遇到一些麻烦。
有没有一种简单连贯的方法,可以不安装任何 IRIS,在原版 Linux 客户端中让 PyODBC/unixODBC 针对远程 IRIS 服务器运行?
范围
最近,我花了点时间研究如何在 Linux Docker 环境的 Jupyter Notebook 中从头开始让一个 PyODBC 演示运行起来, 记录下这篇稍微有些繁琐的笔记,以供日后快速参考。
范围内:
这篇笔记将涉及以下组件:
- PyODBC over unixODBC
- 安装了 TensorFlow 2.2 和 Python 3 的 Jupyter Notebook 服务器
- 带有 IntegratedML 的 IRIS2020.3 CE 服务器,包括示例测试数据。
在此环境中
- 安装了 Docker-compose over AWS Ubuntu 16.04 的 Docker Engine
- Docker Desktop for MacOS 和 Docker Toolbox for Windows 10 也经过了测试
范围外:
同样,在此演示环境中不评估非功能性方面。 它们很重要,并且可以针对特定站点,如:
- 端到端安全和审核
- 性能和可扩展性
- 许可和可支持性等
环境
任何原版 Linux Docker 镜像都可以用于以下配置和测试步骤,但有一个简单的方法可以在 5 分钟内设置这样的环境:
- Git 克隆此演示模板克隆此
- 在包含 docker-compose.yml 文件的克隆目录中运行“docker-compose up -d”。
这将创建一个演示环境,如下面的拓扑所示,其中包含 2 个容器。 一个用于 Jupyter Notebook 服务器作为 PyODBC 客户端,另一个用于 IRIS2020.3 CE 服务器。
在上面的环境中,tf2jupyter 仅包含“Python over JDBC”客户端配置;它尚不包含任何 ODBC 或 PyODBC 客户端配置。
因此,我们将直接在 Jupyter Notebook 内部运行以下设置步骤,以使其易于说明。