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 ในปัจจุบัน