H3 hızlı başlangıcı (Databricks SQL)

Bu sayfada aşağıdaki H3 jeo-uzamsal işlevler hızlı başlangıç görevleri gösterilmektedir:

  • Unity Kataloğu'na coğrafi konum veri kümelerini yükleme.
  • Enlem ve boylam sütunlarını H3 hücre sütunlarına dönüştürme.
  • Posta kodu çokgen veya çok kutuplu WKT sütunlarını H3 hücre sütunlarına dönüştürme.
  • LaGuardia Havaalanı'ndan Manhattan'ın Finans Bölgesi'ne teslim alma ve bırakma analizini sorgulama.
  • Bir haritada H3 toplama sayılarını işleme.

Örnek not defterleri ve sorgular

Unity Kataloğu verilerini hazırlama

Bu not defterinde:

  • Databricks Dosya Sistemi'nden genel taksi veri kümesini ayarlayın.
  • NYC Posta Kodu veri kümesini ayarlayın.

Uyarı

NYC Posta Kodu Şekil Dosyasının indirilmesi için ücretsiz bir NYC OpenData hesabı gerekir. Kurulum not defterini çalıştırmadan önce veri kümesi sayfasında oturum açın, Shapefile dosyasını indirin ve çalışma alanınıza yükleyin. Not defterinin otomatik indirme adımı kimlik doğrulaması gerektirir.

Unity Kataloğu verilerini hazırlama

not defteri alma

Databricks Runtime 11.3 LTS veya üzeri ile Databricks SQL sorguları

Sorgu 1: Temel verilerin ayarlandığını doğrulayın. Bkz. Not Defteri.

use catalog geospatial_docs;
use database nyc_taxi;
show tables;
-- Verify initial data is setup (see instructions in setup notebook)
-- select format_number(count(*),0) as count from yellow_trip;
-- select * from nyc_zipcode;

Sorgu 2: H3 NYC Posta Kodu - çözümde h3_polyfillash312.

use catalog geospatial_docs;
use database nyc_taxi;
-- drop table if exists nyc_zipcode_h3_12;
create table if not exists nyc_zipcode_h3_12
  cluster by (cell)
as (
  select
    explode(h3_polyfillash3(geom_wkt, 12)) as cell,
    zipcode,
    po_name,
    county
  from
    nyc_zipcode
);
-- optional: compact clustered data
optimize nyc_zipcode_h3_12;
select
  *
from
  nyc_zipcode_h3_12;

Sorgu 3: H3 Taksi Yolculukları - çözümde h3_longlatash312.

use catalog geospatial_docs;
use database nyc_taxi;
-- drop table if exists yellow_trip_h3_12;
create table if not exists yellow_trip_h3_12
  cluster by (pickup_cell)
as (
  select
    h3_longlatash3(pickup_longitude, pickup_latitude, 12) as pickup_cell,
    h3_longlatash3(dropoff_longitude, dropoff_latitude, 12) as dropoff_cell,
    *
  except
    (
      rate_code_id,
      store_and_fwd_flag
    )
  from
    yellow_trip
);
-- optional: compact clustered data
-- optimize yellow_trip_h3_12;
select
  *
from
  yellow_trip_h3_12
 where pickup_cell is not null;

Sorgu 4: H3 LGA Teslim Alımları - LaGuardia'dan 25M teslim almalar (LGA)

use catalog geospatial_docs;
use database nyc_taxi;
create
or replace view lga_pickup_h3_12 as (
  select
    t.*
  except(cell),
    s.*
  from
    yellow_trip_h3_12 as s
    inner join nyc_zipcode_h3_12 as t on s.pickup_cell = t.cell
  where
    t.zipcode = '11371'
);
select
  format_number(count(*), 0) as count
from
  lga_pickup_h3_12;
-- select
  --   *
  -- from
  --   lga_pickup_h3_12;

Sorgu 5: H3 Financial District Dropoffs - Financial District'te toplam 34M düşüş

use catalog geospatial_docs;
use database nyc_taxi;
create
or replace view fd_dropoff_h3_12 as (
  select
    t.*
  except(cell),
    s.*
  from
    yellow_trip_h3_12 as s
    inner join nyc_zipcode_h3_12 as t on s.dropoff_cell = t.cell
  where
    t.zipcode in ('10004', '10005', '10006', '10007', '10038')
);
select
  format_number(count(*), 0) as count
from
  fd_dropoff_h3_12;
-- select * from fd_dropoff_h3_12;

Sorgu 6: H3 LGA-FD - LGA'dan teslim alma ile FD'de 827K bırakmalar

use catalog geospatial_docs;
use database nyc_taxi;
create
or replace view lga_fd_dropoff_h3_12 as (
  select
    *
  from
    fd_dropoff_h3_12
  where
    pickup_cell in (
      select
        distinct pickup_cell
      from
        lga_pickup_h3_12
    )
);
select
  format_number(count(*), 0) as count
from
  lga_fd_dropoff_h3_12;
-- select * from lga_fd_dropoff_h3_12;

Sorgu 7: Posta koduna göre LGA-FD - Posta kodu + çubuk grafiğe göre FD bırakmalarını sayma

use catalog geospatial_docs;
use database nyc_taxi;
select
  zipcode,
  count(*) as count
from
  lga_fd_dropoff_h3_12
group by
  zipcode
order by
  zipcode;

Sorgu 8: H3 tarafından LGA-FD - H3 hücre + harita işaretçisi görselleştirmeye göre FD bırakmalarını sayma

use catalog geospatial_docs;
use database nyc_taxi;
select
  zipcode,
  dropoff_cell,
  h3_centerasgeojson(dropoff_cell) :coordinates [0] as dropoff_centroid_x,
  h3_centerasgeojson(dropoff_cell) :coordinates [1] as dropoff_centroid_y,
  format_number(count(*), 0) as count_disp,
  count(*) as `count`
from
  lga_fd_dropoff_h3_12
group by
  zipcode,
  dropoff_cell
order by
  zipcode,
  `count` DESC;

LGA-FD H3 Sayısı 1

LGA-FD H3 Sayısı 2

Databricks Runtime 11.3 LTS veya üzeri için not defterleri

Hızlı Başlangıç-Python: H3 NYC Taxi LaGuardia'dan Manhattan'a

not defteri alma

Not Defterleri + kepler.gl içinde Spark Python bağlamalarını kullanarak Databricks SQL ile aynı hızlı başlangıç yapısı.

Hızlı Başlangıç-Scala: H3 NYC Taxi LaGuardia'dan Manhattan'a

not defteri alma

Databricks SQL ile aynı hızlı başlangıç yapısı, Not Defterleri + kepler.gl Python hücreleri aracılığıyla Spark Scala bağlamalarını kullanma.

Hızlı Başlangıç-SQL: H3 NYC Taxi LaGuardia -Manhattan

not defteri alma

Databricks SQL ile aynı hızlı başlangıç yapısı, Not Defterleri içindeki Spark SQL bağlamalarını kullanma + Python hücreleri aracılığıyla kepler.gl .