ฟังก์ชัน SQL ที่อนุญาต

เราจํากัดฟังก์ชัน 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)

การค้นหารายการผู้ใช้

ในข้อความค้นหารายการผู้ใช้ ระบบจะอนุญาตฟังก์ชันการรวมข้อมูล และไม่รองรับฟังก์ชันการวิเคราะห์