به دلایل حفظ حریم خصوصی، عملکردهای SQL را که میتوانید در ADH استفاده کنید، محدود میکنیم.
توابع اسکالر
همه توابع اسکالر به جز موارد زیر مجاز هستند:
-
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
پرس و جوهای تحلیلی
برای جستارهای تجزیه و تحلیل انبوه، ما توابعی را که دادههای چند کاربر را ترکیب میکنند، محدود میکنیم. همه توابع جمعی و تحلیلی هنگام پردازش داده های یک کاربر مجاز هستند. برای جزئیات بیشتر به مجموعههای سطح کاربر در زیر مراجعه کنید.
توابع جمع
تابع | مجاز است؟ |
---|---|
ANY_VALUE | بله |
APPROX_QUANTILES | خیر |
APPROX_TOP_COUNT | خیر |
APPROX_TOP_SUM | خیر |
ARRAY_AGG | خیر |
ARRAY_CONCAT_AGG | خیر |
AVG | بله |
BIT_AND | خیر |
BIT_OR | خیر |
BIT_XOR | خیر |
COUNT | بله |
COUNTIF | بله |
LOGICAL_AND | بله |
LOGICAL_OR | بله |
MAX | بله |
MIN | بله |
SUM | بله |
CORR | بله |
COVAR_POP | بله |
COVAR_SAMP | بله |
STDDEV_POP | بله |
STDDEV_SAMP | بله |
STDDEV | بله |
STRING_AGG | خیر |
VAR_POP | بله |
VAR_SAMP | بله |
VARIANCE | بله |
APPROX_COUNT_DISTINCT | بله |
توابع تحلیلی
همه توابع تحلیلی محدود شده اند.
توابع HyperLogLog++
Ads Data Hub از توابع HyperLogLog++ (HLL++) پشتیبانی می کند. با این حال، آنها از انواع داده های تخصصی با محدودیت های بیشتری استفاده می کنند.
انواع پشتیبانی شده
تایپ کنید | توضیحات |
---|---|
ADH.USER_HLL | طرحی جمعآوری شده از مقادیر نوع ADH.USER_ID |
ADH.BYTE_HLL | طرحی که از مقادیر هر نوع غیر شناسه ای جمع آوری شده است |
این انواع از ادغام و استخراج به تخمین های اصلی پشتیبانی می کنند و از تبدیل مستقیم به هر نوع دیگری پشتیبانی نمی کنند. آنها را نمی توان مستقیماً از Ads Data Hub صادر کرد، بنابراین قبل از رسیدن به خروجی جستجو باید از HLL_COUNT.EXTRACT
یا HLL_COUNT.MERGE
استفاده کنند.
طرحهای HLL تخمین کاردینالیته را در چندین لایه انباشته امکانپذیر میکنند، اما توجه داشته باشید که در Ads Data Hub بهبود عملکرد قابلتوجهی نسبت به COUNT(DISTINCT)
در یک لایه ایجاد نمیکنند.
توابع پشتیبانی شده
نام تابع | انواع پشتیبانی شده | نوع برگشت |
---|---|---|
HLL_COUNT.EXTRACT | ADH.USER_HLL ، ADH.BYTE_HLL | INT64 |
HLL_COUNT.INIT | همه انواع استاندارد پشتیبانی شده ، ADH.USER_ID | ADH.USER_HLL برای ورودی ADH.USER_ID ، در غیر این صورت ADH.BYTE_HLL |
HLL_COUNT.INITNT.MERGE | ADH.USER_HLL ، ADH.BYTE_HLL | INT64 |
HLL_COUNT.MERGE_PARTIAL | ADH.USER_HLL ، ADH.BYTE_HLL | مانند نوع ورودی |
محدودیت ها
تزریق نویز: عملکردهای HLL++ هنگام اجرای یک پرس و جو با استفاده از تزریق نویز پشتیبانی نمی شوند.
تجمعات در سطح کاربر
ما به همه توابع انبوه و تحلیلی در عبارات SELECT
اجازه می دهیم که توسط user_id
گروه یا پارتیشن بندی شوند. برای این کار، هر اتصال قبلی باید روشن کند که دادهها با پیوستن به user_id
در سطح کاربر نگهداری میشوند، مانند این مثال:
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)
پرس و جوهای لیست کاربران
در جستارهای فهرست کاربر، توابع انبوه مجاز هستند و توابع تحلیلی پشتیبانی نمی شوند.