به دلایل حفظ حریم خصوصی، ما توابع 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
پرسوجوهای تحلیل
برای پرسوجوهای تحلیلی تجمیعی، توابعی را که دادههای چندین کاربر را ترکیب میکنند، محدود میکنیم. همه توابع تجمیعی و تحلیلی هنگام پردازش دادههای یک کاربر مجاز هستند. برای جزئیات بیشتر به تجمیعهای سطح کاربر مراجعه کنید.
توابع تجمیعی
توابع زیر برای تجمیع بین کاربران مجاز هستند:
-
SUM -
COUNT -
COUNTIF -
APPROX_COUNT_DISTINCT -
AVG
در حالت بررسی تفاوت حریم خصوصی، عملکردهای زیر نیز مجاز هستند:
-
ANY_VALUE -
LOGICAL_AND -
LOGICAL_OR -
MAX -
MIN -
CORR -
COVAR_POP -
COVAR_SAMP -
STDDEV_POP -
STDDEV_SAMP -
STDDEV -
VAR_POP -
VAR_SAMP -
VARIANCE
برای جزئیات بیشتر در مورد توابع و ویژگیهای تجمیعشدهی مختص نویز، به تزریق نویز مراجعه کنید.
توابع تحلیلی
تمام توابع تحلیلی محدود شدهاند.
توابع HyperLogLog++
مرکز داده تبلیغات از توابع HyperLogLog++ (HLL++) پشتیبانی میکند. با این حال، آنها از انواع دادههای تخصصی با محدودیتهای بیشتری استفاده میکنند.
انواع پشتیبانی شده
| نوع | توضیحات |
|---|---|
ADH.USER_HLL | یک طرح جمعآوریشده از مقادیر نوع ADH.USER_ID |
ADH.BYTE_HLL | یک طرح جمعآوریشده از مقادیر هر نوع غیر ID |
این نوعها از ادغام و استخراج به تخمینهای کاردینالیتی پشتیبانی میکنند و تبدیل مستقیم به هیچ نوع دیگری را پشتیبانی نمیکنند. آنها را نمیتوان مستقیماً از 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_creative_conversions
USING(query_id, user_id)
GROUP BY user_id;
پرس و جوهای لیست کاربران
در پرسوجوهای فهرست کاربران، توابع تجمیعی مجاز هستند و توابع تحلیلی پشتیبانی نمیشوند.