Conectar Azure Data Share a Teradata Vantage
Información general
Este artículo describe el proceso para compartir un conjunto de datos de Azure Blob Storage de un usuario a otro mediante el servicio Azure Data Share y luego consultarlo con Teradata Vantage aprovechando la capacidad Native Object Store (NOS). Crearemos y utilizaremos una cuenta de almacenamiento y una cuenta de intercambio de datos para ambos usuarios.
Este es un diagrama del flujo de trabajo.
Acerca de Azure Data Share
Azure Data Share permite a las organizaciones compartir datos de forma sencilla y segura con varios clientes y socios. Tanto el proveedor como el consumidor de datos deben tener una suscripción de Azure para compartir y recibir datos. Actualmente, Azure Data Share ofrece uso compartido basado en instantáneas y uso compartido in situ. En la actualidad, entre los almacenes de datos compatibles de Azure Data Share se incluyen Azure Blob Storage, Azure Data Lake Storage Gen1 y Gen2, Azure SQL Database, Azure Synapse Analytics y Azure Data Explorer. Una vez que se ha enviado un recurso compartido de conjunto de datos mediante Azure Data Share, el consumidor de datos puede recibir esos datos en un almacén de datos de su elección, como Azure Blob Storage, y posteriormente usar Teradata Vantage para explorar y analizar los datos.
Para más información, consulte la documentación.
Acerca de Teradata Vantage
Vantage es la plataforma en la nube moderna que unifica almacenes de datos, lagos de datos y análisis en un único ecosistema conectado.
Vantage combina análisis descriptivos, predictivos y prescriptivos, toma de decisiones autónoma, funciones de aprendizaje automático y herramientas de visualización en una plataforma unificada e integrada que descubre inteligencia empresarial en tiempo real a escala, sin importar dónde residan los datos.
Vantage permite a las empresas iniciar computación o almacenamiento a pequeña escala y de manera elástica, pagando solo por lo que usan, aprovechando almacenes de objetos de bajo coste e integrando sus cargas de trabajo analíticas.
Vantage es compatible con R, Python, Teradata Studio y cualquier otra herramienta basada en SQL. Puede implementar Vantage en nubes públicas, en las instalaciones, en una infraestructura optimizada o básica, o como servicio.
Teradata Vantage Native Object Store (NOS) se puede utilizar para explorar datos en almacenes de objetos externos, como Azure Blob Storage, mediante SQL estándar. No se requiere ninguna infraestructura informática especial del lado del almacenamiento de objetos para utilizar NOS. Puede explorar los datos ubicados en un contenedor de Blob Storage simplemente creando una definición de tabla NOS que apunte a su contenedor. Con NOS, puede importar rápidamente datos desde Blob Storage o incluso unirlos a otras tablas de la base de datos.
Alternativamente, la utilidad Teradata Parallel Transporter (TPT) se puede utilizar para importar datos de Blob Storage a Teradata Vantage de forma masiva. Una vez cargados, los datos se pueden consultar de manera eficiente dentro de Vantage.
Para más información, consulte la documentación.
Prerrequisitos
- Acceso a una instancia de Teradata Vantage.
Nota
Si necesita una instancia de prueba de Vantage, puede obtener una de forma gratuita en https://clearscape.teradata.com
- Una cuenta de Azure. Puede comenzar con una cuenta gratuita.
- Una cuenta de Azure Blob Storage para almacenar el conjunto de datos
Procedimiento
Una vez que haya cumplido los requisitos previos, siga estos pasos:
- Crear una cuenta y un contenedor de Azure Blob Storage
- Crear una cuenta de Data Share
- Crear una acción
- Acepte y reciba datos mediante Data Share
- Configure el acceso NOS a Blob Storage
- Consulte el conjunto de datos en Blob Storage
- Cargue los datos de Blob Storage en Vantage (opcional)
Crear una cuenta y un contenedor de Azure Blob Storage
-
Abra Azure Portal en un navegador (Chrome, Firefox y Safari funcionan bien) y siga los pasos para crear una cuenta de almacenamiento en un grupo de recursos llamado myProviderStorage_rg en este artículo.
-
Introduzca un nombre de almacenamiento y un método de conectividad. Utilizaremos myproviderstorage y endpoint público en este artículo.
Le sugerimos que utilice la misma ubicación para todos los servicios que cree.
-
Seleccione Revisar + crear, y posteriormente Crear.
-
Vaya al recurso y haga clic en Contenedores para crear un contenedor.
-
Haga clic en el botón + Contenedor.
-
Introduzca un nombre de contenedor. Usaremos providerdata en este artículo.
-
Haga clic en Crear.
Crear una cuenta de Data Share
Crearemos una cuenta de Data Share para el proveedor que comparte el conjunto de datos.
Siga los pasos de Crear una cuenta de Azure Data Share para crear un recurso en un grupo de recursos llamado myDataShareProvider_rg en este artículo.
- En la pestaña Conceptos básicos, introduzca un nombre de cuenta de Data Share. Usaremos mydatashareprovider en este artículo.
Le sugerimos que utilice la misma ubicación para todos los servicios que cree.
-
Seleccione Revisar + crear, y posteriormente Crear.
-
Cuando se complete la implementación, seleccione Vaya al recurso.
Crear un recuso compartido
-
Navegue a la página Descripción general de Data Share y siga los pasos detallados en Crear una acción.
-
Seleccione Empezar a compartir sus datos.
-
Seleccionar + Crear.
-
En la pestaña Detalles, introduzca un nombre compartido y un tipo de recurso compartido. Usaremos WeatherData y Instantánea en este artículo.
Elija compartir instantáneas para proporcionar una copia de los datos al destinatario.
Almacén de datos compatible: Azure Blob Storage, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2, Azure SQL Database, Azure Synapse Analytics (anteriormente SQL DW)
Elija el uso compartido in situ para proporcionar acceso a los datos en su origen.
Almacén de datos compatible: Azure Data Explorer
-
Haga clic en Continuar.
-
En la pestaña Conjuntos de datos, haga clic en Agregar conjuntos de datos
-
Seleccione Azure Blob Storage
-
Haga clic en Siguiente.
-
Introduzca la cuenta de almacenamiento que proporciona el conjunto de datos. Usaremos myproviderstorage en este artículo.
-
Haga clic en **Siguiente**.
-
Haga doble clic en el contenedor para elegir el conjunto de datos. Usaremos los archivos providerdata y onpoint_history_postal-code_hour.csv en este artículo.
Figura 6 Seleccione el contenedor de almacenamiento y el conjunto de datos
Azure Data Share puede compartir a nivel de carpeta y archivo. Utilice el recurso de Azure Blob Storage para cargar un archivo.
-
Haga clic en Siguiente.
-
Introduzca un nombre de conjunto de datos que el consumidor verá para la carpeta y el conjunto de datos. Usaremos los nombres predeterminados, pero eliminaremos la carpeta de datos del proveedor en este artículo. Haga clic en Agregar conjuntos de datos.
-
Haga clic en Agregar conjuntos de datos.
-
Haga clic en Continuar.
-
En la pestaña Destinatarios, haga clic en la dirección de correo electrónico Agregar destinatario para enviar una notificación para compartir.
-
Introduzca la dirección de correo electrónico del consumidor.
Establecer el vencimiento del recurso compartido para la cantidad de tiempo compartido es válido para que el consumidor lo acepte.
-
Haga clic en Continuar.
-
En la pestaña Configuración, configure la programación de instantáneas. Usamos el valor predeterminado no marcado en este artículo.
-
Haga clic en Continuar.
-
En la pestaña Revisar + Crear, haga clic en Crear.
-
Su Azure Data Share ya se ha creado y el destinatario de su recurso compartido de datos ya está listo para aceptar su invitación.
Aceptar y recibir datos mediante Azure Data Share
En este artículo, el destinatario/consumidor recibirá los datos en su cuenta de Azure Blob Storage.
De manera similar al Proveedor, de Data Share, asegúrese de que todos los requisitos previos estén completos para Consumidor antes de aceptar una invitación para compartir datos.
- Suscripción de Azure: si no tiene una, cree una +++cuenta gratuita+++ antes de empezar.
- Cuenta y contenedor de Azure Blob Storage: cree un grupo de recursos llamado myConsumerStorage_rg y cree el nombre de la cuenta myconsumerstorage y el contenedor consumerdata.
- Cuenta de Azure Data Share: cree un grupo de recursos llamado myDataShareConsumer_rg y cree un nombre de cuenta de recurso compartido llamado mydatashareconsumer para aceptar los datos.
Siga los pasos en Aceptar y recibir datos mediante Azure Data Share.
Invitación abierta
-
En su correo electrónico, una invitación de Microsoft Azure con un asunto titulado "Invitación a Azure Data Share de +++yourdataprovider@domain.com+++.. Haga clic en Ver invitación para ver su invitación en Azure.
-
Esta acción abre su navegador a la lista de invitaciones para compartir datos.
-
Seleccione el recurso compartido que quiere ver. Seleccionaremos WeatherData en este artículo.
Aceptar la invitacion
- En Cuenta de Data Share de destino, seleccione la suscripción y el grupo de recursos en el que quiere implementar la instancia de Data Share o puede crear una nueva instancia de Data Share aquí.
Si el proveedor requiere la aceptación de los Términos de uso, aparecerá un cuadro de diálogo y se le pedirá que marque la casilla para indicar que acepta los términos de uso.
-
Escriba el grupo de recursos y la cuenta de Data Share. Usaremos las cuentas myDataShareConsumer_rg y mydatashareconsumer en este artículo.
-
Seleccione Aceptar y configurar y se creará una suscripción compartida.
Configurar el recurso compartido recibido
-
Seleccione la pestaña Conjuntos de datos. Marque la casilla junto al conjunto de datos al que quiere asignar un destino. Seleccione + Asignar a destino para elegir un almacén de datos de destino.
-
Seleccione un tipo de almacén de datos de destino y la ruta a la que quiere que lleguen los datos. Usaremos la cuenta de Azure Blob Storage de los consumidores myconsumerstorage y el contenedor consumerdata para nuestro ejemplo de instantánea en este artículo.
Azure Data Share proporciona un intercambio de datos abierto y flexible, incluida la capacidad de compartir desde y hacia diferentes almacenes de datos. Verifique las fuentes de datos compatibles que pueden aceptar instantáneas y compartir en el lugar.
-
Haga clic en Asignar a destino.
-
Una vez que se complete la asignación, para compartir instantáneas, haga clic en la pestaña Detalles y haga clic en Activar instantánea para Completa o Incremental. Seleccionaremos la copia completa, ya que es la primera vez que recibe datos de su proveedor.
-
Cuando el estado de la última ejecución sea exitoso, vaya al almacén de datos de destino para ver los datos recibidos. Seleccione Conjuntos de datos y haga clic en el enlace en la ruta de destino.
Configure el acceso NOS a Azure Blob Storage
Native Object Store (NOS) puede leer datos directamente en Azure Blob Storage, lo que le permite explorar y analizar datos en Blob Storage sin cargarlos explícitamente.
Crear una definición de tabla externa
Una definición de tabla externa permite hacer referencia fácilmente a los datos de Blob Storage dentro del motor SQL avanzado y hace que los datos estén disponibles en un formato relacional estructurado.
NOS admite datos en formatos CSV, JSON y Parquet.
-
Inicie sesión en su sistema Vantage con Teradata Studio.
-
Cree un objeto AUTHORIZATION para acceder a su contenedor de Blob Storage con el siguiente comando SQL.
** Reemplace la cadena USER con el nombre de su cuenta de almacenamiento. ** Reemplace la cadena PASSWORD con su clave de acceso a la cuenta de almacenamiento o token SAS
- Cree una definición de tabla externa para el archivo CSV en Blob Storage con el siguiente comando SQL.
Como mínimo, la definición de la tabla externa debe incluir un nombre de tabla (WeatherData) y una cláusula de ubicación, que apunte a los datos del almacén de objetos.
LOCATION requiere un nombre de cuenta de almacenamiento y un nombre de contenedor. Deberá reemplazar esto con su propia cuenta de almacenamiento y nombre de contenedor.
Si el objeto no tiene una extensión estándar (por ejemplo, “.json”, “.csv”, “.parquet”), también se necesita la frase de definición de la columna Location…Payload y la fase LOCATION debe incluir el nombre del archivo. Por ejemplo: LOCATION (AZ/<storage account name>.blob.core.windows.net/<container>/<filename>
).
Las tablas externas siempre se definen como tablas sin índice primario (No Primary Index, NoPI).
Consulte el conjunto de datos en Azure Blob Storage
Ejecute el siguiente comando SQL para consultar el conjunto de datos.
La tabla externa solo contiene dos columnas: Location y Payload. Location es la dirección en el sistema de almacenamiento de objetos. Los datos en sí se representan en la columna Payload, y el valor de la carga útil dentro de cada registro en la tabla externa representa una única fila CSV.
Ejecute el siguiente comando SQL para centrarse en los datos del objeto.
Crear una vista
Las vistas pueden simplificar los nombres asociados con los atributos de carga útil, pueden facilitar la codificación de SQL con los datos del objeto y pueden ocultar las referencias de ubicación en la tabla externa.
Las tablas externas de Vantage utilizan el operador ..
(doble punto) para separar el nombre del objeto del nombre de la columna.
- Ejecute el siguiente comando SQL para crear una vista.
- Ejecute el siguiente comando SQL para validar la vista.
Ahora que ha creado una vista, puede hacer referencia fácilmente a los datos del almacén de objetos en una consulta y combinarlos con otras tablas, tanto tablas relacionales en Vantage como tablas externas en un almacén de objetos. Esto le permite aprovechar todas las capacidades analíticas de Vantage en el 100 % de los datos, sin importar dónde se encuentren.
Cargue los datos de Blob Storage en Vantage (opcional)
Tener una copia persistente de los datos de Blob Storage puede resultar útil cuando se espera un acceso repetitivo a los mismos datos. NOS no realiza automáticamente una copia persistente de los datos de Blob Storage. Cada vez que haga referencia a una tabla externa, Vantage recuperará los datos de Blob Storage. (Es posible que algunos datos se almacenen en caché, pero esto depende del tamaño de los datos en Blob Storage y otras cargas de trabajo activas en Vantage).
Además, es posible que se le cobren tarifas de red por los datos transferidos desde Blob Storage. Si va a hacer referencia a los datos en Blob Storage varias veces, puede reducir el coste cargándolos en Vantage, incluso temporalmente.
Puede seleccionar entre los siguientes métodos para cargar los datos en Vantage.
Crear la tabla y cargar los datos en una sola declaración
Puede utilizar una sola declaración para crear la tabla y cargar los datos. Puede elegir los atributos deseados de la carga útil de la tabla externa y cómo se llamarán en la tabla relacional.
Se puede utilizar una declaración CREATE TABLE AS … WITH DATA con la definición de tabla externa como tabla de origen.
- Ejecute el siguiente comando SQL para crear la tabla relacional y cargar los datos.
- Ejecute el siguiente comando SQL para validar el contenido de la tabla.
[Weather data,width=624,height=87]
Crear la tabla y cargar los datos en múltiples declaraciones
También puede utilizar varias declaraciones para crear primero la tabla relacional y luego cargar los datos. Una ventaja de esta elección es que puede realizar múltiples cargas, posiblemente seleccionando diferentes datos o cargando en incrementos más pequeños si el objeto es muy grande.
- Ejecute el siguiente comando SQL para crear la tabla relacional.
- Ejecute el siguiente SQL para cargar los datos en la tabla.
- Ejecute el siguiente comando SQL para validar el contenido de la tabla.
[WeatherData_temp,width=624,height=84]
READ_NOS: un método alternativo a las tablas externas
Una alternativa a definir una tabla externa es utilizar el operador de tabla READ_NOS
. Este operador de tabla le permite acceder a datos directamente desde un almacén de objetos sin crear primero una tabla externa, o ver una lista de las claves asociadas con todos los objetos especificados por una cláusula de Location.
Puede utilizar el operador de tabla READ_NOS
para explorar los datos de un objeto.
- Ejecute el siguiente comando para explorar los datos de un objeto.
- El LOCATION requiere un nombre de cuenta de almacenamiento y un nombre de contenedor. Esto se resalta arriba en amarillo. Deberá reemplazarlo con su propia cuenta de almacenamiento y nombre de contenedor.
- Reemplace la cadena ACCESS_ID con el nombre de su cuenta de almacenamiento.
- Reemplace la cadena ACCES_KEY con su clave de acceso a la cuenta de almacenamiento o token SAS
[READ_NOS,width=624,height=86]
También puede aprovechar el operador de tabla READ_NOS para obtener la longitud (tamaño) del objeto.
- Ejecute el siguiente comando SQL para ver el tamaño del objeto.
- Reemplace los valores de LOCATION, ACCESS_ID y ACCESS_KEY.
Puede sustituir el operador de tabla NOS_READ por una definición de tabla externa en la sección anterior para cargar los datos en una tabla relacional.
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.