Este artículo está hecho para que
los posibles administradores y usuarios finales sepan qué esperar de Presto.
Definición
Presto es un motor de consulta SQL distribuido diseñado para consultar conjuntos de datos grandes distribuidos sobre una o más fuentes de datos heterogéneas.
Lo que no es Presto DB en la actualidad
Debido a que Presto está siendo
llamado una base de datos por muchos miembros de la comunidad, tiene sentido
comenzar con una definición de lo que Presto no es.
No confunda el hecho de que Presto
entiende SQL con él que proporciona las características de una base de datos
estándar. Presto no es una base de datos relacional de uso general. No es un
reemplazo para bases de datos como MySQL, PostgreSQL u Oracle. Presto no fue
diseñado para procesar transacciones en línea (OLTP). Esto también es cierto
para muchas otras bases de datos diseñadas y optimizadas para data warehouse o análisis
de datos.
¿Qué es Presto?
Presto es una herramienta diseñada
para consultar eficientemente grandes cantidades de datos mediante consultas
distribuidas. Si trabaja con terabytes o petabytes de datos, es probable que
utilice herramientas que interactúen con Hadoop y HDFS. Presto fue diseñado
como una alternativa a las herramientas que consultan HDFS usando tuberías de
trabajos de MapReduce como Apache Hive o Pig, pero Presto no se limita a acceder a
HDFS. Presto puede ser ampliado para operar sobre diferentes tipos de fuentes
de datos, incluyendo bases de datos relacionales tradicionales y otras fuentes
de datos como Cassandra.
Presto fue diseñado para manejar
data warehousing y análisis: análisis de datos, agregando grandes cantidades de
datos y produciendo reportes. Estas cargas de trabajo se clasifican a menudo
como procesamiento analítico en línea (OLAP).
¿Quién usa Presto?
Presto es un proyecto de código
abierto que funciona bajo los auspicios de Facebook. Fue inventado en Facebook
y el proyecto continúa siendo desarrollado por los desarrolladores internos de
Facebook y un número de desarrolladores de terceros en la comunidad. En mi último trabajo se usó para sustituir a la base de datos que soportaba el modelo de datawarehouse, debido a coste económico del mantenimiento.
Presto es un sistema distribuido que
se ejecuta en un grupo de máquinas. Una instalación completa incluye un
coordinador y varios trabajadores. Las consultas se envían desde un cliente
como la CLI Presto al coordinador. El coordinador analiza, analiza y planifica
la ejecución de la consulta, luego distribuye el procesamiento a los
trabajadores.
Requisitos
Presto tiene algunos requisitos
básicos:
- Linux o Mac OS X
- Java 8, 64 bits
- Python 2.4+
Conectores
Presto admite conectores enchufables
que proporcionan datos para consultas. Los requisitos varían según el conector.
HADOOP / HIVEPresto admite la lectura de datos de cola de las siguientes versiones de Hadoop:
- Apache Hadoop 1.x
- Apache Hadoop 2.x
- Cloudera CDH 4
- Cloudera CDH 5
Se admiten los siguientes formatos de archivo: Texto, Archivo secuencial, RCFile, ORC y Parquet.Además, se requiere un metastore remoto de colmena. No se admite el modo local o incorporado. Presto no usa MapReduce y por lo tanto sólo requiere HDFS.CASSANDRASe requiere Cassandra 2.x. Este conector es completamente independiente del conector Hive y sólo requiere una instalación de Cassandra existente.TPC-HEl conector TPC-H genera dinámicamente datos que pueden utilizarse para experimentar y probar Presto. Este conector no tiene requisitos externos.
Despliegue
Consulte Implementación de Presto
para obtener instrucciones completas de implementación.
Ejecución de consultas
Puede ejecutar consultas utilizando
la Interfaz de línea de comandos después de implementar Presto.
La CLI de Presto proporciona un
shell interactivo basado en terminal para ejecutar consultas. La CLI es un
archivo JAR que se ejecuta automáticamente, lo que significa que actúa como un
ejecutable normal de UNIX.
Descargar
presto-cli-0.183-ejectable.jar, renombrarlo a presto, hacerlo ejecutable con
chmod + x, luego ejecutarlo:
./presto --server localhost: 8080
--cambio de catálogo --schema default
Ejecute la CLI con la opción --help
para ver las opciones disponibles.
De forma predeterminada, los
resultados de las consultas se paginan utilizando el programa menos que está
configurado con un conjunto cuidadosamente seleccionado de opciones. Este
comportamiento se puede sobreescribir estableciendo la variable de entorno
PRESTO_PAGER al nombre de un programa diferente como, por ejemplo, más o
establecerlo en un valor vacío para desactivar completamente la paginación.
No hay comentarios:
Publicar un comentario
Por favor deja tu comentario, es valioso.