1. Giới thiệu
BigQuery là cơ sở dữ liệu phân tích chi phí thấp và do Google quản lý hoàn toàn. Với BigQuery, bạn có thể truy vấn hàng terabyte dữ liệu mà không cần quản trị viên cơ sở dữ liệu hoặc bất kỳ cơ sở hạ tầng nào để quản lý. BigQuery sử dụng SQL quen thuộc và mô hình tính phí chỉ trả cho những gì bạn sử dụng. BigQuery giúp bạn tập trung vào việc phân tích dữ liệu để tìm ra thông tin chi tiết có ý nghĩa.
Trong lớp học lập trình này, bạn sẽ thấy cách truy vấn tập dữ liệu công khai của GitHub, một trong nhiều tập dữ liệu công khai có trong BigQuery.
Kiến thức bạn sẽ học được
- Cách sử dụng BigQuery
- Cách viết truy vấn để thu thập thông tin chi tiết về một tập dữ liệu lớn
Bạn cần có
2. Bắt đầu thiết lập
Bật BigQuery
Nếu chưa có Tài khoản Google (Gmail hoặc Google Apps), bạn phải tạo một tài khoản.
- Đăng nhập vào bảng điều khiển Google Cloud Platform ( console.cloud.google.com) rồi chuyển đến BigQuery. Bạn cũng có thể mở giao diện người dùng web BigQuery trực tiếp bằng cách nhập URL sau vào trình duyệt.
https://console.cloud.google.com/bigquery
- Chấp nhận điều khoản dịch vụ.
- Bạn phải tạo một dự án thì mới có thể sử dụng BigQuery. Làm theo lời nhắc để tạo dự án mới.
Chọn tên dự án và ghi lại mã dự án.
Mã dự án là một tên riêng biệt cho tất cả các dự án trên Google Cloud. Sau này trong lớp học lập trình này, chúng ta sẽ gọi nó là PROJECT_ID.
Lớp học lập trình này sử dụng các tài nguyên BigQuery trong hạn mức của hộp cát BigQuery. Bạn không bắt buộc phải có tài khoản thanh toán. Nếu sau này muốn xoá các giới hạn của hộp cát, bạn có thể thêm một tài khoản thanh toán bằng cách đăng ký dùng thử miễn phí Google Cloud Platform.
3. Xem trước dữ liệu trên GitHub
Mở tập dữ liệu GitHub trong giao diện người dùng web BigQuery.
https://console.cloud.google.com/bigquery?p=bigquery-public-data&d=github_repos&t=commits&page=table
Xem nhanh bản xem trước về cách dữ liệu xuất hiện.

4. Truy vấn dữ liệu trên GitHub
Mở trình chỉnh sửa truy vấn.

Nhập truy vấn sau để tìm những thông báo cam kết phổ biến nhất trong tập dữ liệu công khai của 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
Vì tập dữ liệu trên GitHub có kích thước lớn, nên bạn nên sử dụng một tập dữ liệu mẫu nhỏ hơn trong khi thử nghiệm để tiết kiệm chi phí. Sử dụng số byte được xử lý bên dưới trình chỉnh sửa để ước tính chi phí truy vấn.

Nhấp vào nút Chạy.
Sau vài giây, kết quả sẽ xuất hiện ở dưới cùng, cho biết lượng dữ liệu đã được xử lý và thời gian xử lý.

Mặc dù bảng sample_commits có kích thước 2,49 GB, nhưng truy vấn chỉ xử lý 35,8 MB. BigQuery chỉ xử lý các byte từ những cột được dùng trong truy vấn, nên tổng lượng dữ liệu được xử lý có thể ít hơn đáng kể so với kích thước bảng. Với tính năng phân cụm và phân vùng, lượng dữ liệu được xử lý có thể giảm hơn nữa.
5. Nhiều dữ liệu công khai hơn
Bây giờ, hãy thử truy vấn một tập dữ liệu khác, chẳng hạn như một trong các tập dữ liệu công khai khác.
Ví dụ: truy vấn sau đây tìm thấy các dự án phổ biến đã ngừng hoạt động hoặc không được duy trì trong tập dữ liệu công khai Libraries.io mà vẫn được dùng làm phần phụ thuộc trong các dự án khác:
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
Các tổ chức khác cũng đã cung cấp dữ liệu công khai của họ trong BigQuery. Ví dụ: bạn có thể sử dụng tập dữ liệu GH Archive của Github để phân tích các sự kiện công khai trên GitHub, chẳng hạn như yêu cầu kéo, số sao của kho lưu trữ và các vấn đề đã mở. Bạn có thể sử dụng tập dữ liệu PyPI của Python Software Foundation để phân tích các yêu cầu tải gói Python xuống.
6. Xin chúc mừng!
Bạn đã sử dụng BigQuery và SQL để truy vấn tập dữ liệu công khai của GitHub. Bạn có thể truy vấn các tập dữ liệu có quy mô petabyte!
Nội dung bạn đã học
- Sử dụng cú pháp SQL để truy vấn các bản ghi cam kết trên GitHub
- Viết một truy vấn để nắm được thông tin chi tiết về một tập dữ liệu lớn
Tìm hiểu thêm
- Tìm hiểu về SQL thông qua Khoá học Giới thiệu về SQL của Kaggle.
- Khám phá tài liệu về BigQuery.
- Hãy xem cách những người khác sử dụng tập dữ liệu GitHub trong bài đăng này trên blog.
- Khám phá dữ liệu thời tiết, dữ liệu tội phạm và nhiều dữ liệu khác trong TIL với BigQuery.
- Tìm hiểu cách tải dữ liệu vào BigQuery bằng công cụ dòng lệnh BigQuery.
- Hãy xem subreddit BigQuery để tìm hiểu cách người khác sử dụng BigQuery hiện nay.