การไปยังส่วนต่างๆ ของ BigQuery UI และการสำรวจข้อมูล Codelab

1. บทนำ

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

ในแล็บนี้ คุณจะได้ค้นพบความเป็นไปได้ในการวิเคราะห์ของ BigQuery คุณจะได้เรียนรู้วิธีนำเข้าชุดข้อมูลจาก Bucket ของ Google Cloud Storage และทำความเข้าใจ UI ของ BigQuery โดยการทำงานกับชุดข้อมูลการธนาคารค้าปลีก นอกจากนี้ Lab นี้จะสอนวิธีค้นหาฟีเจอร์หลักใน BigQuery ที่ช่วยให้การวิเคราะห์ในแต่ละวันง่ายขึ้นมาก เช่น การส่งออกผลการค้นหาในสเปรดชีต การดูและเรียกใช้การค้นหาจากประวัติการค้นหา การดูประสิทธิภาพการค้นหา และการสร้างมุมมองตารางเพื่อให้ทีมและแผนกอื่นๆ ใช้งาน

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

ในแล็บนี้ คุณจะได้เรียนรู้วิธีทำงานต่อไปนี้

  • การโหลดข้อมูลใหม่ลงใน BigQuery
  • ทำความคุ้นเคยกับ BigQuery UI
  • การเรียกใช้การค้นหาใน BigQuery
  • ดูประสิทธิภาพของคำค้นหา
  • การสร้างมุมมองใน BigQuery
  • แชร์ชุดข้อมูลกับผู้อื่นอย่างปลอดภัย

2. ข้อมูลเบื้องต้น: ทำความเข้าใจ UI ของ BigQuery

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

กำลังโหลด UI ของ BQ

  1. พิมพ์ "BigQuery" ที่ด้านบนของคอนโซล Google Cloud Platform
  2. เลือก BigQuery จากรายการตัวเลือก อย่าลืมเลือกตัวเลือกที่มีโลโก้ BigQuery ซึ่งเป็นรูปแว่นขยาย

การดูชุดข้อมูลและการเรียกใช้การค้นหา

ee95ce13969ee1ad.png

  1. คลิกโปรเจ็กต์ BigQuery ในแผงด้านซ้ายในส่วนทรัพยากร
  2. คลิก bq_demo เพื่อดูตารางในชุดข้อมูลนั้น
  3. ในช่องพิมพ์เพื่อค้นหา ให้พิมพ์ "การ์ด" เพื่อดูรายการตารางและชุดข้อมูลที่มีคำว่า "การ์ด" ในชื่อ
  4. เลือกตาราง "card_transactions" จากรายการผลการค้นหา

beb6ff6ca2930125.png

  1. คลิกแท็บรายละเอียดในส่วนcard_transactionsเพื่อดูข้อมูลเมตาของตารางนี้
  2. คลิกแท็บแสดงตัวอย่างเพื่อดูตัวอย่างตาราง

[ประเด็นการแข่งขัน]: การผสานรวมกับแคตตาล็อกข้อมูลของ Google หมายความว่าคุณสามารถจัดการข้อมูลเมตาของ BigQuery พร้อมกับแหล่งข้อมูลอื่นๆ เช่น Data Lake หรือแหล่งข้อมูลการดำเนินงาน นี่เป็นตัวอย่างหนึ่งที่แสดงให้เห็นว่า Google Cloud ไม่ใช่แค่คลังข้อมูลเชิงสัมพันธ์ แต่เป็นแพลตฟอร์มข้อมูลวิเคราะห์ทั้งหมด

  1. คลิกไอคอนแว่นขยายเพื่อค้นหาตาราง "card_transactions" ระบบจะป้อนข้อความที่สร้างขึ้นโดยอัตโนมัติลงในตัวแก้ไขคำค้นหา BigQuery
  2. ป้อนรหัสด้านล่างเพื่อแสดงผู้ขายที่ไม่ซ้ำกันจากตาราง Card_Transactions
SELECT distinct (merchant) FROM bq_demo.card_transactions LIMIT 1000
  1. คลิกปุ่มเรียกใช้เพื่อเรียกใช้การค้นหา

35113542e7ec6fa6.png

3. การสร้างชุดข้อมูลและการแชร์มุมมอง

การแชร์ข้อมูลและการกำกับดูแลเป็นสิ่งสำคัญ ซึ่งสามารถทำได้อย่างง่ายดายใน UI ของ BQ ในส่วนนี้ คุณจะได้เรียนรู้วิธีสร้างชุดข้อมูลใหม่ ป้อนข้อมูลด้วยมุมมอง และแชร์ชุดข้อมูลนั้น

การดูประวัติการค้นหา

  1. คลิก "ประวัติการค้นหา" ในแผงด้านซ้ายของคอนโซล GCP
  2. คลิกรีเฟรชในแผงประวัติการค้นหา
  3. คลิกรูปภาพ/ลูกศรดาวน์โหลดทางด้านขวาสุดของคำค้นหาเพื่อดูผลลัพธ์ของคำค้นหา

6e3232ed96f647b8.png

การสร้างชุดข้อมูลใหม่

  1. เลือก [ชื่อโปรเจ็กต์] ในแผงทรัพยากรของ UI ของ BigQuery
  2. เลือก "สร้างชุดข้อมูลใหม่" จากแผงข้อมูลโปรเจ็กต์
  3. สำหรับรหัสชุดข้อมูล

bq_demo_shared

  1. ปล่อยให้ช่องอื่นๆ ทั้งหมดเป็นค่าเริ่มต้น
  2. คลิก "สร้างชุดข้อมูล"

b433eba38f55124f.png dd774aca416e7fbc.png

การสร้างฟีเจอร์มุมมอง

[ประเด็นการแข่งขัน]: BigQuery เป็นไปตาม ANSI SQL อย่างสมบูรณ์ และรองรับทั้งการรวมหลายตารางแบบง่ายและซับซ้อน รวมถึงฟังก์ชันการวิเคราะห์ที่หลากหลาย เราได้เปิดตัวการรองรับประเภทข้อมูลและฟังก์ชัน SQL ทั่วไปที่ใช้ในคลังข้อมูลแบบดั้งเดิมอย่างต่อเนื่องเพื่ออำนวยความสะดวกในกระบวนการย้ายข้อมูล

  1. เลือก "เขียนคำค้นหาใหม่" ที่ด้านบนของแผงเครื่องมือแก้ไขคำค้นหา
  2. แทรกโค้ดต่อไปนี้ในตัวแก้ไขคำค้นหา
WITH revenue_by_month AS (
SELECT
    card.type AS card_type,
    FORMAT_DATE('%Y-%m', trans_date) as revenue_date,
    SUM(amount) as revenue
FROM bq_demo.card_transactions
JOIN bq_demo.card ON card_transactions.cc_number = card.card_number
WHERE trans_date  DATE_ADD(CURRENT_DATE, INTERVAL -1 YEAR)
GROUP BY card_type, revenue_date
)
SELECT
    card_type,
    revenue_date,
    revenue as monthly_rev,
    revenue -  LAG(revenue) OVER (ORDER BY card_type, revenue_date ASC) as rev_change
FROM revenue_by_month
ORDER BY card_type, revenue_date ASC;
  1. คลิก "บันทึกมุมมอง"
  2. เลือกโปรเจ็กต์ปัจจุบันสำหรับชื่อโปรเจ็กต์
  3. เลือกชุดข้อมูลที่สร้างใหม่

bq_demo_shared

  1. สำหรับชื่อตาราง ให้ทำดังนี้

rev_change_by_card_type

  1. คลิกบันทึก

4b111056b544c27d.png

การแชร์มุมมองและชุดข้อมูล

  1. เลือกชุดข้อมูล "bq_demo_shared" จากแผงทรัพยากรด้านซ้ายใน UI ของ BigQuery
  2. คลิก "แชร์ชุดข้อมูล" จากแผงข้อมูลชุดข้อมูล
  3. ป้อนอีเมล
  4. เลือก "ผู้ดูข้อมูล BigQuery" จากเมนูแบบเลื่อนลงของบทบาท
  5. คลิก "เพิ่ม"
  6. คลิกเสร็จสิ้น

1c04b6b5ebc191dc.png

สำรวจข้อมูลในชีต

[ประเด็นการแข่งขัน]: อีกข้อดีของ BigQuery เมื่อเทียบกับคู่แข่งคือ BI Engine คุณใช้ BI Engine เพื่อให้การค้นหาสรุปประเภท BI แสดงผลได้ภายในไม่ถึง 1 วินาทีผ่านเครื่องมือแคชในหน่วยความจำ ปัจจุบัน Google Data Studio รองรับการดำเนินการนี้ แต่จะพร้อมใช้งานในเร็วๆ นี้เพื่อเร่งการค้นหาทั้งหมดใน BigQuery

เช่น

Snowflake ใช้เครื่องมือ BI ของบุคคลที่สามสำหรับแดชบอร์ดและการแสดงข้อมูลด้วยภาพ ขณะที่ GCP มีเครื่องมือ BI แบบผสานรวมมากมาย รวมถึงชีตที่เชื่อมต่อ, Data Studio และ Looker

  1. เลือกมุมมอง "rev_change_by_card_type" จากแผงทรัพยากรด้านซ้ายใน UI ของ BigQuery
  2. คลิกแว่นขยาย เพื่อค้นหามุมมอง 255be22b0eaf339.png
  3. ประเภท:

SELECT *

FROM bq_demo_shared.rev_change_by_card_type

  1. คลิกเรียกใช้
  2. คลิกไอคอน "ส่งออก" จากแผงผลลัพธ์
  3. เลือก "สำรวจข้อมูลด้วยชีต"

9617b522025fd337.png

  1. คลิก"เริ่มวิเคราะห์"
  2. เลือก "Pivot Table"
  3. เลือก "ชีตใหม่"
  4. คลิก "สร้าง"
  5. เพิ่ม "revenue_date" ในส่วนแถวของเครื่องมือแก้ไขตาราง Pivot ซึ่งอยู่ทางด้านขวาของหน้าต่างชีต
  6. เพิ่ม "card_type" ในส่วนคอลัมน์ของเครื่องมือแก้ไขตาราง Pivot
  7. เพิ่ม "monthly_rev" ในส่วนคอลัมน์ของเครื่องมือแก้ไขตาราง Pivot
  8. คลิก ใช้

48e67c2e04965796.png

  1. ไปที่ริบบิ้นด้านบนของ UI ของชีต แล้วเลือกแทรก แผนภูมิ

4. การตั้งค่า: การผสานรวมข้อมูล

ในส่วนนี้ คุณจะได้เรียนรู้วิธีสร้างตารางใหม่และดำเนินการ JOIN ในชุดข้อมูลสาธารณะจำนวนมากชุดใดชุดหนึ่งที่ Google Cloud มีให้บริการ

[ประเด็นในการสนทนาเกี่ยวกับการแข่งขัน]:

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

BigQuery รองรับ Data Lake ใน GCS ผ่านการใช้ตารางภายนอก นอกจากนี้ BigQuery ยังรองรับความสามารถในการสตรีมข้อมูลลงในฐานข้อมูลในอัตราหลายร้อยเมกะไบต์ต่อวินาทีอีกด้วย Snowflake ไม่รองรับข้อมูลการสตรีม

การนำเข้าข้อมูลไปยังตารางใหม่

  1. เลือกชุดข้อมูล bq_demo ในแผงทรัพยากร
  2. ในแผงข้อมูลชุดข้อมูล ให้เลือก "สร้างตาราง"
  3. เลือก Google Cloud Storage เป็นแหล่งที่มา
  4. ในกล่องข้อความเส้นทางไฟล์ ให้ทำดังนี้

gs://retail-banking-looker/district

  1. เลือก CSV สำหรับรูปแบบไฟล์
  2. ป้อน "district" สำหรับชื่อตาราง
  3. เลือกช่องทำเครื่องหมายสำหรับสคีมาตรวจหาอัตโนมัติ
  4. คลิกสร้างตาราง

การค้นหาชุดข้อมูลสาธารณะ

  1. ป้อนคำค้นหาต่อไปนี้ในตัวแก้ไขคำค้นหา
SELECT
    CAST(geo_id as STRING) AS zip_code,
    total_pop,
    median_age,
    households,
    income_per_capita,
    housing_units,
    vacant_housing_units_for_sale,
    ROUND(SAFE_DIVIDE(employed_pop, pop_16_over),4) AS rate_employment,
    ROUND(SAFE_DIVIDE(bachelors_degree_or_higher_25_64, pop_25_64),4) AS rate_bachelors_degree_or_higher_25_64
  FROM
    `bigquery-public-data.census_bureau_acs.zip_codes_2017_5yr`;
  1. คลิกเรียกใช้
  2. ดูผลลัพธ์

dff40709db70d75.png

  1. ตอนนี้เราจะรวมข้อมูลสาธารณะนี้เข้ากับคำค้นหาอื่น ป้อนโค้ด SQL ต่อไปนี้ในตัวแก้ไขคำค้นหา
WITH customer_counts AS (
    select regexp_extract(address, "[0-9][0-9][0-9][0-9][0-9]") as zip_code, 
    count(*) as num_clients
    FROM bq_demo.client
    GROUP BY zip_code
    )
SELECT 
    CAST(geo_id as STRING) AS zip_code,
    total_pop,
    median_age,
    households,
    income_per_capita,
    ROUND(SAFE_DIVIDE(employed_pop, pop_16_over),4) AS rate_employment,
    num_clients
FROM
    `bigquery-public-data.census_bureau_acs.zip_codes_2017_5yr`
JOIN customer_counts on zip_code = geo_id
ORDER BY num_clients DESC
  1. คลิกเรียกใช้
  2. ดูผลลัพธ์

b853ad571e7a3038.png

5. การจัดการความจุ

การทำงานกับช่วงเวลาและข้อมูลการจอง

BQ มีรูปแบบการกำหนดราคาหลายแบบเพื่อตอบสนองความต้องการของคุณ ลูกค้าขนาดใหญ่ส่วนใหญ่ใช้ราคาเหมาจ่ายเป็นหลักเพื่อให้ได้ราคาที่คาดการณ์ได้พร้อมความจุที่สงวนไว้ สำหรับการเพิ่มความจุเกินกว่าความจุพื้นฐานนั้น BQ มีสล็อตแบบยืดหยุ่นซึ่งช่วยให้คุณเพิ่มความจุเพิ่มเติมได้ทันที จากนั้นระบบจะลดความจุกลับโดยอัตโนมัติโดยไม่ส่งผลต่อการค้นหาที่กำลังทำงานอยู่ นอกจากนี้ BQ ยังมีรูปแบบการสแกนไบต์ซึ่งช่วยให้คุณจ่ายเฉพาะค่าคำค้นหาที่เรียกใช้เท่านั้น

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

  1. ไปที่แท็บการจอง

964f4ab78d35d067.png

  1. คลิก "ซื้อสล็อต"

c8cb5ee61bbea814.png

  1. เลือก "ยืดหยุ่น" เป็นระยะเวลา
  2. เลือก 500 สล็อต
  3. ยืนยันการซื้อ

d615f5908dffc1ee.png

  1. คลิกดูสัญญาผูกมัดสล็อต
  2. คลิก "สร้างการจอง"
  3. ผู้ใช้ "demo" เป็นชื่อการจอง
  4. เลือกสหรัฐอเมริกาเป็นสถานที่
  5. พิมพ์ 500 สำหรับสล็อต (ทั้งหมดพร้อมใช้งาน)
  6. คลิกงาน
  7. เลือกโปรเจ็กต์ปัจจุบันสำหรับโปรเจ็กต์ขององค์กร
  8. เลือก "demo" สำหรับรหัสการจอง
  9. คลิกสร้าง"