İzin verilen SQL işlevleri

Gizlilik nedeniyle, ADH'de kullanabileceğiniz SQL işlevlerini sınırlandırırız.

Skaler işlevler

Aşağıdakiler hariç tüm skaler işlevlere izin verilir:

  • 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

Analiz sorguları

Toplu analiz sorguları için birden fazla kullanıcının verilerini birleştiren işlevleri kısıtlarız. Tek bir kullanıcının verisi işlenirken tüm toplu işlevlere ve analiz işlevlerine izin verilir. Ayrıntılar için aşağıdaki Kullanıcı düzeyinde toplama bölümüne bakın.

Toplama işlevleri

İşlev İzin veriliyor mu?
ANY_VALUE Evet
APPROX_QUANTILES Hayır
APPROX_TOP_COUNT Hayır
APPROX_TOP_SUM Hayır
ARRAY_AGG Hayır
ARRAY_CONCAT_AGG Hayır
AVG Evet
BIT_AND Hayır
BIT_OR Hayır
BIT_XOR Hayır
COUNT Evet
COUNTIF Evet
LOGICAL_AND Evet
LOGICAL_OR Evet
MAX Evet
MIN Evet
SUM Evet
CORR Evet
COVAR_POP Evet
COVAR_SAMP Evet
STDDEV_POP Evet
STDDEV_SAMP Evet
STDDEV Evet
STRING_AGG Hayır
VAR_POP Evet
VAR_SAMP Evet
VARIANCE Evet
APPROX_COUNT_DISTINCT Evet

Analiz işlevleri

Tüm analiz işlevleri kısıtlanmıştır.

HyperLogLog++ işlevleri

Ads Data Hub, HyperLogLog++ (HLL++) işlevlerini destekler. Ancak bu işlevlerde daha kapsamlı sınırlamaları olan özel veri türleri kullanılır.

Desteklenen türler

Tür Açıklama
ADH.USER_HLL ADH.USER_ID türü değerlerden toplanan bir çizim
ADH.BYTE_HLL Kimlik dışı türde değerlerden toplanan bir çizim

Bu türlerde birleştirme ve kardinalite tahminlerine çıkarma desteklenir, başka türlere doğrudan dönüştürme desteklenmez. Bu türler Ads Data Hub'da doğrudan dışa aktarılamayacağından sorgu çıkışına ulaşmadan önce HLL_COUNT.EXTRACT ya da HLL_COUNT.MERGE kullanılması gerekir.

HLL çizimleri birden çok toplama katmanında kardinalite tahminine olanak tanısa da Ads Data Hub'da, tek bir katmanda COUNT(DISTINCT) kullanımına kıyasla performansta ciddi bir iyileşme sağlamadığını unutmayın.

Desteklenen işlevler

İşlev adı Desteklenen türler Dönüş türü
HLL_COUNT.EXTRACT ADH.USER_HLL, ADH.BYTE_HLL INT64
HLL_COUNT.INIT Desteklenen tüm standart türler, ADH.USER_ID ADH.USER_ID girişi için ADH.USER_HLL, aksi halde ADH.BYTE_HLL
HLL_COUNT.INITNT.MERGE ADH.USER_HLL, ADH.BYTE_HLL INT64
HLL_COUNT.MERGE_PARTIAL ADH.USER_HLL, ADH.BYTE_HLL Giriş türüyle aynı

Sınırlamalar

Gürültü yerleştirme: Gürültü yerleştirme kullanılarak çalıştırılan sorgularda HLL++ işlevleri desteklenmez.

Kullanıcı düzeyinde toplama

SELECT ifadelerinde user_id tarafından gruplandırılan veya bölümlenen tüm toplu işlevlere ve analiz işlevlerine izin verilir. Bunu gerçekleştirmek için, önceki tüm birleştirme işlemleri aşağıdaki örnekte gösterildiği gibi user_id üzerinden birleşerek verilerin kullanıcı düzeyinde tutulduğunu açıkça belirtmelidir:

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)

Kullanıcı listesi sorguları

Kullanıcı listesi sorgularında, toplama işlevlerine izin verilir ve analiz işlevleri desteklenmez.