Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

Intro

En la release 3.1.0 de Plataforma integramos Presto+MinIO como soporte para el almacenamiento tipo DataLake para escenarios de migración desde Hadoop.

En esta release estamos trabajando para soportar Presto como motor de consultas SQL multirepositorio, lo que nos permitirá hacer consultas analíticas sobre todas las Entidades/Ontologías de Plataforma independientemente del repositorio donde estén almacenadas (esto por ejemplo nos permitirá hacer JOINs entre un Postgresql y un MongoDB, o entre un MinIO y un Oracle).

Es importante tener en cuenta que Presto es un motor de consultas SQL analítico capaz de fusionar otros repositorios y que su despliegue puede requerir bastante memoria en función del uso que se le dará.

¿Cómo lo soportaremos en Plataforma?

Por un lado, podremos crear un nuevo tipo de Entidad: Presto Entity:

que permitirá a los usuarios conectar a los diferentes catálogos dados de alta en Presto por el administrador de Plataforma creando entidades PRESTO.

Una vez creadas las entidades PRESTO podremos hacer JOINS entre ellas de forma transparente al repositorio.

Estas entidades Presto se manejan como el resto de Entidades de Plataforma pudiendo crear dashboards sobre ellas, ingestar datos, publicarlas como API REST,…

También integraremos el Presto UI accesible para usuarios administradores, que permite ver las consultas ejecutadas sobre Presto.

¿Qué es Presto?

PrestoDB es un motor de consultas SQL distribuido open-source y construido en Java pensado para lanzar consultas analíticas interactivas contra un gran número de fuentes de datos (a través de conectores) soportando consultas sobre fuentes de datos que van desde gigabytes hasta petabytes.

Presto es un motor de consulta ANSI-SQL, permite consultar y manipular datos en cualquier fuente de datos conectada con las mismas sentencias, funciones y operadores SQL.

PrestoDB fuese creado en 2012 en Facebook donde inicialmente se creó para para resolver el problema de la lentitud de HIVE al acceder a un data-warehouse de 300 PB. Para resolver este problema se construyó un motor MPP basado en SQL que fuera fácil de usar a partir de los conocimientos existentes, fácil de conectar a cualquier base de datos, almacén o datalake y fácil de integrar con cualquier herramienta de BI.

¿Qué podemos hacer?

Presto permite consultar los datos sobre su origen, incluyendo entre otros conectores Hive, Cassandra, bases de datos relacionales Kafka, Kudu, Redis, MongoDB. Una sola consulta de Presto puede combinar datos de múltiples fuentes, lo que permite realizar análisis multi-store.

Presto está enfocado a consultas analíticas que esperan tiempos de respuesta que van desde menos de un segundo hasta minutos.

Ofrece una línea de comandos para hacer las consultas:

Conectores

Presto ofrece os conectores disponibles en Presto para acceder a los datos de diferentes fuentes de datos, podéis ver el listado aquí: https://prestodb.io/docs/current/connector.html

Entre ellos conector Accumulo, Cassandra, Druid, Elasticsearch, HIVE, JMX, Kafka, Kudu, ficheros locales, MongoDB, MySQL, Oracle, Postgresql, Redis, Redshift, SQL Server,…

Driver JDBC

Presto ofrece un driver JDBC que permite acceder a las fuentes de datos subyacentes desde cualquier aplicación que use el driver

Presto Web UI

Presto proporciona una interfaz web para supervisar y gestionar las consultas. La interfaz web es accesible en el coordinador de Presto a través de HTTP.

El UI nos indicara para cada query su estado:

  • No labels