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á.
AWS Clean Rooms A Privacidade Diferencial usa uma estrutura de consulta de uso geral para oferecer suporte a uma ampla variedade de construções SQL, 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 a CTE usa tabelas protegidas de privacidade diferencial, o anunciante inclui a coluna de identificador de usuário dessas tabelas protegidas na lista de colunas de CTE 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