เกี่ยวกับ Codelab นี้
1 บทนำ
BigQuery คือฐานข้อมูลการวิเคราะห์ต้นทุนต่ำที่มีการจัดการของ Google อย่างเต็มรูปแบบ เมื่อใช้ BigQuery คุณจะค้นหาข้อมูลนับเทราไบต์ได้โดยไม่ต้องใช้ผู้ดูแลระบบฐานข้อมูลหรือโครงสร้างพื้นฐานใดๆ จัดการ BigQuery ใช้ SQL ที่คุ้นเคยและรูปแบบการชาร์จแบบจ่ายเท่าที่คุณใช้ BigQuery ช่วยให้คุณมุ่งเน้นไปที่การวิเคราะห์ข้อมูลเพื่อหาข้อมูลเชิงลึกที่สำคัญได้
ใน Codelab นี้ คุณจะเห็นวิธีค้นหาชุดข้อมูลสาธารณะของ GitHub ซึ่งเป็นหนึ่งในชุดข้อมูลสาธารณะที่มีอยู่ใน BigQuery
สิ่งที่คุณจะได้เรียนรู้
- วิธีใช้ BigQuery
- วิธีเขียนการค้นหาเพื่อรับข้อมูลเชิงลึกเกี่ยวกับชุดข้อมูลขนาดใหญ่
สิ่งที่คุณต้องมี
2 ตั้งค่า
เปิดใช้ BigQuery
หากยังไม่มีบัญชี Google (Gmail หรือ Google Apps) คุณต้องสร้างบัญชีก่อน
- ลงชื่อเข้าใช้คอนโซล Google Cloud Platform ( console.cloud.google.com) และไปที่ BigQuery นอกจากนี้คุณยังเปิด UI เว็บของ BigQuery ได้โดยตรงโดยการป้อน URL ต่อไปนี้ในเบราว์เซอร์ของคุณ
https://console.cloud.google.com/bigquery
- ยอมรับข้อกำหนดในการให้บริการ
- คุณต้องสร้างโปรเจ็กต์ก่อนจึงจะใช้ BigQuery ได้ ทำตามข้อความแจ้งเพื่อสร้างโปรเจ็กต์ใหม่
เลือกชื่อโปรเจ็กต์และจดรหัสโปรเจ็กต์ไว้
รหัสโปรเจ็กต์คือชื่อที่ไม่ซ้ำกันในโปรเจ็กต์ Google Cloud ทั้งหมด และจะมีการอ้างอิงใน Codelab ว่า PROJECT_ID
ในภายหลัง
Codelab นี้ใช้ทรัพยากร BigQuery ที่มีขีดจำกัดแซนด์บ็อกซ์ของ BigQuery ไม่จำเป็นต้องมีบัญชีสำหรับการเรียกเก็บเงิน หากต้องการนำขีดจำกัดของแซนด์บ็อกซ์ออกในภายหลัง คุณสามารถเพิ่มบัญชีสำหรับการเรียกเก็บเงินได้โดยลงชื่อสมัครใช้การทดลองใช้ Google Cloud Platform ฟรี
3 แสดงตัวอย่างข้อมูล GitHub
เปิดชุดข้อมูล GitHub ใน UI เว็บ BigQuery
ดูตัวอย่างอย่างรวดเร็วว่าข้อมูลมีลักษณะอย่างไร
4 ค้นหาข้อมูล GitHub
เปิดเครื่องมือแก้ไขการค้นหา
ป้อนคำค้นหาต่อไปนี้เพื่อค้นหาข้อความคอมมิตที่พบบ่อยที่สุดในชุดข้อมูลสาธารณะของ GitHub
SELECT subject AS subject,
COUNT(*) AS num_duplicates
FROM `bigquery-public-data.github_repos.sample_commits`
GROUP BY subject
ORDER BY num_duplicates DESC
LIMIT 100
เนื่องจากชุดข้อมูล GitHub มีขนาดใหญ่ การใช้ชุดข้อมูลตัวอย่างที่เล็กลงขณะทดลองเพื่อประหยัดต้นทุนจึงช่วยได้ ใช้ไบต์ที่ประมวลผลด้านล่างตัวแก้ไขเพื่อประมาณค่าใช้จ่ายในการค้นหา
คลิกปุ่มเรียกใช้
ในอีกไม่กี่วินาที ผลลัพธ์จะแสดงที่ด้านล่าง และจะแสดงปริมาณข้อมูลที่ได้รับการประมวลผลและระยะเวลาที่ใช้ไป
แม้ว่าตาราง sample_commits จะมีขนาด 2.49 GB แต่การค้นหาประมวลผลเพียง 35.8 MB เท่านั้น BigQuery จะประมวลผลเฉพาะไบต์จากคอลัมน์ที่ใช้ในการค้นหาเท่านั้น ดังนั้นจำนวนข้อมูลทั้งหมดที่ประมวลผลจึงอาจน้อยกว่าขนาดตารางอย่างมาก เมื่อใช้การจัดคลัสเตอร์และการแบ่งพาร์ติชัน คุณจะลดจำนวนข้อมูลที่ประมวลผลได้มากยิ่งขึ้น
5 ข้อมูลสาธารณะเพิ่มเติม
ตอนนี้ให้ลองค้นหาชุดข้อมูลอื่น เช่น ชุดข้อมูลสาธารณะชุดหนึ่ง
ตัวอย่างเช่น คำค้นหาต่อไปนี้จะค้นหาโปรเจ็กต์ที่เลิกใช้งานหรือไม่มีการบำรุงรักษายอดนิยมในชุดข้อมูลสาธารณะของ Libraries.io ที่ยังใช้เป็นทรัพยากร Dependency ในโปรเจ็กต์อื่นๆ
SELECT
name,
dependent_projects_count,
language,
status
FROM
`bigquery-public-data.libraries_io.projects_with_repository_fields`
WHERE status IN ('Deprecated', 'Unmaintained')
ORDER BY dependent_projects_count DESC
LIMIT 100
นอกจากนี้ องค์กรอื่นๆ ยังได้เปิดเผยข้อมูลต่อสาธารณะใน BigQuery อีกด้วย ตัวอย่างเช่น ชุดข้อมูล GH Archive ของ GitHub อาจใช้เพื่อวิเคราะห์เหตุการณ์สาธารณะใน GitHub เช่น การดึงคำขอ, ดาวของที่เก็บ และปัญหาที่เปิด คุณสามารถใช้ชุดข้อมูล PyPI ของ Python Software Foundation เพื่อวิเคราะห์คำขอดาวน์โหลดแพ็กเกจ Python ได้
6 ยินดีด้วย
คุณใช้ BigQuery และ SQL เพื่อค้นหาชุดข้อมูลสาธารณะของ GitHub คุณมีอำนาจในการค้นหาชุดข้อมูลระดับเพตะไบต์
สิ่งที่คุณได้พูดคุยกัน
- การใช้ไวยากรณ์ SQL เพื่อค้นหาระเบียนคอมมิตของ GitHub
- การเขียนการค้นหาเพื่อรับข้อมูลเชิงลึกเกี่ยวกับชุดข้อมูลขนาดใหญ่
ดูข้อมูลเพิ่มเติม
- เรียนรู้เกี่ยวกับ SQL ด้วยคำแนะนำเกี่ยวกับ SQL ของ Kaggle
- ดูเอกสารประกอบของ BigQuery
- ดูว่าผู้อื่นใช้ชุดข้อมูล GitHub อย่างไรในบล็อกโพสต์นี้
- สำรวจข้อมูลสภาพอากาศ ข้อมูลอาชญากรรม และอื่นๆ ใน TIL ด้วย BigQuery
- ดูวิธีโหลดข้อมูลลงใน BigQuery โดยใช้เครื่องมือบรรทัดคำสั่ง BigQuery
- ลองใช้ BigQuery Subreddit เพื่อดูวิธีที่ผู้อื่นใช้ BigQuery ในปัจจุบัน