Dicas e exemplos de consultas de privacidade diferencial - AWS Clean Rooms

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Dicas e exemplos de consultas de privacidade diferencial

AWS Clean Rooms A Privacidade Diferencial usa uma estrutura de consulta de uso geral para oferecer suporte a uma ampla variedade de SQL construções, como Common Table Expressions (CTEs) para preparação de dados e funções agregadas comumente usadas, como ou. COUNT SUM Para ofuscar a contribuição de qualquer possível usuário em seus dados adicionando ruído aos resultados agregados da consulta em tempo de execução, a Privacidade AWS Clean Rooms Diferencial exige que as funções agregadas no final sejam executadas em dados no nível do usuário. SELECT statement

O exemplo a seguir usa duas tabelas chamadas socialco_impressions e socialco_users de um publicador de mídia que deseja proteger os dados usando a privacidade diferencial enquanto colabora com uma marca esportiva com dados athletic_brand_sales. O publicador de mídia configurou a coluna user_id como a coluna do identificador do usuário, ao mesmo tempo em que habilitou a privacidade diferencial no AWS Clean Rooms. O anunciante não precisa de proteção de privacidade diferencial e deseja executar uma consulta usando CTEs dados combinados. Como eles CTE usam tabelas protegidas de privacidade diferencial, o anunciante inclui a coluna de identificador de usuário dessas tabelas protegidas na lista de CTE colunas e une as tabelas protegidas na coluna de identificador de usuário.

WITH matches_table AS( SELECT si.user_id, si.campaign_id, s.sale_id, s.sale_price FROM socialco_impressions si JOIN socialco_users su ON su.user_id = si.user_id JOIN athletic_brand_sales s ON s.emailsha256 = su.emailsha256 WHERE s.timestamp > si.timestamp UNION ALL SELECT si.user_id, si.campaign_id, s.sale_id, s.sale_price FROM socialco_impressions si JOIN socialco_users su ON su.user_id = si.user_id JOIN athletic_brand_sales s ON s.phonesha256 = su.phonesha256 WHERE s.timestamp > si.timestamp ) SELECT COUNT (DISTINCT user_id) as unique_users FROM matches_table GROUP BY campaign_id ORDER BY COUNT (DISTINCT user_id) DESC LIMIT 5

Da mesma forma, se você quiser executar funções de janela em tabelas de dados protegidas por privacidade diferencial, deverá incluir a coluna do identificador do usuário na cláusula PARTITION BY.

ROW_NUMBER() OVER (PARTITION BY conversion_id, user_id ORDER BY match_type, match_age) AS row