เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การ Query ข้อมูลในอดีตด้วย Time Travel

งาน batch ที่รันข้ามคืนของ Snowy Peak ได้โหลดข้อมูลบัญชีที่ถูกยกเลิก 2 รายการเข้าสู่ตาราง subscriptions ทีมข้อมูลต้องการเปรียบเทียบจำนวนแถวปัจจุบันกับจำนวนแถวก่อนที่ batch จะรัน ฟีเจอร์ Time Travel ของ Snowflake ช่วยให้ทำสิ่งนี้ได้โดยไม่ต้องพึ่งการสำรองข้อมูลภายนอก

ตาราง snowy_peak.subscriptions มีคอลัมน์ได้แก่ subscription_id, user_email, plan, status, start_date และ monthly_fee ตัวแปร session $snapshot_ts เก็บ timestamp ที่บันทึกไว้ก่อนที่ batch update จะรัน

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Snowflake Architecture

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ใช้ AT (TIMESTAMP => ...) เพื่อ query ตาราง snowy_peak.subscriptions ณ สถานะก่อนที่ batch update จะรัน โดยใช้ตัวแปร session $snapshot_ts เป็น timestamp
  • นับจำนวนแถวในชื่อ pre_update_count เพื่อยืนยันว่ามี subscription อยู่กี่รายการก่อนที่บัญชีที่ถูกยกเลิก 2 รายการจะถูกเพิ่มเข้ามา

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

-- Count subscriptions before the overnight batch update
SELECT COUNT(*) AS pre_update_count
FROM snowy_peak.subscriptions
AT (___ => ___);
แก้ไขและรันโค้ด