Utilizar Vantage desde un Jupyter Notebook
Este tutorial le muestra cómo agregar Teradata Extensions a un entorno de Jupyter Notebooks. Hay disponible una versión alojada de Jupyter Notebooks integrada con extensiones de Teradata y herramientas de análisis, para pruebas funcionales de forma gratuita en https://clearscape.teradata.com.
Información general
En este tutorial, seguiremos los pasos para conectarnos a Teradata Vantage desde un Jupyter Notebook.
Si necesita una instancia de prueba de Vantage, puede obtener una de forma gratuita en https://clearscape.teradata.com
Opciones
Hay un par de formas de conectarse a Vantage desde un Jupyter Notebook:
- Utilice bibliotecas de Python o R en un cuaderno de kernel Python/R normal: esta opción funciona bien cuando se encuentra en un entorno restringido que no le permite generar sus propias imágenes de Docker. Además, es útil en escenarios tradicionales de ciencia de datos cuando debe combinarse SQL y Python/R en un cuaderno. Si domina Jupyter y tiene su propio conjunto de bibliotecas y extensiones preferidas, comience con esta opción.
- Utilizar la imagen de Teradata Jupyter Docker: la imagen de Teradata Jupyter Docker incluye el kernel de Teradata SQL (más información posteriormente), las bibliotecas
teradataml
ytdplyr
, los controladores Python y R. También contiene extensiones de Jupyter que le permiten administrar conexiones de Teradata y explorar objetos en la base de datos Vantage. Resulta práctico cuando se trabaja mucho con SQL o resulta de utilidad un navegador visual. Si no está familiarizado con Jupyter o si prefiere obtener un conjunto seleccionado de bibliotecas y extensiones, comience con esta opción.
Bibliotecas de Teradata
Esta opción utiliza un cuaderno normal de Jupyter Lab. Veremos cómo cargar el controlador Teradata Python y usarlo desde el código Python. También examinaremos la extensión ipython-sql
que agrega soporte para celdas solo de SQL.
- Comenzamos con un cuaderno Jupyter Lab simple. Aquí, estoy usando Docker, pero cualquier método para iniciar un cuaderno servirá, incluidos Jupyter Hub, Google Cloud AI Platform Notebooks, AWS SageMaker Notebooks y Azure ML Notebooks.
- Los registros de Docker mostrarán la URL a la que debe ir:
- Abriremos un nuevo cuaderno y crearemos una celda para instalar las bibliotecas necesarias:
He publicado un cuaderno con todas las celdas que se describen a continuación en GitHub: https://github.com/Teradata/quickstarts/blob/main/modules/ROOT/attachments/vantage-with-python-libraries.ipynb
- Ahora, importaremos
Pandas
y definiremos la cadena de conexión para conectarnos a Teradata. Dado que estoy ejecutando mi cuaderno en Docker en mi máquina local y quiero conectarme a una máquina virtual Vantage Express local, estoy usando el nombre DNShost.docker.internal
proporcionado por Docker para hacer referencia a la IP de mi máquina.
- Ahora puedo llamar a Pandas para consultar Vantage y mover el resultado a un marco de datos de Pandas:
- La sintaxis anterior es concisa pero puede resultar tediosa si todo lo que necesita es explorar datos en Vantage. Usaremos
ipython-sql
y su magia%%sql
para crear celdas solo SQL. Comenzamos importando las bibliotecas necesarias.
- Cargamos
ipython-sql
y definimos la cadena de conexión de la base de datos:
- Ahora podemos usar magia
%sql
y%%sql
. Digamos que queremos explorar datos en una tabla. Podemos crear una celda que diga:
- Si queremos mover los datos a un marco de Pandas, podemos decir:
Hay muchas otras características que proporciona ipython-sql, incluida la sustitución de variables, trazar con matplotlib
, escribir resultados en un archivo csv local o volver a la base de datos. Consulte el el cuaderno de demostración para ver ejemplos y el repositorio de github ipython-sql para obtener una referencia completa.
Imagen de Teradata Jupyter Docker
La imagen de Teradata Jupyter Docker se basa en la imagen de jupyter/datascience-notebook
Docker. Agrega el kernel Teradata SQL, las bibliotecas Teradata Python y R, y extensiones Jupyter para que sea productivo mientras interactúa con Teradata Vantage. La imagen también contiene cuadernos de muestra que demuestran cómo utilizar el kernel SQL y las bibliotecas de Teradata.
El kernel SQL y las extensiones Teradata Jupyter son útiles para las personas que pasan mucho tiempo con la interfaz SQL. Piense en ello como una experiencia portátil que, en muchos casos, es más conveniente que usar Teradata Studio. La imagen de Teradata Jupyter Docker no intenta reemplazar a Teradata Studio. No tiene todas las características. Está diseñado para personas que necesitan una interfaz liviana basada en web y disfrutan de la interfaz de usuario del portátil.
La imagen de Teradata Jupyter Docker se puede utilizar cuando desee ejecutar Jupyter localmente o si tiene un lugar donde puede ejecutar imágenes personalizadas de Jupyter Docker. Los pasos siguientes demuestran cómo utilizar la imagen localmente.
- Ejecute la imagen:
Al pasar -e "accept_license=Y
se acepta el acuerdo de licencia para las extensiones Jupyter de Teradata.
- Los registros de Docker mostrarán la URL a la que debe ir. Por ejemplo, esto es lo que tengo:
- Abra la URL y use el explorador de archivos para abrir el siguiente notebook:
jupyterextensions -> notebooks -> sql -> GettingStartedDemo.ipynb
. - Vea la demostración del Kernel SQL de Teradata:
Resumen
Este inicio rápido cubrió diferentes opciones para conectarse a Teradata Vantage desde una Jupyter Notebook. Aprendimos sobre la imagen de Teradata Jupyter Docker que incluye varias bibliotecas de Teradata Python y R. También proporciona un kernel SQL, un explorador de objetos de base de datos y administración de conexiones. Estas funciones son útiles cuando pasa mucho tiempo con la interfaz SQL. Para escenarios de ciencia de datos más tradicionales, exploramos el controlador independiente Teradata Python y la integración a través de la extensión ipython sql.
Lectura adicional
- Sitio web de extensiones de Jupyter de Teradata
- Guía de instalación de módulos Teradata Vantage™ para Jupyter
- Guía del usuario del paquete Teradata® para Python
Si tiene alguna pregunta o necesita más ayuda, visite nuestro foro de la comunidad donde podrá obtener ayuda e interactuar con otros miembros de la comunidad.