เตรียมข้อมูลด้วยตัวแทน AI ใน BigQuery Codelab

เตรียมข้อมูลด้วยตัวแทน AI ใน BigQuery Codelab

เกี่ยวกับ Codelab นี้

subjectอัปเดตล่าสุดเมื่อ เม.ย. 9, 2025
account_circleเขียนโดย Tim Bezold

1 บทนำ

ลองจินตนาการว่าคุณสามารถเตรียมข้อมูลให้พร้อมสําหรับการวิเคราะห์ได้เร็วขึ้นและมีประสิทธิภาพมากขึ้นโดยไม่ต้องเป็นผู้เชี่ยวชาญด้านการเขียนโค้ด BigQuery Data Preparation ช่วยให้คุณทำสิ่งนั้นได้ ฟีเจอร์ที่มีประสิทธิภาพนี้ช่วยให้การนำเข้า การเปลี่ยนรูปแบบ และการล้างข้อมูลง่ายขึ้น ซึ่งช่วยให้ผู้ปฏิบัติงานด้านข้อมูลทุกคนในองค์กรของคุณเตรียมข้อมูลได้

พร้อมปลดล็อกความลับที่ซ่อนอยู่ในข้อมูลผลิตภัณฑ์หรือยัง

ข้อกำหนดเบื้องต้น

  • ความเข้าใจพื้นฐานเกี่ยวกับ Google Cloud Console
  • ความเข้าใจพื้นฐานเกี่ยวกับ SQL

สิ่งที่คุณจะได้เรียนรู้

  • การเตรียมข้อมูล BigQuery สามารถล้างและเปลี่ยนรูปแบบข้อมูลดิบให้เป็นข้อมูลเชิงลึกทางธุรกิจที่นําไปใช้ได้จริงได้อย่างไร โดยใช้ตัวอย่างที่สมจริงจากอุตสาหกรรมแฟชั่นและความงาม
  • วิธีเรียกใช้และกําหนดเวลาการเตรียมข้อมูลสําหรับข้อมูลที่ล้างแล้ว

สิ่งที่ต้องมี

  • บัญชี Google Cloud และโปรเจ็กต์ Google Cloud
  • เว็บเบราว์เซอร์ เช่น Chrome

2 การตั้งค่าและข้อกําหนดเบื้องต้น

การตั้งค่าสภาพแวดล้อมด้วยตนเอง

  1. ลงชื่อเข้าใช้ Google Cloud Console แล้วสร้างโปรเจ็กต์ใหม่หรือใช้โปรเจ็กต์ที่มีอยู่ซ้ำ หากยังไม่มีบัญชี Gmail หรือ Google Workspace คุณต้องสร้างบัญชี

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • ชื่อโปรเจ็กต์คือชื่อที่แสดงสำหรับผู้เข้าร่วมโปรเจ็กต์นี้ ซึ่งเป็นสตริงอักขระที่ Google APIs ไม่ได้ใช้ คุณจะอัปเดตได้ทุกเมื่อ
  • รหัสโปรเจ็กต์จะซ้ำกันไม่ได้ในโปรเจ็กต์ Google Cloud ทั้งหมดและจะเปลี่ยนแปลงไม่ได้ (เปลี่ยนแปลงไม่ได้หลังจากตั้งค่าแล้ว) คอนโซล Cloud จะสร้างสตริงที่ไม่ซ้ำกันโดยอัตโนมัติ ซึ่งปกติแล้วคุณไม่จำเป็นต้องสนใจว่าสตริงนั้นจะเป็นอะไร ในโค้ดแล็บส่วนใหญ่ คุณจะต้องอ้างอิงรหัสโปรเจ็กต์ (ปกติจะระบุเป็น PROJECT_ID) หากไม่ชอบรหัสที่สร้างขึ้น คุณอาจสร้างรหัสอื่นแบบสุ่มได้ หรือจะลองใช้อุปกรณ์ของคุณเองเพื่อดูว่าอุปกรณ์พร้อมใช้งานหรือไม่ก็ได้ คุณจะเปลี่ยนแปลงชื่อหลังจากขั้นตอนนี้ไม่ได้ และชื่อดังกล่าวจะคงอยู่ตลอดระยะเวลาของโปรเจ็กต์
  • โปรดทราบว่ามีค่าที่ 3 ซึ่งเป็นหมายเลขโปรเจ็กต์ที่ API บางรายการใช้ ดูข้อมูลเพิ่มเติมเกี่ยวกับค่าทั้ง 3 รายการนี้ได้ในเอกสารประกอบ
  1. ถัดไป คุณจะต้องเปิดใช้การเรียกเก็บเงินใน Cloud Console เพื่อใช้ทรัพยากร/API ของ Cloud การทำตามโค้ดแล็บนี้จะไม่เสียค่าใช้จ่ายมากนัก หากต้องการปิดทรัพยากรเพื่อหลีกเลี่ยงการเรียกเก็บเงินหลังจากบทแนะนำนี้ คุณลบทรัพยากรที่สร้างไว้หรือลบโปรเจ็กต์ได้ ผู้ใช้ Google Cloud รายใหม่มีสิทธิ์เข้าร่วมโปรแกรมช่วงทดลองใช้ฟรีมูลค่า$300 USD

3 ก่อนเริ่มต้น

เปิดใช้ API

หากต้องการใช้ Gemini ใน BigQuery คุณต้องเปิดใช้ Gemini สำหรับ Google Cloud API โดยทั่วไปผู้ดูแลระบบบริการหรือเจ้าของโปรเจ็กต์ที่มีserviceusage.services.enableสิทธิ์ IAM จะเป็นผู้ดำเนินการขั้นตอนนี้

  1. หากต้องการเปิดใช้ Gemini for Google Cloud API ให้ไปที่หน้า Gemini for Google Cloud ใน Google Cloud Marketplace ไปที่ Gemini สำหรับ Google Cloud
  2. เลือกโปรเจ็กต์ในเครื่องมือเลือกโปรเจ็กต์
  3. คลิกเปิดใช้ หน้าเว็บจะอัปเดตและแสดงสถานะเป็นเปิดใช้ ตอนนี้ Gemini ใน BigQuery พร้อมให้บริการในโปรเจ็กต์ Google Cloud ที่เลือกสำหรับผู้ใช้ทุกคนที่มีสิทธิ์ IAM ที่จำเป็นแล้ว

ตั้งค่าบทบาทและสิทธิ์เพื่อพัฒนาการเตรียมข้อมูล

  1. ใน IAM และผู้ดูแลระบบ ให้เลือก IAM

4477412d79f29e0b.png

  1. เลือกผู้ใช้แล้วคลิกไอคอนดินสอเพื่อ "แก้ไขผู้ใช้หลัก"

5eb558e04ad12362.png

หากต้องการใช้การเตรียมข้อมูล BigQuery คุณจะต้องมีบทบาทและสิทธิ์ต่อไปนี้

4 การค้นหาและการติดตามรายการ "การสาธิตการเตรียมข้อมูล bq" ในฮับข้อมูลวิเคราะห์ของ BigQuery

เราจะใช้ชุดข้อมูล bq data preparation demo ในบทแนะนํานี้ ซึ่งเป็นชุดข้อมูลที่ลิงก์ใน BigQuery Analytics Hub ที่เราจะอ่าน

การเตรียมข้อมูลจะไม่เขียนกลับไปยังแหล่งที่มา และเราจะขอให้คุณกําหนดตารางปลายทางที่จะเขียน ตารางที่เราจะใช้ในการฝึกนี้จะมีเพียง 1,000 แถวเพื่อประหยัดค่าใช้จ่าย แต่การเตรียมข้อมูลจะทํางานใน BigQuery และจะปรับขนาดไปพร้อมๆ กัน

ทําตามขั้นตอนต่อไปนี้เพื่อค้นหาและติดตามชุดข้อมูลที่ลิงก์

  1. เข้าถึง Analytics Hub: ในคอนโซล Google Cloud ให้ไปที่ BigQuery
  2. ในเมนูการนำทางของ BigQuery ให้เลือก "Analytics Hub" ในส่วน "การกํากับดูแล"

6ddfac4dd863ca7b.png

  1. ค้นหาข้อมูล: ใน UI ของ Analytics Hub ให้คลิกค้นหาข้อมูล"
  2. พิมพ์ bq data preparation demo ในแถบค้นหา แล้วกด Enter

7e0cb82b80174cdc.png

  1. ติดตามข้อมูล: เลือกข้อมูล bq data preparation demo จากผลการค้นหา
  2. คลิกปุ่มติดตามในหน้ารายละเอียดข้อมูล
  3. ตรวจสอบกล่องโต้ตอบการยืนยันและอัปเดตโปรเจ็กต์/ชุดข้อมูล หากจำเป็น ค่าเริ่มต้นควรถูกต้อง

2ef0ac1e3557f2f9.png

  1. เข้าถึงชุดข้อมูลใน BigQuery: เมื่อสมัครใช้บริการเรียบร้อยแล้ว ชุดข้อมูลภายในข้อมูลจะลิงก์กับโปรเจ็กต์ BigQuery

กลับไปที่ BigQuery Studio

5 สํารวจข้อมูลและเริ่มการเตรียมข้อมูล

  1. ค้นหาชุดข้อมูลและตาราง: ในแผง Explorer ให้เลือกโปรเจ็กต์ แล้วค้นหาชุดข้อมูลที่อยู่ในรายการ bq data preparation demo เลือกตาราง stg_product
  2. เปิดในการเตรียมข้อมูล: คลิกจุดแนวตั้ง 3 จุดข้างชื่อตาราง แล้วเลือก Open in Data Preparation

ซึ่งจะเปิดตารางในอินเทอร์เฟซการเตรียมข้อมูลเพื่อให้คุณเริ่มเปลี่ยนรูปแบบข้อมูลได้

76ace3d4b5cfc2d0.png

ดังที่คุณเห็นในตัวอย่างข้อมูลด้านล่าง เราพบปัญหาด้านข้อมูลบางอย่างที่เราจะจัดการ ซึ่งได้แก่

  • คอลัมน์ราคามีทั้งจำนวนเงินและสกุลเงิน ทำให้การวิเคราะห์ทำได้ยาก
  • คอลัมน์ผลิตภัณฑ์จะรวมชื่อและหมวดหมู่ผลิตภัณฑ์ไว้ด้วยกัน (คั่นด้วยสัญลักษณ์ไปป์ |)

f4d93aa59a56447a.png

Gemini จะวิเคราะห์ข้อมูลและแนะนําการเปลี่ยนรูปแบบหลายรายการทันที ในตัวอย่างนี้ เราเห็นคําแนะนําจํานวนหนึ่ง ในขั้นตอนถัดไป เราจะใช้ข้อมูลที่จำเป็น

fd4d14e4fa3c31c1.png

6 การจัดการคอลัมน์ราคา

มาจัดการกับคอลัมน์ราคากัน ดังที่เราเห็น ข้อมูลนี้มีทั้งสกุลเงินและจำนวนเงิน เป้าหมายของเราคือแยกข้อมูลเหล่านี้ออกเป็น2 คอลัมน์ ได้แก่ สกุลเงินและจำนวนเงิน

Gemini พบคําแนะนําหลายรายการสําหรับคอลัมน์ราคา

  1. ค้นหาคําแนะนําที่ระบุว่า "คุณอาจสนใจ"

คําอธิบาย: "นิพจน์นี้จะนํา "USD" นําหน้าออกจากช่องที่ระบุ"

REGEXP_REPLACE(Price,` `r'^USD\s',` `r'')
  1. เลือก "แสดงตัวอย่าง"

c9327cfbd32247d6.png

  1. เลือก "ใช้"

ต่อไปสำหรับคอลัมน์ Price ให้แปลงประเภทข้อมูลจาก STRING เป็น NUMERIC

  1. ค้นหาคําแนะนําที่ระบุว่า "คุณอาจสนใจ"

คําอธิบาย: "แปลงคอลัมน์ราคาจากสตริงประเภทเป็น float64"

SAFE_CAST(Price AS float64)
  1. เลือก "ใช้"

ตอนนี้คุณควรเห็นขั้นตอนที่ใช้ 3 ขั้นตอนในรายการขั้นตอน

d3359af47dce0c15.png

7 การจัดการคอลัมน์ผลิตภัณฑ์

คอลัมน์ผลิตภัณฑ์มีทั้งชื่อและหมวดหมู่ผลิตภัณฑ์ โดยคั่นด้วยเครื่องหมายทับ (|)

แม้ว่าเราจะใช้ภาษาที่เป็นธรรมชาติอีกครั้งได้ แต่เรามาสำรวจฟีเจอร์ที่มีประสิทธิภาพอีกอย่างหนึ่งของ Gemini กัน

ล้างชื่อผลิตภัณฑ์

  1. เลือกส่วนหมวดหมู่ของรายการผลิตภัณฑ์ที่มีอักขระ | แล้วลบออก

5171d598a8cb3a75.png

Gemini จะจดจํารูปแบบนี้อย่างชาญฉลาดและแนะนําการเปลี่ยนรูปแบบที่จะนําไปใช้กับทั้งคอลัมน์

  1. เลือก "แก้ไข"

b36cac918b4f30e9.png

คําแนะนําของ Gemini นั้นตรงประเด็นมาก เนื่องจากจะนําทุกอย่างที่อยู่หลังอักขระ "|" ออก ซึ่งแยกชื่อผลิตภัณฑ์ได้อย่างมีประสิทธิภาพ

แต่ครั้งนี้เราไม่ต้องการเขียนทับข้อมูลเดิม

  1. ในเมนูแบบเลื่อนลงของคอลัมน์เป้าหมาย ให้เลือก "สร้างคอลัมน์ใหม่"
  2. ตั้งชื่อเป็น ProductName

bda19e0e5e536ccd.png

  1. แสดงตัวอย่างการเปลี่ยนแปลงเพื่อให้แน่ใจว่าทุกอย่างดูเรียบร้อยดี
  2. ใช้การเปลี่ยนรูปแบบ

ดึงข้อมูลหมวดหมู่ผลิตภัณฑ์

เราจะใช้ภาษาที่เป็นธรรมชาติเพื่อสั่งให้ Gemini ดึงคำหลังเครื่องหมายทับ (|) ในคอลัมน์ผลิตภัณฑ์ ระบบจะเขียนทับค่าที่ดึงมานี้ลงในคอลัมน์ที่มีอยู่แล้วชื่อ "ผลิตภัณฑ์"

  1. คลิก Add Step เพื่อเพิ่มขั้นตอนการเปลี่ยนรูปแบบใหม่

77944047e698494c.png

  1. เลือก Transformation จากเมนูแบบเลื่อนลง
  2. ในช่องพรอมต์ภาษาธรรมชาติ ให้ป้อน "ดึงคำหลังเครื่องหมายทับ (|) ในคอลัมน์ผลิตภัณฑ์" จากนั้นกด Enter เพื่อสร้าง SQL

82efc2447a3210bd.png

  1. ปล่อยคอลัมน์เป้าหมายเป็น "ผลิตภัณฑ์"
  2. คลิกใช้

การเปลี่ยนรูปแบบควรให้ผลลัพธ์ดังต่อไปนี้

d741c66d9e0e8e00.png

8 การรวมเพื่อเพิ่มคุณค่าให้กับข้อมูล

บ่อยครั้งที่คุณต้องการเพิ่มคุณค่าให้กับข้อมูลด้วยข้อมูลจากแหล่งที่มาอื่นๆ ในตัวอย่างนี้ เราจะรวมข้อมูลผลิตภัณฑ์เข้ากับแอตทริบิวต์ผลิตภัณฑ์แบบขยาย stg_extended_product จากตารางของบุคคลที่สาม ตารางนี้จะมีรายละเอียดต่างๆ เช่น แบรนด์และวันที่เปิดตัว

  1. คลิก Add Step
  2. เลือก Join
  3. เรียกดูตาราง stg_extended_product

dca14451c3fbc7f0.png

Gemini ใน BigQuery เลือกคีย์การผนวก productid ให้เราโดยอัตโนมัติ และกำหนดด้านซ้ายและด้านขวาให้ถูกต้องเนื่องจากชื่อคีย์เหมือนกัน

หมายเหตุ: ตรวจสอบว่าช่องคำอธิบายระบุว่า "เข้าร่วมตาม productid" หากมีคีย์การรวมเพิ่มเติม ให้เขียนทับช่องคําอธิบายเป็น "การรวมตาม productid" แล้วเลือกปุ่มสร้างในช่องคําอธิบายเพื่อสร้างนิพจน์การรวมอีกครั้งด้วยเงื่อนไข L

productid

= R

productid 4d6dbfea28772f34.png

  1. (ไม่บังคับ) เลือก "แสดงตัวอย่าง" เพื่อดูตัวอย่างผลลัพธ์
  2. คลิก Apply

การล้างข้อมูลแอตทริบิวต์เพิ่มเติม

แม้ว่าการรวมจะสำเร็จ แต่ข้อมูลแอตทริบิวต์เพิ่มเติมต้องได้รับการล้างข้อมูล คอลัมน์ LaunchDate มีรูปแบบวันที่ไม่สอดคล้องกันและคอลัมน์ Brand มีบางค่าที่ขาดหายไป

เราจะเริ่มต้นด้วยการพูดถึงคอลัมน์ LaunchDate

f9b570d7c2d3a98d.png

โปรดอ่านคําแนะนําของ Gemini ก่อนที่จะสร้างการเปลี่ยนรูปแบบ

  1. คลิกชื่อคอลัมน์ LaunchDate คุณควรเห็นคําแนะนําที่สร้างขึ้นซึ่งคล้ายกับในรูปภาพด้านล่าง

62b6e6027a46ba75.png

  1. หากคุณเห็นคําแนะนําที่มี SQL ต่อไปนี้ ให้ใช้คําแนะนําและข้ามขั้นตอนถัดไป
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
  1. หากไม่เห็นคําแนะนําที่ตรงกับ SQL ด้านบน ให้คลิก Add Step
  2. เลือก Transformation
  3. ป้อนข้อมูลต่อไปนี้ในช่อง SQL
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
  1. ตั้งค่า Target Columns เป็น LaunchDate
  2. คลิก Apply

ตอนนี้คอลัมน์ LaunchDate มีรูปแบบวันที่ที่สอดคล้องกัน

ccf34aa05754a834.png

9 การเพิ่มตารางปลายทาง

ตอนนี้ชุดข้อมูลของเราสะอาดและพร้อมที่จะโหลดลงในตารางมิติข้อมูลในคลังข้อมูลแล้ว

  1. คลิก ADD STEP
  2. เลือก Destination
  3. กรอกพารามิเตอร์ที่จําเป็น: ชุดข้อมูล: bq_data_preparation_demo ตาราง: DimProduct
  4. คลิก Save

79fdc3666a3a21b9.png

ตอนนี้เราทํางานกับแท็บ "ข้อมูล" และ "สคีมา" แล้ว นอกเหนือจากนี้ การเตรียมข้อมูล BigQuery ยังมีมุมมอง "กราฟ" ที่แสดงลําดับขั้นตอนการเปลี่ยนรูปแบบในไปป์ไลน์ด้วยภาพ

95e64d8152228f7b.png

10 พิเศษ ก: การจัดการคอลัมน์ผู้ผลิตและการสร้างตารางข้อผิดพลาด

เรายังพบค่าว่างในคอลัมน์ Manufacturer ด้วย สำหรับระเบียนเหล่านี้ เราต้องการใช้การตรวจสอบคุณภาพข้อมูลและย้ายระเบียนไปยังตารางข้อผิดพลาดเพื่อตรวจสอบเพิ่มเติม

สร้างตารางข้อผิดพลาด

  1. คลิกปุ่ม More ข้างชื่อ stg_product data preparation
  2. เลือก Error Table ในส่วน Setting
  3. เลือกช่อง Enable error table แล้วกำหนดค่าดังนี้
  • ชุดข้อมูล: เลือก bq_data_preparation_demo
  • ตาราง: ป้อน err_dataprep
  • เลือก 30 days (default) ในส่วน Define duration for keeping errors
  1. คลิก Save

adb5722f05c1b205.png

ตั้งค่าการตรวจสอบในคอลัมน์ผู้ผลิต

  1. เลือกคอลัมน์ผู้ผลิต
  2. Gemini มีแนวโน้มที่จะระบุการเปลี่ยนรูปแบบที่เกี่ยวข้อง ค้นหาคําแนะนําที่เก็บเฉพาะแถวที่ช่องผู้ผลิตไม่ว่างเปล่า โดยจะมี SQL คล้ายกับตัวอย่างต่อไปนี้
Manufacturer IS NOT NULL

2. คลิกปุ่ม "แก้ไข" ในคําแนะนํานี้เพื่อตรวจสอบ

4749b551a03d8193.png

  1. เลือกตัวเลือก "แถวที่ตรวจสอบไม่ผ่านจะไปยังตารางข้อผิดพลาด" หากยังไม่ได้เลือก
  2. คลิก Apply

คุณสามารถตรวจสอบ แก้ไข หรือลบการเปลี่ยนรูปแบบที่ใช้ได้ทุกเมื่อโดยคลิกปุ่ม "ขั้นตอนที่ใช้"

15df6caacbdd6a69.png

ล้างข้อมูลคอลัมน์ ProductID_1 ที่ซ้ำกัน

ตอนนี้คุณสามารถลบคอลัมน์ ProductID_1 ซึ่งซ้ำกับ ProductID จากตารางที่เข้าร่วมได้แล้ว

  1. ไปที่แท็บ Schema
  2. คลิกจุด 3 จุดข้างคอลัมน์ ProductID_1
  3. คลิก Drop

ตอนนี้เราพร้อมที่จะเรียกใช้งานการเตรียมข้อมูลและตรวจสอบไปป์ไลน์ทั้งหมดแล้ว เมื่อพอใจกับผลลัพธ์แล้ว เราจะตั้งเวลาให้งานทํางานโดยอัตโนมัติได้

  1. บันทึกการเตรียมข้อมูลก่อนออกจากมุมมองการเตรียมข้อมูล คุณจะเห็นปุ่ม Save ข้างชื่อ stg_product data preparation คลิกปุ่มเพื่อบันทึก

11 ล้างสภาพแวดล้อม

  • ลบ stg_product data preparation
  • ลบชุดข้อมูล bq data preparation demo

12 ขอแสดงความยินดี

ขอแสดงความยินดีที่ทํา Codelab จนเสร็จสมบูรณ์

สิ่งที่เราได้พูดถึง

  • การตั้งค่าการจัดเตรียมข้อมูล
  • การเปิดตารางและไปยังส่วนต่างๆ ของการเตรียมข้อมูล
  • การแยกคอลัมน์ที่มีข้อมูลตัวเลขและคำอธิบายหน่วย
  • การใช้รูปแบบวันที่ที่เป็นมาตรฐาน
  • กำลังเตรียมข้อมูล