https://denny.one/bwai-2025

Denny Huang

BigQuery

BigQuery Public Datasets

FAA US Airports

Gemini in BigQuery Overview

  • Insights / 深入分析結果
  • Data Canvas / 資料畫布
  • Cloud Assist

Example

  • 哪個州有海拔最高的機場?
  • 每個州分別有多少的機場?
  • 計算各州公用機場的平均海拔

BigQuery ML

K-Means Tutorial

K-Means

K-means convergence

建立模型

CREATE OR REPLACE MODEL `faa.airport_clusters`
OPTIONS(model_type='kmeans', num_clusters=5) AS
SELECT latitude, longitude FROM `faa.us_airports`;

使用模型

SELECT
  name,
  FORMAT("%f,%f", latitude, longitude) AS location,
  centroid_id
FROM
  ML.PREDICT(MODEL `faa.airport_clusters`,
    (
    SELECT
      name,
      latitude,
      longitude
    FROM
      `faa.us_airports`));

視覺化

Looker Studio

調整欄位類型

Resources -> Manage added data source
資源 -> 管理已新增的資料來源

Vertex AI

Generate text by using a Gemini model

建立連線

授權

建立模型

CREATE OR REPLACE MODEL `faa.gemini_model`
  REMOTE WITH CONNECTION `us.llm-connection`
  OPTIONS (ENDPOINT = 'gemini-1.5-flash-002');

使用模型

WITH
  raw AS (
  SELECT
    *,
    FORMAT("%f,%f", latitude, longitude) AS location
  FROM
    ML.PREDICT(MODEL `faa.airport_clusters`,
      (
      SELECT
        *
      FROM
        `faa.us_airports`))),
  for_llm AS (
  SELECT
    centroid_id,
    CONCAT(
      '這是一群美國機場的分群。請描述這群機場的特徵,包括:主要地理位置(州別)、機場型態(例如公用或私人)、平均海拔,並指出是否有明顯共通點或趨勢。這是該群的概覽資料:',
      '\n州別:', STRING_AGG(DISTINCT state_abbreviation, ', '),
      '\n機場類型:', STRING_AGG(DISTINCT airport_type, ', '),
      '\n平均海拔:', CAST(ROUND(AVG(elevation), 2) AS STRING), ' 英尺。'
    ) AS prompt,
  FROM
    raw
  GROUP BY
    centroid_id)
SELECT
  *
FROM
  ML.GENERATE_TEXT( MODEL `faa.gemini_model`,
    (
    SELECT
      *
    FROM
      for_llm ),
    STRUCT( 0.2 AS temperature,
      2000 AS max_output_tokens,
      TRUE AS flatten_json_output))
ORDER BY
  centroid_id;

Thanks for listening



本投影片採用

創用 CC「姓名標示-相同方式分享 4.0 國際」授權條款釋出
Marp 製作

Google tag (gtag.js)