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 बिना आईडी वाले किसी टाइप की वैल्यू से एग्रीगेट किया गया स्केच

इस तरह के टाइप में, एलिमेंट की संख्या के अनुमान को मर्ज करने और एक्सट्रैक्ट करने की सुविधा होती है. हालांकि, इनमें ये काम नहीं करते किसी अन्य टाइप में डायरेक्ट कन्वर्ज़न की सुविधा देता है. उन्हें सीधे तौर पर एक्सपोर्ट नहीं किया जा सकता से हटा दिया जाता है, इसलिए उन्हें HLL_COUNT.EXTRACT या HLL_COUNT.MERGE का इस्तेमाल करना होगा क्वेरी के आउटपुट तक पहुंचने से पहले.

एचएलएल स्केच एग्रीगेशन के लिए ज़रूरी है, लेकिन ध्यान रखें कि 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)

उपयोगकर्ता सूची क्वेरी

उपयोगकर्ता सूची वाली क्वेरी में एग्रीगेट फ़ंक्शन और ऐनलिटिक फ़ंक्शन की अनुमति होती है समर्थित नहीं हैं.