Skip to content

gabanox/SessionizationProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 

Repository files navigation

Creando sesiones de flujo de clics en tiempo real y ejecutando análisis con Amazon Kinesis Data Analytics, AWS Glue y Amazon Athena

I: Implementación automatizada con AWS CloudFormation

Todos los pasos de esta solución de un extremo a otro se incluyen en una plantilla de AWS CloudFormation . Encienda la plantilla, agregue el código en su servidor web y listo, obtendrá la sesionización en tiempo real.

Esta plantilla de AWS CloudFormation está diseñada para implementarse solo en la región us-east-1.

II: Creando la pila

  1. Para comenzar, inicie sesión en la Consola de administración de AWS y luego abra la plantilla de ventana escalonada.

GitHub

  1. En la consola de AWS CloudFormation, elija Siguiente y complete los parámetros de AWS CloudFormation:
    • Nombre de pila : El nombre de la pila ( el blog-sesionización o sesiones-blog )
    • StreamName : sesionesblog
    • Recuento de fragmentos de transmisión : 1 o 2 (1 MB / s) por fragmento.
    • Nombre del depósito : cambie a un nombre único, por ejemplo, session-n-bucket-hhug123121
    • Intervalo de búfer : sugerencia de almacenamiento en búfer de 60 a 900 segundos para Kinesis Data Firehose antes de que los datos se envíen a Amazon S3 desde Kinesis Data Firehose.
    • Tamaño del búfer : 1–128 MB por archivo, si el intervalo no se alcanza primero.
    • Prefijo de destino : agregado (carpeta interna del depósito para guardar datos agregados).
    • Base de sesiones en segundos o minutos : elija cuál desea (los minutos comenzarán con 1 minuto, los segundos comenzarán con 30 segundos).

GitHub

GitHub

GitHub

GitHub

  1. Compruebe si el lanzamiento se ha completado y, si no lo ha hecho, compruebe si hay errores.

Nota: el error más común es cuando apunta a un bucket de Amazon S3 que ya existe.

GitHub

III: Procesar los datos

  1. Después de la implementación, navegue hasta la solución en la consola de Amazon Kinesis

GitHub

  1. Vaya a la página de aplicaciones de Kinesis Analytics y elija AnalyticsApp-blog-sessionizationXXXXX , de la siguiente manera.

GitHub

  1. Elija Ejecutar aplicación para iniciar la aplicación.

GitHub

  1. Espere unos segundos hasta que la aplicación esté disponible y luego elija Detalles de la aplicación.

GitHub

  1. En la página de detalles de la aplicación, elija Ir a resultados de SQL

GitHub

  1. Examine el código SQL y SOURCE_SQL_STREAM, y cambie el INTERVALO si lo desea.

GitHub

  1. Elija la pestaña Análisis en tiempo real para verificar los resultados de DESTINATION_SQL_STREAM

GitHub

  1. Verifique la pestaña Destino para ver la función AWS Lambda como el destino de su agregación.

GitHub

  1. Compruebe el panel de control CloudWatch en tiempo real.

GitHub

  1. Abra el panel Sessionization - < el nombre de su pila de formación en la nube >

Nota: Verifique el número de "eventos" durante las sesiones y el comportamiento de la "duración de la sesión" de un período de tiempo. Luego, puede tomar decisiones, como si necesita revertir un nuevo diseño de sitio o nuevas funciones de su aplicación.

GitHub

  1. Abra la consola de AWS Glue y ejecute el rastreador que la plantilla de AWS CloudFormation que creó para usted.

  2. Elija el trabajo del rastreador y luego elija Ejecutar rastreador.

GitHub

IV: Analizar los datos

  1. Una vez finalizado el trabajo, abra la consola de Amazon Athena y explore los datos.

  2. En la consola de Athena, elija la base de datos de sesionización en la lista. Debería ver dos tablas creadas en función de los datos de Amazon S3: datos sin procesar y agregados.

GitHub

  1. Elija la elipsis vertical (tres puntos) en el lado derecho para explorar cada una de las tablas, como se muestra en las siguientes capturas de pantalla:

GitHub

GitHub

  1. Cree una vista en la consola de Athena para consultar solo los datos de hoy de su tabla agregada, de la siguiente manera:
CREATE OR REPLACE VIEW clicks_today AS
SELECT 
*
FROM "aggregated" 
WHERE
cast(partition_0 as integer)=year(current_date) and
cast(partition_1 as integer)=month(current_date) and
cast(partition_2 as integer)=day(current_date) ;
  1. La consulta exitosa aparece en la consola de la siguiente manera:

GitHub

  1. Cree una vista para consultar solo los datos del mes actual de su tabla agregada, como en el siguiente ejemplo:
CREATE OR REPLACE VIEW clicks_month AS
SELECT 
*
FROM "aggregated" 
WHERE
cast(partition_0 as integer)=year(current_date) and
cast(partition_1 as integer)=month(current_date) ;
  1. La consulta exitosa aparece de la siguiente manera:

GitHub

  1. Consultar datos con las sesiones agrupadas por la duración de la sesión ordenadas por sesiones, de la siguiente manera:
SELECT duration_sec, count(1) sessions 
FROM "clicks_today"
where duration_sec>0
group by duration_sec
order by sessions desc;
  1. Los resultados de la consulta aparecen de la siguiente manera:

GitHub

V: Visualiza los datos

  1. Abra la consola de Amazon QuickSight

Nota: Si nunca ha utilizado Amazon QuickSight, primero realice esta configuración.

  1. Configure los ajustes de la cuenta de Amazon QuickSight para acceder a Athena y su bucket de S3.

  2. Primero, seleccione la casilla de verificación Amazon Athena. Seleccione la casilla de verificación Amazon S3 para editar el acceso de Amazon QuickSight a sus buckets S3.

GitHub

  1. Elija los depósitos que desea que estén disponibles y, luego, seleccione Seleccionar depósitos.

GitHub

  1. Elija Administrar datos
  2. Luego elija NUEVO CONJUNTO DE DATOS

GitHub

  1. En la lista de fuentes de datos, elija Athena.

GitHub

  1. Ingrese daily_session como su nombre de fuente de datos.

GitHub

  1. Elija la vista que creó para las sesiones diarias y elija Seleccionar

GitHub

  1. Luego, puede optar por utilizar SPICE (caché) o el acceso directo a consultas.

GitHub

  1. Elija beginnavigation y duration_sec como métricas.

GitHub

  1. Elija + Agregar para agregar una nueva visualización.

GitHub

  1. En tipos visuales , elija el tipo de gráfico de mapa de árbol.

GitHub

  1. Para Agrupar por , elija device_id ; para Tamaño , elija duration_sec (Suma) ; y para Color , elija eventos (Suma).

GitHub

Resumen

En esta práctica, aprendió cómo realizar la sesionización de eventos de flujo de clics y analizarlos en una arquitectura sin servidor. El uso de una ventana escalonada de Kinesis Data Analytics hace que el código SQL sea breve y fácil de escribir y comprender. La integración entre los servicios permite un flujo de datos completo con una codificación mínima.

También aprendió formas de explorar y visualizar estos datos con Amazon Athena, AWS Glue y Amazon QuickSight.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published