PLACES_COUNT_PER_TYPE_V2 işlevi

PLACES_COUNT_PER_TYPE_V2 işlevi, birden fazla giriş coğrafyası için yer türüne göre ayrılmış yer sayılarını ve örnek yer kimliklerini içeren bir BigQuery tablosu döndürür. Bu işlev, coğrafi konumların giriş tablosu parametresini kabul ederek verimli toplu işlem için tasarlanmıştır. Coğrafi konumları bir giriş tablosu aracılığıyla sağlarsınız ve yer türlerini dizi olarak belirtirsiniz.

Söz dizimi

SELECT * FROM `PROJECT_NAME.LINKED_DATASET_NAME.PLACES_COUNT_PER_TYPE_V2`(
  TABLE input_geographies,
  target_types,
  filters
)

Parametreler

  • PROJECT_NAME: Google Cloud projenizin adı.
  • LINKED_DATASET_NAME: Places Insights işlevlerini içeren BigQuery veri kümesinin adı (ör. places_insights___us).
  • input_geographies: Analiz edilecek coğrafi konumları içeren bir BigQuery tablosu. Bu tablo aşağıdaki sütunları içermelidir:
    • geo_id (STRING): Her coğrafi bölge için benzersiz bir tanımlayıcı.
    • geo (GEOGRAPHY): Alanı temsil eden BigQuery GEOGRAPHY nesnesi. Bu bir nokta, poligon veya başka bir coğrafya türü olabilir.
  • target_types (ARRAY<STRING>): Sayılarını almak istediğiniz yer türü dizeleri dizisi. Yerlerin types dizisinde listelenen türlerden herhangi biriyle eşleşmesi durumunda sayılacağını, yalnızca primary_type ile eşleşmesi durumunda sayılmayacağını unutmayın.
  • filters (JSON): Yerlerin ek olarak filtrelenmesi için anahtar/değer çiftleri içeren bir JSON nesnesi. Filtre Parametreleri bölümüne bakın.

Çıkış Tablosu Şeması

PLACES_COUNT_PER_TYPE_V2 işlevi, aşağıdaki sütunları içeren bir tablo döndürür:

Sütun Adı Veri Türü Açıklama
geo_id STRING input_geographies tablosundaki giriş coğrafi konumu için benzersiz tanımlayıcı.
input_geography GEOGRAPHY input_geographies tablosundaki orijinal GEOGRAPHY nesnesi.
place_type STRING Bu satırın temsil ettiği target_types dizisindeki yer türü.
place_count INTEGER Coğrafi bölge içinde veya yakınında place_type ve diğer filtrelerle eşleşen yerlerin sayısı.
sample_place_ids ARRAY<STRING> Bu tür ve coğrafya için ölçütlerle eşleşen en fazla 250 yer kimliğinden oluşan bir dizi.

Çıkış, geo_id ve place_type kombinasyonlarının her biri için bir satır içerir. Sayı sıfır olsa bile target_types dizisinde belirtilenler dahil edilir.

İşleyiş şekli

İşlev, input_geographies tablosunda sağlanan her coğrafi konumu işler. Her coğrafi konum için, target_types dizisinde listelenen türlerden herhangi biriyle eşleşen ve filters JSON nesnesindeki tüm koşulları karşılayan yerler sayılır. Sonuçlar toplanır ve her bir geo_id ile target_types içindeki her türe göre ayrılır.

Örnek: New York City ilçelerindeki farklı yemek yerlerinin sayısını belirleme

Bu örnek, üç New York City ilçesindeki "restoran", "kafe" ve "bar" türlerinin sayılarından oluşan bir tablo oluşturur.

SELECT geo_id, input_geography, place_type, place_count
FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_PER_TYPE_V2`(
  (
    SELECT county_name AS geo_id,
           ST_SIMPLIFY(county_geom, 100) AS geo
    FROM
      `bigquery-public-data.geo_us_boundaries.counties`
    WHERE
      state_fips_code = "36"  -- New York State
      AND county_name IN ("Queens", "Kings", "New York")
  ),
  ['restaurant', 'cafe', 'bar'],  -- target_types
  JSON_OBJECT(
      'business_status', ['OPERATIONAL']
  )
);

Sonuç, 9 satırlık bir tablo (3 ilçe * 3 tür) olur. Her satırda, her ilçedeki "restoran", "kafe" veya "bar" işletmelerinin sayısı gösterilir. SELECT ifadesine eklediğiniz takdirde örnek yer kimliklerini de dahil edebilirsiniz.

New York ilçelerindeki Yer Sayısı Tür Başına işlevinin sonuçları.

PLACES_COUNT_PER_TYPE_V2 Kullanmanın Avantajları

PLACES_COUNT_PER_TYPE_V2, özellikle eski PLACES_COUNT_PER_TYPE işleviyle karşılaştırıldığında çeşitli önemli avantajlar sunar:

  • Coğrafyaların Toplu İşlenmesi: Her seferinde bir coğrafyayı işleyen PLACES_COUNT_PER_TYPE'nin aksine, PLACES_COUNT_PER_TYPE_V2 bir TABLE giriş coğrafyası kabul eder. Bu sayede, birden fazla işlev çağrısı yapmak yerine tek bir sorguda çok sayıda coğrafi bölgedeki (noktalar, poligonlar) türe özgü sayıları analiz edebilir ve alabilirsiniz.
  • Gelişmiş Performans ve Ölçeklenebilirlik: Tablo girişi alarak PLACES_COUNT_PER_TYPE_V2, BigQuery'nin optimize edilmiş coğrafi birleştirme ve sağlanan tüm coğrafyalarda aynı anda paralel işleme özelliklerinden yararlanabilir. Bu, çok sayıda coğrafi bölgeyle çalışırken önemli performans iyileştirmeleri ve daha iyi ölçeklenebilirlik sağlar.
  • Sıfır Sayılar Dahil Edildi: Toplu işlemdeki belirli bir alanda bulunmayan türler için 0 sayısı olan satırları döndürerek tüm tür-coğrafya kombinasyonları için eksiksiz bir sonuç kümesi sağlar.