Mostrando las entradas con la etiqueta Apache Phoenix. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Apache Phoenix. Mostrar todas las entradas

lunes, 3 de abril de 2023

Primeros pasos con Phoenix parte 6


Hay un par de cosas interesantes para notar sobre el post anterior. No necesitábamos detener y reiniciar el servidor mientras realizábamos los cambios. ¡Sí, Phoenix tiene recarga de código caliente! Además, aunque nuestro archivo index.html.heex consta de una sola etiqueta de sección, la página que obtenemos es un documento HTML completo. La plantilla index en realidad se representa una pagina compuesta por el diseño globlal de lib/hello_web/components/layouts/root.html.heex y lib/hello_web/components/layouts/app.html.heex. Si abrimos este archivo, verá una línea que se ve así en la parte inferior:

<%= @inner_content %>

Que es donde se inyecta el html particular. 

Plug es una biblioteca y una especificación para unir aplicaciones web. Es una parte esencial de cómo Phoenix maneja las solicitudes. Cada conector define una parte del procesamiento de solicitudes. En el endpoint encontrarás un esqueleto más o menos así:


defmodule HelloWeb.Endpoint do

  use Phoenix.Endpoint, otp_app: :hello


  plug Plug.Static, ...

  plug Plug.RequestId

  plug Plug.Telemetry, ...

  plug Plug.Parsers, ...

  plug Plug.MethodOverride

  plug Plug.Head

  plug Plug.Session, ...

  plug HelloWeb.Router

end


Cada uno de estos plug tiene una responsabilidad específica. El último complemento es precisamente el módulo HelloWeb.Router. Esto permite que el endpoint delegue todo el procesamiento de solicitudes adicional al enrutador. Como sabemos ahora, su responsabilidad principal es mapear pares de verbo/ruta a controladores. Luego, el controlador le dice a una vista que represente una plantilla.

En este momento, puede estar pensando que pueden ser muchos pasos para simplemente renderizar una página. Sin embargo, a medida que nuestra aplicación crezca en complejidad, veremos que cada capa tiene un propósito distinto:

Endpoint (Phoenix.Endpoint): contiene la ruta común e inicial por la que pasan todas las solicitudes. Si desea que suceda algo en todas las solicitudes, se dirige al punto final.

Router (Phoenix.Router): es responsable de enviar verbos/ruta a los controladores. El enrutador también nos permite medir la funcionalidad. Por ejemplo, algunas páginas de su aplicación pueden requerir la autenticación del usuario, otras no.

Controlador (Phoenix.Controller): el trabajo del controlador es recuperar la información solicitada, hablar con su dominio comercial y preparar datos para la capa de presentación.

Vista: la vista maneja los datos estructurados del controlador y los convierte en una presentación para mostrar a los usuarios. Las vistas a menudo reciben el nombre del formato de contenido que representan.

Hagamos un resumen rápido y cómo los últimos tres componentes funcionan juntos agregando otra página.


miércoles, 19 de diciembre de 2018

Herramientas Open Source front-end para Apache HBase.

 Las herramientas open source que se pueden utilizar como clientes de Apache HBase son :

Hbaseexplorer: Es una herramienta gráfica para el acceso a datos almacenados en HBase que permite:
  • Visualización de datos.
  • Creación, eliminación y modificación de tablas y filas.
  • Tablas estaticas
  • Scans




Toad for Cloud Databases: Es una herramienta muy versátil para diferentes productos entre los que se encuentra hbase.

HareDB HBase Client: Es un cliente de Hbase que tiene una interfaz amigable.


Hrider: Es una aplicación super amigable que permite consultar y manipular datos de hbase.

Hannibal: Es una herramienta para monitoreo de regiones.

Performance Monitoring & Alerting (SPM): SPM es una herramienta de monitoreo, muy completa, tiene la filosofia de detección temprana de los problemas. A la vez permite monitorear una amplia gama de productos en los que podemos nombrar : Solr, Elasticsearch, Hadoop, HBase, ZooKeeper, Kafka, Storm, Redis, JVM, etc.

Apache Phoenix: Es un cliente embebido que permite consultas como si fuera un driver JDBC. Apache Phoenix permite OLTP y el análisis operativo en Hadoop para aplicaciones de baja latencia combinando lo mejor de ambos mundos: el poder de las API de SQL y JDBC estándar con capacidades de transacción ACID completa y
la flexibilidad de las capacidades de lectura y escritura de los últimos tiempos del mundo NoSQL aprovechando HBase como su tienda de respaldo; Apache Phoenix está totalmente integrado con otros productos de Hadoop como Spark, Hive, Pig, Flume y Map Reduce.

Apache Impala: Antes una herramienta de Cloudera, pero la han liberado en el marco de la organización apache. Impala es una herramienta de procesamiento de consultas en paralelo, utiliza map-reduce y se pueden hacer consultas a hbase o a archivos hdfs (como hive)

Apache Zeppelin: Notebook basado en la web que permite a los datos,
Análisis de datos interactivos y documentos de colaboración con SQL, Scala y más.