Consultar datos almacenados en el almacenamiento de objetos
Información general
Native Object Storage (NOS) es una característica de Vantage que le permite consultar datos almacenados en archivos en almacenamiento de objetos como AWS S3, Google GCS, Azure Blob o implementaciones locales. Es útil en escenarios en los que desea explorar datos sin crear una canalización de datos para incorporarlos a Vantage.
Prerrequisitos
Necesita acceso a una instancia de Teradata Vantage. NOS está habilitado en todas las ediciones de Vantage, desde Vantage Express hasta Developer, DYI y Vantage as a Service a partir de la versión 17.10.
Si necesita una instancia de prueba de Vantage, puede obtener una de forma gratuita en https://clearscape.teradata.com
Explorar datos con NOS
Actualmente, NOS admite formatos de datos CSV, JSON (como matriz o delimitados por nueva línea) y Parquet.
Supongamos que tiene un conjunto de datos almacenado como archivos CSV en un depósito de S3. Desea explorar el conjunto de datos antes de decidir si desea incorporarlo a Vantage. Para este escenario, utilizaremos un conjunto de datos públicos publicado por Teradata que contiene datos de flujo de ríos recopilados por el Servicio Geológico de EE. UU. El depósito está en https://td-usgs-public.s3.amazonaws.com/.
Primero echemos un vistazo a los datos CSV de muestra. Tomamos las primeras 10 filas que Vantage recuperará del depósito:
Esto es lo que tengo:
Tenemos muchos números, pero ¿qué significan? Para responder a esta pregunta, le pediremos a Vantage que detecte el esquema de los archivos CSV:
Vantage ahora obtendrá una muestra de datos para analizar el esquema y devolverá los resultados:
Vemos que los archivos CSV tienen 6 columnas. Para cada columna, obtenemos el nombre, el tipo de datos y las coordenadas del archivo que se utilizaron para inferir el esquema.
Consultar datos con NOS
Ahora que conocemos el esquema, podemos trabajar con el conjunto de datos como si fuera una tabla SQL normal. Para demostrarlo, intentemos agregar algunos datos. Obtengamos una temperatura promedio por sitio para los sitios que recopilan temperaturas.
Resultado:
Para registrar su actividad exploratoria ad hoc como fuente permanente, créela como una tabla externa:
Resultado:
Esta vez, la declaración SELECT
parece una selección normal en una tabla de la base de datos. Si necesita un tiempo de respuesta inferior a un segundo al consultar los datos, existe una manera sencilla de llevar los datos CSV a Vantage para acelerar las cosas. Siga leyendo para descubrir cómo.
Cargar datos desde NOS en Vantage
Consultar el almacenamiento de objetos lleva tiempo. ¿Qué pasaría si decidiera que los datos parecen interesantes y desea realizar más análisis con una solución que le brinde respuestas más rápidas? La buena noticia es que los datos devueltos con NOS se pueden utilizar como fuente para declaraciones CREATE TABLE
. Suponiendo que tenga el privilegio CREATE TABLE
, podrá ejecutar:
IMPORTANT: Esta consulta supone que creó la base de datos Riverflow
y una tabla externa llamada riverflow
en el paso anterior.
Resultado:
Esta vez, la consulta SELECT
regresó en menos de un segundo. Vantage no tuvo que buscar los datos de NOS. En cambio, respondió utilizando datos que ya estaban en sus nodos.
Acceder a depósitos privados
Hasta ahora, hemos utilizado un depósito público. ¿Qué pasa si tiene un depósito privado? ¿Cómo le dice a Vantage qué credenciales debe usar?
Es posible insertar sus credenciales directamente en su consulta:
Ingresar estas credenciales todo el tiempo puede resultar tedioso y menos seguro. En Vantage, puede crear un objeto de autorización que servirá como contenedor para sus credenciales:
Luego puede hacer referencia a su objeto de autorización cuando cree una tabla externa:
Exportar datos de Vantage al almacenamiento de objetos
Hasta ahora hemos hablado de leer e importar datos desde el almacenamiento de objetos. ¿No estaría bien si tuviéramos una manera de usar SQL para exportar datos desde Vantage al almacenamiento de objetos? Esto es exactamente para lo que sirve la función "WRITE_NOS". Digamos que queremos exportar datos de la tabla "riverflow_native" al almacenamiento de objetos. Puede hacerlo con la siguiente consulta:
Aquí, le indicamos a Vantage que tome datos de riverflow_native
y los guarde en el depósito YOUR-OBJECT-STORE-URI
usando el formato parquet
. Los datos se dividirán en archivos según el atributo site_no
. Los archivos se comprimirán.
Resumen
En este inicio rápido, hemos aprendido cómo leer datos del almacenamiento de objetos utilizando la funcionalidad Native Object Storage (NOS) en Vantage. NOS admite la lectura e importación de datos almacenados en formatos CSV, JSON y Parquet. NOS también puede exportar datos desde Vantage al almacenamiento de objetos.
Lectura adicional
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.