1. Giới thiệu
BigQuery là một kho dữ liệu không máy chủ, có khả năng mở rộng cao và tiết kiệm chi phí. Bạn chỉ cần di chuyển dữ liệu vào BigQuery và để chúng tôi xử lý những công việc khó khăn để bạn có thể tập trung vào những việc thực sự quan trọng, đó là điều hành doanh nghiệp của mình. Bạn có thể kiểm soát quyền truy cập vào cả dự án và dữ liệu của mình dựa trên nhu cầu kinh doanh, chẳng hạn như cho phép người khác xem hoặc truy vấn dữ liệu của bạn.
Trong bài thực hành này, bạn sẽ khám phá các khả năng phân tích của BigQuery. Bạn sẽ tìm hiểu cách nhập một tập dữ liệu từ một vùng chứa Google Cloud Storage và nắm bắt giao diện người dùng BigQuery bằng cách làm việc với một tập dữ liệu Ngân hàng bán lẻ. Ngoài ra, bài thực hành này sẽ hướng dẫn bạn cách khám phá các tính năng chính trong BigQuery giúp bạn phân tích dễ dàng hơn trong ngày, chẳng hạn như xuất kết quả truy vấn vào bảng tính, xem và chạy truy vấn từ nhật ký truy vấn, xem hiệu suất truy vấn và tạo chế độ xem bảng để các nhóm và phòng ban khác sử dụng.
Kiến thức bạn sẽ học được
Trong bài thực hành này, bạn sẽ tìm hiểu cách thực hiện các thao tác sau:
- Tải dữ liệu mới vào BigQuery
- Làm quen với giao diện người dùng BigQuery
- Chạy truy vấn trong BigQuery
- Xem hiệu suất truy vấn
- Tạo chế độ xem trong BigQuery
- Chia sẻ tập dữ liệu một cách an toàn với người khác
2. Giới thiệu: Tìm hiểu giao diện người dùng BigQuery
Trong phần này, bạn sẽ tìm hiểu cách điều hướng giao diện người dùng BigQuery, xem các tập dữ liệu hiện có và chạy một truy vấn đơn giản.
Đang tải giao diện người dùng BQ
- Nhập "BigQuery" ở đầu Bảng điều khiển Google Cloud Platform.
- Chọn BigQuery trong danh sách lựa chọn. Nhớ chọn lựa chọn có biểu trưng BigQuery (kính lúp).
Xem tập dữ liệu và chạy truy vấn

- Trong ngăn bên trái của phần Tài nguyên, hãy nhấp vào dự án BigQuery của bạn.
- Nhấp vào
bq_demođể xem các bảng trong tập dữ liệu đó - Trong hộp nhập để tìm kiếm, hãy nhập "thẻ" để xem danh sách các bảng và tập dữ liệu có chứa "thẻ" trong tên.
- Chọn bảng "card_transactions" trong danh sách kết quả tìm kiếm

- Nhấp vào thẻ Chi tiết trong ngăn
card_transactionsđể xem siêu dữ liệu cho bảng này. - Nhấp vào thẻ Xem trước để xem bản xem trước của bảng
[Điểm cạnh tranh]: Việc tích hợp với Danh mục dữ liệu của Google có nghĩa là bạn có thể quản lý siêu dữ liệu BigQuery cùng với các nguồn dữ liệu khác, chẳng hạn như hồ dữ liệu hoặc nguồn dữ liệu hoạt động. Đây là một ví dụ cho thấy Google Cloud không chỉ là một kho dữ liệu quan hệ mà còn là một nền tảng Dữ liệu phân tích hoàn chỉnh.
- Nhấp vào biểu tượng kính lúp để truy vấn bảng "card_transactions". Một văn bản được tạo tự động sẽ xuất hiện trong trình chỉnh sửa truy vấn BigQuery.
- Nhập mã bên dưới để cho chúng tôi biết những người bán riêng biệt trong bảng Card_Transactions
SELECT distinct (merchant) FROM bq_demo.card_transactions LIMIT 1000
- Nhấp vào nút Chạy để chạy truy vấn.

3. Tạo tập dữ liệu và chia sẻ chế độ xem
Việc chia sẻ dữ liệu và quyền quản trị là rất quan trọng. Bạn có thể thực hiện việc này một cách trực quan trong giao diện người dùng BQ. Trong phần này, bạn sẽ tìm hiểu cách tạo một tập dữ liệu mới, điền dữ liệu vào tập dữ liệu đó bằng một khung hiển thị và chia sẻ tập dữ liệu đó.
Xem nhật ký truy vấn
- Nhấp vào "Lịch sử truy vấn" trong ngăn bên trái của Bảng điều khiển GCP
- Nhấp vào biểu tượng làm mới trong ngăn Nhật ký truy vấn
- Nhấp vào biểu tượng tải hình ảnh xuống/mũi tên ở ngoài cùng bên phải của truy vấn để xem kết quả của truy vấn.

Tạo tập dữ liệu mới
- Chọn [tên dự án của bạn] trong ngăn tài nguyên của giao diện người dùng BigQuery.
- Chọn "Tạo tập dữ liệu mới" trong ngăn thông tin dự án
- Đối với mã tập dữ liệu:
bq_demo_shared
- Giữ nguyên tất cả các trường khác theo mặc định
- Nhấp vào "Tạo tập dữ liệu"

Tạo khung hiển thị
[Điểm cạnh tranh]: BigQuery hoàn toàn tuân thủ ANSI SQL và hỗ trợ cả các phép kết hợp nhiều bảng đơn giản và phức tạp cũng như các hàm phân tích phong phú. Chúng tôi liên tục phát hành phiên bản hỗ trợ nâng cao cho các kiểu dữ liệu và hàm SQL phổ biến được dùng trong kho dữ liệu truyền thống để đơn giản hoá quy trình di chuyển.
- Chọn "Compose New Query" (Soạn truy vấn mới) ở đầu ngăn Trình chỉnh sửa truy vấn.
- Chèn mã sau vào trình chỉnh sửa truy vấn
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;
- Nhấp vào "Lưu chế độ xem"
- Chọn dự án hiện tại của bạn cho Tên dự án
- Chọn Tập dữ liệu mới tạo:
bq_demo_shared
- Đối với Tên bảng:
rev_change_by_card_type
- Nhấp vào Lưu.

Chia sẻ Khung hiển thị và Tập dữ liệu
- Chọn tập dữ liệu "bq_demo_shared" trong ngăn tài nguyên bên trái trong giao diện người dùng BigQuery.
- Nhấp vào "Chia sẻ tập dữ liệu" trong ngăn thông tin tập dữ liệu
- Nhập địa chỉ email
- Chọn "Người xem dữ liệu BigQuery" trong trình đơn thả xuống Vai trò
- Nhấp vào "Thêm"
- Nhấp vào Xong

Khám phá dữ liệu trong Trang tính
[Điểm cạnh tranh]: Một lợi ích khác của BigQuery so với các đối thủ cạnh tranh là BI Engine. Bạn có thể sử dụng BI Engine để các truy vấn tóm tắt thuộc loại BI trả về trong vòng chưa đầy một giây thông qua công cụ lưu vào bộ nhớ đệm. Tính năng này hiện được Google Data Studio hỗ trợ nhưng sẽ sớm có sẵn để tăng tốc tất cả các truy vấn trong BigQuery.
Ví dụ:
Snowflake dựa vào các công cụ BI của bên thứ ba để tạo trang tổng quan và trực quan hoá dữ liệu, trong khi GCP cung cấp nhiều công cụ BI tích hợp, bao gồm Trang tính liên kết, Data Studio và Looker.
- Chọn khung hiển thị "rev_change_by_card_type" trong ngăn tài nguyên bên trái trong giao diện người dùng BigQuery.
- Nhấp vào kính lúp để truy vấn chế độ xem

- Loại:
SELECT *
FROM bq_demo_shared.rev_change_by_card_type
- Nhấp vào Chạy
- Nhấp vào biểu tượng "Xuất" trong ngăn Kết quả
- Chọn "Khám phá dữ liệu bằng Trang tính"

- Nhấp vào"Bắt đầu phân tích"
- Chọn "Bảng tổng hợp"
- Chọn "Trang tính mới"
- Nhấp vào "Tạo"
- Thêm "revenue_date" trong phần Hàng của Trình chỉnh sửa bảng tổng hợp ở bên phải cửa sổ Trang tính
- Thêm "card_type" trong phần Cột của Trình chỉnh sửa bảng tổng hợp
- Thêm "monthly_rev" trong phần Cột của Trình chỉnh sửa bảng tổng hợp
- Nhấp vào Áp dụng

- Chuyển đến dải băng trên cùng của giao diện người dùng Trang tính rồi chọn Chèn Biểu đồ
4. Thiết lập: Tích hợp dữ liệu
Trong phần này, bạn sẽ tìm hiểu cách tạo một bảng mới và thực hiện thao tác JOINS trên một trong nhiều tập dữ liệu công khai mà Google Cloud cung cấp.
[Competitive Talking Point]:
BigQuery đã hỗ trợ các tập dữ liệu được chia sẻ trong nhiều năm. Khách hàng trong bất kỳ dự án nào cũng có thể truy vấn cả tập dữ liệu công khai và tập dữ liệu trong các dự án khác đã được chia sẻ với họ.
BigQuery có thể hỗ trợ hồ dữ liệu trong GCS thông qua việc sử dụng các bảng bên ngoài. Ngoài việc tải hàng loạt, BigQuery còn hỗ trợ khả năng truyền trực tuyến dữ liệu vào cơ sở dữ liệu với tốc độ lên đến hàng trăm MB mỗi giây. Snowflake không hỗ trợ truyền trực tuyến dữ liệu.
Nhập dữ liệu vào bảng mới
- Trong ngăn tài nguyên, hãy chọn tập dữ liệu bq_demo
- Trong ngăn thông tin tập dữ liệu, hãy chọn "Tạo bảng"
- Chọn Google Cloud Storage cho Nguồn
- Trong hộp văn bản đường dẫn tệp:
gs://retail-banking-looker/district
- Chọn CSV cho Định dạng tệp
- Nhập "district" cho Tên bảng
- Chọn hộp đánh dấu cho mục Tự động phát hiện giản đồ
- Nhấp vào Tạo bảng
Truy vấn tập dữ liệu công khai
- Trong trình chỉnh sửa truy vấn, hãy nhập truy vấn sau:
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`;
- Nhấp vào Chạy
- Xem kết quả

- Bây giờ, chúng ta sẽ kết hợp dữ liệu công khai này với một truy vấn khác. Nhập mã SQL sau vào Trình chỉnh sửa truy vấn:
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
- Nhấp vào Chạy
- Xem kết quả

5. Quản lý hạn mức
Làm việc với các khung giờ và lượt đặt trước
BQ cung cấp nhiều mô hình định giá để đáp ứng nhu cầu của bạn. Hầu hết khách hàng lớn chủ yếu tận dụng mức giá cố định để có mức giá dự đoán được với dung lượng được đặt trước. Để tăng vượt quá dung lượng cơ bản đó, BQ cung cấp các khoảng trống linh hoạt cho phép bạn tăng thêm dung lượng ngay lập tức rồi tự động giảm trở lại mà không ảnh hưởng đến các truy vấn đang chạy. BQ cũng có mô hình quét theo byte, cho phép bạn chỉ thanh toán cho những truy vấn mà bạn chạy.
[Điểm cạnh tranh: Một số đối thủ cạnh tranh chỉ hoạt động dựa trên mô hình dung lượng cố định, trong đó khách hàng phải phân bổ một kho dữ liệu ảo cho từng khối lượng công việc trong tổ chức của họ. Ngoài mô hình tính phí thấp cho mỗi truy vấn giúp bạn dễ dàng bắt đầu sử dụng BigQuery, chúng tôi còn hỗ trợ mô hình định giá theo năng lực với mức giá cố định, trong đó bạn có thể chia sẻ năng lực nhàn rỗi giữa một nhóm khối lượng công việc.]
- Chuyển đến thẻ đặt phòng.

- Nhấp vào "Mua vị trí"

- Chọn "Linh hoạt" làm thời lượng.
- Chọn 500 khung giờ.
- Xác nhận giao dịch mua.

- Nhấp vào Xem cam kết về khung giờ.
- Nhấp vào "Tạo yêu cầu đặt trước"
- Người dùng "demo" làm tên đặt phòng
- Chọn Hoa Kỳ làm vị trí
- Nhập 500 cho các vị trí (tất cả đều có sẵn)
- Nhấp vào Bài tập
- Chọn dự án hiện tại cho dự án tổ chức
- Chọn "demo" cho mã đặt chỗ
- Nhấp vào Tạo".