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.

SQL – Garantizar al menos n usuarios únicos con 2 apariciones cada uno en la consulta.

Estoy trabajando con AWS Personalize y una de las Cuotas del servicio es tener “Al menos 1000 registros que contengan un mínimo de 25 usuarios únicos con al menos 2 registros cada uno”, sé que mis datos crudos tienen esos números, pero estoy tratando de encontrar una forma de garantizar que esos números siempre se cumplan, incluso si alguien más ejecuta la consulta en el futuro.

La forma fácil sería simplemente usar el conjunto completo de datos, pero ahora mismo estamos trabajando en un POC, así que esa no es realmente mi primera opción. He cubierto la sección de “dos registros cada uno” simplemente contando las apariciones, pero no sé cómo garantizar el mínimo de 25 usuarios.

Es importante decir que mis datos no están mezclados de ninguna manera al momento de guardarlos.

Mi consulta:

SELECT C.productid AS ITEM_ID,
A.userid AS USER_ID,
A.createdon AS “TIMESTAMP”,
B.fromaddress_countryname AS “LOCATION”
FROM A como pedidos
JOIN B como sub_pedidos EN pedidos.id_pedido = sub_pedidos.id_pedido
JOIN C como items_pedido EN pedidos.id_pedido = items_pedido.id_pedido
WHERE pedidos.userid EN (
SELECT pedidos.userid
FROM A como PEDIDOS
GROUP BY pedidos.userid
HAVING count(*) > 2
)
LIMIT 10

Uso la cláusula LIMIT para solo consultar un subconjunto ya que estoy en AWS Athena.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para asegurarse de que siempre hay al menos 25 usuarios únicos en el conjunto de datos con al menos 2 registros cada uno, puede hacer lo siguiente:

    1. Cree un script que ejecute una consulta para contar el número único de usuarios en sus datos brutos y verifique que cada uno tenga al menos 2 registros.
    2. Programe la ejecución de este script de forma regular (por ejemplo, diariamente), utilizando un trabajo de cron, una función de AWS Lambda o cualquier otra herramienta de automatización de su elección.
    3. Si el script detecta que no se cumple el umbral mínimo, haga que envíe una alerta a los interesados necesarios para investigar y rectificar el problema.
    4. Como medida preventiva, también puede agregar un paso para mezclar los datos durante la ejecución del script, para asegurarse de que sus registros no dependan de ningún orden específico, lo que puede evitar cualquier posible sesgo o desviación de datos.

    Al implementar estos pasos, puede garantizar que los requisitos de cuota mínima siempre se cumplan, incluso si alguien más ejecuta la consulta en el futuro.

Comments are closed.