เราจํากัดฟังก์ชัน 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 |
ภาพร่างที่รวบรวมจากค่าของประเภทที่ไม่ใช่รหัส |
ประเภทเหล่านี้รองรับการผสานและการดึงข้อมูลไปยังค่าประมาณ Cardinality และไม่รองรับการเปลี่ยนเป็นประเภทอื่นๆ โดยตรง ไม่สามารถส่งออกโดยตรงจาก Ads Data Hub ได้ จึงต้องใช้ HLL_COUNT.EXTRACT
หรือ HLL_COUNT.MERGE
ก่อนถึงเอาต์พุตการค้นหา
ภาพร่าง HLL ช่วยในการประมาณ Cardinality ในการรวมหลายเลเยอร์ แต่โปรดทราบว่าใน Ads Data Hub นั้นภาพร่างไม่ได้ช่วยปรับปรุงประสิทธิภาพมากนักเมื่อเทียบกับ COUNT(DISTINCT)
ในเลเยอร์เดียว
ฟังก์ชันที่รองรับ
ชื่อฟังก์ชัน | ประเภทที่รองรับ | ประเภทการแสดงผล |
---|---|---|
HLL_COUNT.EXTRACT
|
ADH.USER_HLL ,
ADH.BYTE_HLL |
INT64
|
HLL_COUNT.INIT
|
ประเภทมาตรฐานทั้งหมดที่รองรับ
ADH.USER_ID |
ADH.USER_HLL สำหรับ input 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 |
ใช้ข้อมูลเดียวกันกับประเภทอินพุต |
ข้อจำกัด
Noise Injection: ระบบไม่รองรับฟังก์ชัน HLL++ เมื่อเรียกใช้การค้นหาโดยใช้Noise Injection
การรวมระดับผู้ใช้
เราอนุญาตให้ใช้ฟังก์ชันรวมและฟังก์ชันวิเคราะห์ทั้งหมดในคำสั่ง 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)
การค้นหารายการผู้ใช้
ในข้อความค้นหารายการผู้ใช้ ระบบจะอนุญาตฟังก์ชันการรวมข้อมูล และไม่รองรับฟังก์ชันการวิเคราะห์