การเขียนคิวรีใน BigQuery

BigQuery เบื้องต้น

Matt Forrest

Field CTO

การเขียนคิวรีอย่างง่าย

คิวรีพื้นฐานใน BigQuery

-- Note the table name structure

SELECT
    * 
FROM 
    `project.ecommerce.order_items`
BigQuery เบื้องต้น

การรันคิวรีใน BigQuery

รันคิวรีใน BigQuery ได้ผ่านช่องทางต่อไปนี้:

  • BigQuery Studio
  • Client libraries (เช่น Python)
  • เครื่องมือ command line ของ Google Cloud
  • Pandas

BigQuery Console

BigQuery เบื้องต้น

การใช้ชื่อตารางที่ถูกต้อง

-- Using the full table name structure


SELECT
    * 
FROM 
    `project.ecommerce.ecomm_order_details`
/* Using the shorthand 
table name structure */

SELECT
    * 
FROM 
    ecommerce.ecomm_order_details
BigQuery เบื้องต้น

GoogleSQL

ตารางอ้างอิงประเภทข้อมูลของ GoogleSQL

BigQuery เบื้องต้น

ชุดข้อมูลของเรา: Olist E-Commerce

  • Orders: หมายเลขคำสั่งซื้อและข้อมูลรายการสินค้า
  • Order details: รหัสลูกค้า วันที่สั่งซื้อและจัดส่ง
  • Payments: ประเภทการชำระเงิน การแบ่งชำระ และจำนวนเงิน
  • Products: หมวดหมู่สินค้า คำอธิบาย และขนาด

บุคคลกับพัสดุ

1 https://www.kaggle.com/datasets/olistbr/brazilian-ecommerce
BigQuery เบื้องต้น

Products

  • product_id - รหัสสินค้าที่ไม่ซ้ำกัน
  • product_photos_qty - จำนวนภาพสินค้า
  • product_weight_g - น้ำหนักสินค้า
  • product_category_name_english - ชื่อหมวดหมู่สินค้า

บุคคลกับพัสดุ

BigQuery เบื้องต้น

Orders

  • order_id - รหัสคำสั่งซื้อที่ไม่ซ้ำกัน
  • order_items - STRUCT ที่เก็บข้อมูลรายการสินค้าในคำสั่งซื้อ
    • order_item_id - ลำดับรายการในคำสั่งซื้อ
    • product_id - รหัสสินค้าที่ไม่ซ้ำกัน
    • seller_id - รหัสผู้ขายที่ไม่ซ้ำกัน
    • price - ราคาของรายการสินค้า

บุคคลกับพัสดุ

BigQuery เบื้องต้น

Order details

  • order_id - รหัสคำสั่งซื้อที่ไม่ซ้ำกัน
  • customer_id - รหัสลูกค้าที่ไม่ซ้ำกัน
  • order_status - สถานะคำสั่งซื้อปัจจุบัน
  • order_purchase_timestamp - Timestamp เมื่อสั่งซื้อ
  • order_approved_at - Timestamp เมื่ออนุมัติคำสั่งซื้อ
  • order_delivered_carrier_date - Timestamp เมื่อผู้ขนส่งรับสินค้า
  • order_delivered_customer_date - Timestamp เมื่อจัดส่งถึงลูกค้า
  • order_estimated_delivery_date - Timestamp วันที่คาดว่าจะจัดส่ง
BigQuery เบื้องต้น

Payments

  • order_id - รหัสคำสั่งซื้อที่ไม่ซ้ำกัน
  • payment_type - ประเภทการชำระเงิน
  • payment_sequential - ลำดับการชำระเงิน
  • payment_installments - จำนวนงวดการชำระ
  • payment_value - มูลค่าการชำระเงิน

บุคคลกับพัสดุ

BigQuery เบื้องต้น

ทบทวน Aggregation และ Join

-- Count of orders per customers

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

องค์ประกอบหลัก 5 ส่วน:

  1. ฟังก์ชัน Aggregate
  2. ชุดข้อมูลด้านซ้าย
  3. ชุดข้อมูลด้านขวา
  4. เงื่อนไข Join
  5. เงื่อนไขการจัดกลุ่ม
BigQuery เบื้องต้น

มาฝึกกันเถอะ!

BigQuery เบื้องต้น

Preparing Video For Download...