Por motivos de privacidad, restringimos las funciones de SQL que se pueden usar en el CDA.
Funciones escalares
Se permiten todas las funciones escalares, excepto las siguientes:
ERROR
ST_AREA
ST_ASBINARY
ST_ASGEOJSON
ST_ASTEXT
ST_BOUNDARY
ST_CENTROID
ST_CENTROID_AGG
ST_CLOSESTPOINT
ST_CLUSTERDBSCAN
ST_CONTAINS
ST_CONVEXHULL
ST_COVEREDBY
ST_COVERS
ST_DIFFERENCE
ST_DIMENSION
ST_DISJOINT
ST_DISTANCE
ST_DUMP
ST_DWITHIN
ST_EQUALS
ST_GEOGFROMGEOJSON
ST_GEOGFROMTEXT
ST_GEOGFROMWKB
ST_GEOGPOINT
ST_GEOGPOINTFROMGEOHASH
ST_GEOHASH
ST_INTERSECTION
ST_INTERSECTS
ST_INTERSECTSBOX
ST_ISCOLLECTION
ST_ISEMPTY
ST_LENGTH
ST_MAKELINE
ST_MAKEPOLYGON
ST_MAKEPOLYGONORIENTED
ST_MAXDISTANCE
ST_NPOINTS
ST_NUMPOINTS
ST_PERIMETER
ST_SIMPLIFY
ST_SNAPTOGRID
ST_TOUCHES
ST_UNION
ST_UNION_AGG
ST_WITHIN
ST_X
ST_Y
Consultas de análisis
Para las consultas de análisis agregado, restringimos las funciones que combinan datos de varios usuarios. Se permiten todas las funciones de agregación y analíticas cuando se procesa los datos de un solo usuario. Consulta Agregaciones a nivel del usuario a continuación para obtener más información más detalles.
Funciones de agregación
Función | ¿Se permite? |
---|---|
ANY_VALUE |
Sí |
APPROX_QUANTILES |
No |
APPROX_TOP_COUNT |
No |
APPROX_TOP_SUM |
No |
ARRAY_AGG |
No |
ARRAY_CONCAT_AGG |
No |
AVG |
Sí |
BIT_AND |
No |
BIT_OR |
No |
BIT_XOR |
No |
COUNT |
Sí |
COUNTIF |
Sí |
LOGICAL_AND |
Sí |
LOGICAL_OR |
Sí |
MAX |
Sí |
MIN |
Sí |
SUM |
Sí |
CORR |
Sí |
COVAR_POP |
Sí |
COVAR_SAMP |
Sí |
STDDEV_POP |
Sí |
STDDEV_SAMP |
Sí |
STDDEV |
Sí |
STRING_AGG |
No |
VAR_POP |
Sí |
VAR_SAMP |
Sí |
VARIANCE |
Sí |
APPROX_COUNT_DISTINCT |
Sí |
Funciones analíticas
Todas las herramientas de funciones están restringidas.
Funciones HyperLogLog++
El Centro de Datos de Anuncios es compatible con HyperLogLog++ (HLL++) funciones. Sin embargo, usan tipos de datos especializados con más limitaciones.
Tipos admitidos
Tipo | Descripción |
---|---|
ADH.USER_HLL |
Un esbozo agregado a partir de valores de tipo ADH.USER_ID |
ADH.BYTE_HLL |
Un esbozo agregado a partir de valores de cualquier tipo que no sea de ID |
Estos tipos admiten la fusión y la extracción de estimaciones de cardinalidad, y no
admiten la conversión directa a cualquier otro tipo. No se pueden exportar directamente.
del Centro de Datos de Anuncios, por lo que deben usar HLL_COUNT.EXTRACT
o HLL_COUNT.MERGE
antes de llegar al resultado de la consulta.
Los bocetos de HLL permiten estimar la cardinalidad en múltiples capas de
pero ten en cuenta que, en el Centro de Datos de Anuncios, no proporcionan una
mejora del rendimiento en comparación con COUNT(DISTINCT)
en una sola capa.
Funciones compatibles
Nombre de la función | Tipos admitidos | Tipo de datos que se muestra |
---|---|---|
HLL_COUNT.EXTRACT
|
ADH.USER_HLL ,
ADH.BYTE_HLL |
INT64
|
HLL_COUNT.INIT
|
Todos los tipos
tipos admitidos,
ADH.USER_ID |
ADH.USER_HLL para
entrada ADH.USER_ID ,
de lo contrario ADH.BYTE_HLL |
HLL_COUNT.INITNT.MERGE
|
ADH.USER_HLL ,
ADH.BYTE_HLL |
INT64
|
HLL_COUNT.MERGE_PARTIAL
|
ADH.USER_HLL ,
ADH.BYTE_HLL |
Igual que el tipo de entrada |
Limitaciones
Inyección de ruido: No se admiten las funciones HLL++ cuando se ejecuta una consulta. mediante inyección de ruido.
Agregaciones a nivel del usuario
Permitimos todas las funciones de agregación y analítica en las declaraciones SELECT
que agrupan
o partición por user_id
. Para que esto funcione, cualquier unión anterior debe hacer que
borra que los datos se mantienen a nivel del usuario uniéndolos en user_id
, como en
este ejemplo:
CREATE TABLE paths AS (
SELECT ARRAY_AGG(campaign_id ORDER BY query_id.time_usec) AS path
FROM
adh.google_ads_impressions
LEFT JOIN adh.google_ads_clicks
USING(query_id, user_id)
GROUP BY user_id)
Consultas de la lista de usuarios
En las consultas de listas de usuarios, se permiten las funciones de agregación y las funciones analíticas. no son compatibles.