Viết truy vấn trong BigQuery

Giới thiệu về BigQuery

Matt Forrest

Field CTO

Viết truy vấn đơn giản

Một truy vấn đơn giản trong BigQuery

-- Lưu ý cấu trúc tên bảng

SELECT
    * 
FROM 
    `project.ecommerce.order_items`
Giới thiệu về BigQuery

Chạy truy vấn trong BigQuery

Có thể chạy truy vấn BigQuery qua:

  • BigQuery Studio
  • Thư viện client (ví dụ: Python)
  • Công cụ dòng lệnh Google Cloud
  • Pandas

Bảng điều khiển BigQuery

Giới thiệu về BigQuery

Dùng tên bảng đúng

-- Dùng cấu trúc tên bảng đầy đủ


SELECT
    * 
FROM 
    `project.ecommerce.ecomm_order_details`
/* Dùng dạng rút gọn 
cấu trúc tên bảng */

SELECT
    * 
FROM 
    ecommerce.ecomm_order_details
Giới thiệu về BigQuery

GoogleSQL

Tham chiếu kiểu dữ liệu cho GoogleSQL

Giới thiệu về BigQuery

Bộ dữ liệu: Olist E-Commerce

  • Orders: Số đơn và thông tin từng mặt hàng
  • Order details: Mã khách, ngày đặt và giao hàng
  • Payments: Loại thanh toán, tách khoản, số tiền
  • Products: Danh mục, mô tả, kích thước

Người cầm các kiện hàng

1 https://www.kaggle.com/datasets/olistbr/brazilian-ecommerce
Giới thiệu về BigQuery

Products

  • product_id - mã sản phẩm duy nhất
  • product_photos_qty - số ảnh sản phẩm
  • product_weight_g - khối lượng (g)
  • product_category_name_english - tên danh mục sản phẩm

Người cầm các kiện hàng

Giới thiệu về BigQuery

Orders

  • order_id - mã đơn hàng duy nhất
  • order_items - STRUCT chứa thông tin các mặt hàng
    • order_item_id - số thứ tự mặt hàng
    • product_id - mã sản phẩm duy nhất
    • seller_id - mã người bán duy nhất
    • price - giá của mặt hàng

Người cầm các kiện hàng

Giới thiệu về BigQuery

Chi tiết đơn hàng

  • order_id - mã đơn hàng duy nhất
  • customer_id - mã khách hàng duy nhất
  • order_status - trạng thái hiện tại
  • order_purchase_timestamp - thời điểm mua
  • order_approved_at - thời điểm duyệt
  • order_delivered_carrier_date - thời điểm hãng vận chuyển nhận
  • order_delivered_customer_date - thời điểm giao cho khách
  • order_estimated_delivery_date - thời điểm giao dự kiến
Giới thiệu về BigQuery

Payments

  • order_id - mã đơn hàng duy nhất
  • payment_type - loại thanh toán
  • payment_sequential - số lần thanh toán
  • payment_installments - số kỳ trả góp
  • payment_value - số tiền thanh toán

Người cầm các kiện hàng

Giới thiệu về BigQuery

Ôn tập aggregation và join

-- Số đơn theo khách hàng

SELECT
    d.customer_id,
    COUNT(o.order_id)
FROM 
    ecommerce.ecomm_order_details d
JOIN 
    ecommerce.ecomm_orders o
USING (order_id)
GROUP BY
    d.customer_id

Năm thành phần chính:

  1. Hàm tổng hợp
  2. Dataset bên trái
  3. Dataset bên phải
  4. Điều kiện join
  5. Điều kiện group
Giới thiệu về BigQuery

Ayo berlatih!

Giới thiệu về BigQuery

Preparing Video For Download...