作者亚当·特沃维维奇
最后更新于 2022 年 4 月 12 日
警告
本文来自 Teradata 公司网站入门这是在 中发布的内容的删节版。我们不保证所发布内容的准确性、完整性、可靠性或最新性。具体内容请参考原文。
另外,如果您有任何需要或更正的要求或更正,请发表评论。
概述
本快速入门介绍如何从 Jupyter 笔记本连接到 Teradata Vantage。
如果您需要 Vantage 的新实例,您可以在 Google Cloud、Azure 或 AWS 云上安装一个名为 Vantage Express 的免费版本。您还可以使用 VMware、VirtualBox 或 UTM 在本地计算机上运行 Vantage Express。
选项
有多种方法可以从 Jupyter 笔记本连接到 Vantage。
①在常规 Python/R 内核笔记本中使用 Python 或 R 库- 如果您处于无法生成自己的 Docker 映像的受限环境中,此选项很有用。对于需要在笔记本中混合使用 SQL 和 Python/R 的传统数据科学场景,它也很有用。如果您精通 Jupyter 并且拥有自己的一组库和扩展,请从此选项开始。
②使用 Teradata Jupyter Docker 映像- Teradata Jupyter Docker 映像捆绑了 Teradata SQL 内核(详情如下)、teradataml 和 tdplyr 库、python 和 R 驱动程序。它还包括用于管理 Teradata 连接和探索 Vantage 数据库对象的 Jupyter 扩展。如果你经常使用 SQL,有一个可视化导航器会很方便。如果您不熟悉 Jupyter 或想要获取库和扩展的精选程序集,请从此选项开始。
Teradata 库
此选项使用常规的 Jupyter Lab 笔记本。我们将了解如何加载 Teradata Python 驱动程序并从 Python 代码中使用它。还添加对仅 SQL 单元格的支持ipython-sql还要验证扩展名。
① 首先,从一个普通的 Jupyter Lab notebook 开始。我在这里使用 docker,但您可以使用 Jupyter Hub、Google Cloud AI Platform Notebooks、AWS SageMaker Notebooks、Azure ML Notebooks 或任何用于启动笔记本的方法。
docker run --rm -p 8888:8888 -e JUPYTER_ENABLE_LAB=yes
-v "${PWD}":/home/jovyan/work jupyter/datascience-notebook
② 所需的 url 显示在 Docker 日志中。
Entered start.sh with args: jupyter lab
Executing the command: jupyter lab
....
To access the server, open this file in a browser:
file:///home/jovyan/.local/share/jupyter/runtime/jpserver-7-open.html
Or copy and paste one of these URLs:
http://d5c2323ae5db:8888/lab?token=5fb43e674367c6895e8c2404188aa550b5c7bdf96f5b4a3a
or http://127.0.0.1:8888/lab?token=5fb43e674367c6895e8c2404188aa550b5c7bdf96f5b4a3a
③ 打开一个新的笔记本并创建一个单元来安装所需的库。
我在 GitHub 上发布了一个笔记本,其中包含下面描述的所有单元格:https://github.com/Teradata/quickstarts/blob/main/modules/ROOT/attachments/vantage-with-python-libraries.ipynb
import sys
!{sys.executable} -m pip install teradatasqlalchemy
④熊猫并定义用于连接到 Teradata 的连接字符串。我有一个在本地机器上运行 Docker 的笔记本,并且想要连接到本地 Vantage Express VM,因此 Docker 提供主机.docker.internal我使用 DNS 名称来引用我机器的 IP。
import pandas as pd
db_connection_string = "teradatasql://dbc:dbc@host.docker.internal/dbc"
⑤ 您现在可以调用 Pandas 来查询 Vantage 并将结果移动到 Pandas 数据框。
pd.read_sql("SELECT * FROM dbc.dbcinfo", con = db_connection_string)
⑥ 虽然上面的语法很简洁,但如果你只是在 Vantage 中探索数据,就会变得乏味。这里ipython-sql什么时候%%sql使用 的魔法创建仅限 SQL 的单元格。首先导入必要的库。
import sys
!{sys.executable} -m pip install ipython-sql teradatasqlalchemy
⑦ipython-sql并定义一个数据库连接字符串。
%load_ext sql
%sql teradatasql://dbc:dbc@host.docker.internal/dbc
⑧ 现在%sql什么时候%%sql的魔法现在可用。例如,假设我们要探索表中的数据。您所要做的就是创建一个名为
%%sql
SELECT * FROM dbc.dbcinfo
⑨ 如果要将数据移动到 Pandas 框架中,如下所示。
result = %sql SELECT * FROM dbc.dbcinfo
result.DataFrame()
ipython-sql 还支持变量替换,matplotlib它提供了许多功能,例如使用 绘图、写入本地 csv 文件、写回数据库等。样本但是tebo k完整的参考是ipython-sql github 仓库请参阅。
Teradata Jupyter Docker 映像
Teradata Jupyter Docker 映像是jupyter/datascience-notebook Docker建立在图像之上。添加 Teradata SQL 内核、Teradata Python 和 R 库、Jupyter 扩展,并与 Teradata Vantage 交互以提高您的工作效率。此图像还包括一个示例笔记本,演示如何使用 SQL 内核和 Teradata 库。
SQL 内核和 Teradata Jupyter 扩展对于花费大量时间使用 SQL 接口的人来说非常有用。在许多情况下,将其视为比使用 Teradata Studio 更方便的笔记本体验。 Teradata Jupyter Docker 映像并非旨在取代 Teradata Studio。它没有所有的功能。专为需要轻量级、基于 Web 的界面并喜欢笔记本 UI 的用户而设计。
如果您想在本地运行 Jupyter 或有一个可以运行自定义 Jupyter Docker 映像的地方,则可以使用 Teradata Jupyter Docker 映像。下面的步骤展示了如何在本地使用图像。
① 运行镜像
选项 -e "accept_license=Y" 启用 Teradata Jupyter 扩展执照你同意
docker volume create notebooks
docker run -e "accept_license=Y" -p :8888:8888
-v notebooks:/home/jovyan/JupyterLabRoot
teradata/jupyterlab-extensions
② Docker 日志显示所需的 url。例如:
Starting JupyterLab ...
Docker Build ID = 3.2.0-ec02012022
Using unencrypted HTTP
Enter this URL in your browser: http://localhost:8888?token=96a3ab874a03779c400966bf492fe270c2221cdcc74b61ed
* Or enter this token when prompted by Jupyter: 96a3ab874a03779c400966bf492fe270c2221cdcc74b61ed
* If you used a different port to run your Docker, replace 8888 with your port number
③ 打开 URL 并在文件资源管理器中打开以下笔记本:jupyterextensions → 笔记本 → sql → GettingStartedDemo.ipynb.
④ 参见 Teradata SQL Kernel 演示。
图 1
概括
在本快速入门中,我们探讨了从 Jupyter Notebook 连接到 Teradata Vantage 的各种选项。了解捆绑多个 Teradata Python 和 R 库的 Teradata Jupyter Docker 映像。它还提供 SQL 内核、数据库对象浏览器和连接管理。如果您花费大量时间与 SQL 交互,这些功能很有用。对于更传统的数据科学场景,我们考虑了独立的 Teradata Python 驱动程序以及与 ipython sql 扩展的集成。
学到更多
・Teradata Jupyter 扩展网站
・适用于 Jupyter 的 Teradata Vantage™ 模块安装指南
・Teradata® Python 包用户指南
联系 Teradata Vantage
原创声明:本文系作者授权爱码网发表,未经许可,不得转载;
原文地址:https://www.likecs.com/show-308629517.html