es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Filtrar registros de Redshift basándose en registros de S3.

Soy nuevo en AWS. Estoy trabajando en el diseño de una solución para el siguiente caso de uso.

Tengo una copia de una base de datos relacional en S3, hay varios archivos en un bucket, cada archivo representa una tabla y las columnas están delimitadas por tuberías. El tamaño total de los archivos sería de alrededor de 2 GB. También tengo varios miles de millones de registros distribuidos en múltiples tablas en redshift.

Necesito filtrar registros de redshift (uniendo varias tablas) en función de los registros disponibles en S3 (uniendo varios archivos) y escribirlos en una base de datos/S3.

Ejemplo: supongamos que S3 tiene un archivo de Productos que tiene los detalles del producto y un archivo de Criterios que tiene los detalles del criterio, cuando el criterio coincide, el producto debe mostrarse como una sugerencia al cliente. La tabla de criterios y productos están vinculadas utilizando el ID de producto. Por ejemplo, muestra los accesorios del iPad (producto) como sugerencia cuando el cliente ya ha comprado un iPad (criterio).

Redshift tiene una tabla de Clientes que tiene la lista de clientes y una tabla de Productos que tiene la lista de productos que compraron. Tanto los productos como los clientes están vinculados mediante el ID del cliente.

Para cada producto disponible en S3 en función del criterio, necesito encontrar la lista de clientes a quienes se debe sugerir el producto en función del producto que ya han comprado.

¿Alguien puede ayudar con una idea de alto nivel de cómo lograr esto en AWS?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para lograr este caso de uso, puede seguir los siguientes pasos de alto nivel:

    1. Cargar los datos de S3 a Redshift – Cree un clúster de Redshift y use el comando COPY para cargar los datos de las tablas de S3 a Redshift. Esto creará tablas en Redshift y le dará fácil acceso a sus datos.
    2. Analizar los registros de Redshift – Escriba consultas para filtrar registros según los criterios y los productos disponibles. Realice una operación de unión en la tabla de clientes y productos.

    3. Extraer registros filtrados a S3 – Una vez que tenga los registros filtrados, puede escribirlos de vuelta en S3 en un formato que se pueda utilizar para sugerir productos a los clientes. Puede utilizar el comando UNLOAD para escribir los datos resultantes en S3.

    4. Utilizar resultados para sugerir productos – Utilice los registros filtrados en S3 para sugerir productos a sus clientes. Puede utilizar servicios de AWS como Lambda, SNS o SQS para identificar a los clientes y enviar las sugerencias de productos personalizadas a ellos.

    En general, utilizando Amazon Web Services, puede cargar fácilmente datos de S3 a Redshift, filtrar los registros para obtener los resultados deseados y luego exportar los resultados de vuelta a S3 para un análisis más detallado. Puede utilizar servicios de AWS como Lambda, SNS o SQS para identificar a los clientes y enviar las sugerencias de productos personalizadas a ellos.

Comments are closed.