Traducción no actualizada
Ejemplo 1: Ejemplo de agregación de datos de Clickstream
Objetivo: Utilizar datos de Clickstream de ejemplo para responder a las siguientes preguntas sobre la actividad de ventas en línea.
-
¿Cuántos clientes individuales están presentes en cada tipo de suceso por minuto?
-
¿Cuál es el precio total de los artículos del carro de compra de un cliente por cada tipo de suceso por minuto?
Los datos de Clickstream son datos que genera la interacción de un usuario con un sitio web en línea. Por ejemplo, el usuario puede examinar un artículo, añadir el artículo a un carro de la compra, eliminar un artículo del carro de compra, cerrar la sesión sin ninguna compra o realizar una compra. Cada pulsación genera un suceso que se puede capturar en un flujo de secuencias.
Vamos a diseñar un flujo de secuencias simples en el lienzo con tres operadores.
-
Datos de ejemplo: este operador proporciona datos de Clickstream de ejemplo.
-
Agregado: Este operador agrega los datos por ID de cliente y luego aplica las funciones especificadas a los datos cada minuto.
-
Cloud Object Storage (COS): Este operador es el destino para el almacenamiento.
Ahora vamos a definir cada operador en su panel de propiedades.
Definición del operador de datos de ejemplo
Seleccione Clickstream. Pulse Editar esquema de origen para ver el esquema que entra en el flujo de secuencias.
Definición del operador de agregación
Vamos a definir los parámetros de este operador para proporcionar las métricas que necesitamos para responder a nuestras dos preguntas. Establezca las siguientes propiedades.
La ventana de agregación Tipo está establecida en tumbling
porque queremos que las funciones de agregación se realicen en un intervalo de tiempo establecido, independientemente de la frecuencia o de la cantidad de tuplas que lleguen. Para obtener más información, consulte ventanas contiguas ("tumbling windows"), ventanas deslizantes ("sliding windows").
La ventana de agregación se determina en función de la unidad de tiempo y del número de unidades de tiempo. En nuestro caso, lo estableceremos en minuto
y 1
porque queremos métricas cada minuto. Cada minuto, todas las tuplas 'salen' y se aplica una función de agregación a cada campo.
La ventana está particionada por customer_id en subventanas. Esta partición nos proporciona métricas por parte del cliente.
Configuramos tres funciones de agregación para definir las medidas se realizan en todas las tuplas de cada subventana (significado, cada cliente). Se realizan las siguientes funciones de agregación en todas las subventanas cada minuto.
-
click_event_type: La función PassThrough pasa el tipo de suceso que se ha producido a un campo llamado “click_event_type”. Este campo nos indica la acción que ha realizado el usuario, como por ejemplo iniciar una sesión, examinar, añadir un artículo al carro, etc. La función
PassThrough
pasa los atributos del esquema a través de la salida sin realizar ninguna clasificación de cálculo ni ningún cambio. -
total_carts: La función Average calcula el precio medio del carro de compra de un cliente y guarda el valor en un campo llamado “total_carts“.
-
unique_users: La función CountDistinct proporciona el número de usuarios individuales que han iniciado una sesión y guarda el valor en un campo llamado “unique_users”. No utilizamos la función Count porque proporciona el número total de usuarios, incluidas varias entradas de usuarios.
Así es como queda ahora nuestro flujo de secuencias.
Tenga en cuenta el cambio en el esquema antes y después del operador de agregación. Solo se almacenan tres atributos en COS. El atributo de indicación de fecha y hora no se añade al esquema de salida.
Se pueden aplicar las siguientes funciones a atributos de esquema específicos.
Función de agregación | Tipo de argumento | Tipo de retorno | Valor de retorno |
---|---|---|---|
Average | Integer, float | Float | Promedio de todos los valores de entrada. Nulo si no se selecciona ninguna fila. |
Count | Integer | Igual que el argumento | Número de todas las filas de entrada no nulas. |
CountDistinct | Integer | Igual que el argumento | Número de valores de expresión distintos que se calculan para las tuplas del grupo. |
Maximum | Integer, float | Igual que el argumento | Elemento máximo entre todos los valores de entrada. Nulo si no se selecciona ninguna fila. |
Minimum | Integer, float | Igual que el argumento | Elemento mínimo entre todos los valores de entrada. Nulo si no se selecciona ninguna fila. |
PassThrough | Integer, float, text | Igual que el argumento | Pasa el atributo de esquema a la salida tal como está. |
Sum | Integer, float | Igual que el argumento | Suma de todos los valores de entrada. Nulo si no se selecciona ninguna fila. |
Standard Deviation | Integer, float | Igual que el argumento | Desviación estándar de todos los valores de entrada. Nulo si no se selecciona ninguna fila. |
Definir operador de COS
Seleccionamos nuestra instancia de COS conexión y, a continuación, definimos la Vía de acceso de archivo para los archivos CSV.
Seleccione una instancia del servicio COS a la que desee enviar los datos. En el campo Vía de acceso de archivo, pulse para obtener una lista de los grupos existentes en esa instancia de COS y, a continuación, seleccione un grupo. En este ejemplo, añadimos un archivo denominado
%TIME.csv
para obtener un nuevo archivo cada minuto. De lo contrario, cada nuevo archivo sobrescribe el archivo existente.
En el campo Formato, seleccionamos CSV porque solo tenemos tres columnas. Lo más probable es que las consultas necesiten consultar datos de fila en lugar de datos de columna.
En el campo de la política de creación de archivos, seleccionamos el tiempo porque nuestras ventanas caen cada minuto. Establecemos este parámetro para crear un nuevo archivo con cada 'caída'.
Ejecute el flujo de secuencias
Ahora todas las operaciones están definidas. Guarde el flujo de secuencias y luego pulse para ejecutar el flujo.
Cuando se ejecuta el flujo de secuencias, se muestra la tasa de ingestión de los datos de Clickstream y el rendimiento de la entrada y la salida del operador de agregación.
La tabla Flujo de sucesos muestra los sucesos que se están en secuencia en nuestra instancia de COS.
Los datos se almacenan en archivos CSV en el grupo de COS. Puede descargar estos archivos de IBM Cloud para su posterior análisis.
Ejemplo 2: Agregación en paralelo
Supongamos que nuestro sitio web en línea tiene puntas de datos irregulares según la hora del día y la temporada.
En este caso, utilice operadores agregados en paralelo. Ambos operadores agregados se configuran de forma idéntica, excepto en que cada operador utiliza un valor distinto para Tiempo y Número de unidades de tiempo para desalojar tuplas.
En nuestro ejemplo de Clickstream, el primer operador agregado tiene una ventana contigua cada minuto. Vamos a configurar el segundo operador agregado para que tenga una ventana contigua de cada 10 minutos.
Más ejemplos
Para obtener más ejemplos del operador agregado, consulte el artículo sobre Cálculo de promedios en movimiento en datos en tiempo real en un flujo de secuencias.