Dữ liệu lớn là thuật ngữ được sử dụng để mô tả các tập dữ liệu lớn ngày nay. IBM định nghĩa dữ liệu lớn là các tập dữ liệu có kích thước hoặc loại vượt quá khả năng nắm bắt, quản lý và xử lý của cơ sở dữ liệu quan hệ truyền thống với độ trễ thấp. Các cơ sở dữ liệu truyền thống như MySQL và PostgreSQL không thể xử lý dữ liệu lớn vì khối lượng lớn, tốc độ cao và nhiều loại. Google đã phát triển một công nghệ như BigQuery đặc biệt để xử lý dữ liệu lớn. Bài đăng này là phần giới thiệu về cách sử dụng Python để thực hiện các thao tác BigQuery CRUD.
Điều kiện tiên quyết
Để làm theo hướng dẫn này, bạn cần cài đặt phần mềm sau trên máy của mình
- con trăn
source env/bin/activate
9 [Trình quản lý gói Python]pip install --upgrade google-cloud-BigQuery
0 [bạn có thể sử dụngsource env/bin/activate
9 để cài đặt]- Tài khoản Google
- nếu bạn chưa làm điều đó
Mục lục
Kết nối Python với BigQuery
Để truy cập BigQuery bằng Python, bạn cần tạo một dự án mới hoặc chọn một dự án hiện có từ Google Cloud Console của bạn. Ngoài ra, bạn cần có tài khoản dịch vụ đã bật API BigQuery. Để tìm hiểu cách thiết lập tất cả những thứ này, hãy xem cái này
Khi tài khoản dịch vụ và API BigQuery được bật, bước tiếp theo là cài đặt tất cả các phần phụ thuộc bắt buộc. Tạo một thư mục dự án cho hướng dẫn này và chạy các lệnh bên dưới
mkdir python-bigquery cd python-bigquery/
Sử dụng lệnh
pip install --upgrade google-cloud-BigQuery2 để tạo một bản sao ảo của toàn bộ cài đặt Python trong một thư mục có tên là
pip install --upgrade google-cloud-BigQuery3. Sau đó đặt trình bao của bạn sử dụng các đường dẫn
pip install --upgrade google-cloud-BigQuery2 cho Python bằng cách kích hoạt môi trường ảo
source env/bin/activate
Môi trường hiện đã được thiết lập. Cài đặt Bộ công cụ phát triển phần mềm Python BigQuery [SDK] như sau
pip install --upgrade google-cloud-BigQuery
Sau khi tạo tài khoản dịch vụ, một tệp JSON đã được tạo và tải xuống cho bạn. Tệp này chứa thông tin đăng nhập mà Google BigQuery SDK sẽ sử dụng để xác thực các yêu cầu của bạn đối với API BigQuery. Đặt biến môi trường
pip install --upgrade google-cloud-BigQuery5 thành đường dẫn của tệp JSON chứa khóa tài khoản dịch vụ của bạn. Biến này chỉ áp dụng cho phiên shell hiện tại của bạn, vì vậy nếu bạn mở phiên mới, bạn cần đặt lại biến
export GOOGLE_APPLICATION_CREDENTIALS="/Users/godwinekuma/tutorials/python-bigquery/service-account-file.json"
Trong thư mục dự án của bạn, hãy tạo một tệp mới
pip install --upgrade google-cloud-BigQuery6, nhập gói đã cài đặt, khởi tạo ứng dụng khách để xác thực và kết nối với API BigQuery
from google.cloud import bigquery client = bigquery.Client[]
Thực hiện một truy vấn đơn giản để xác nhận rằng thiết lập đã được thực hiện chính xác
from google.cloud import bigquery client = bigquery.Client[]
# Thực hiện truy vấn
QUERY = [ "SELECT name FROM `bigquery-public-data.usa_names.usa_1910_2013` " "WHERE state = 'TX' " "LIMIT 100"] query_job = client.query[QUERY] rows = query_job.result[] for row in rows: print[row.name]
Chạy tập lệnh với
pip install --upgrade google-cloud-BigQuery7. Nếu mọi thứ đều tốt, bạn sẽ thấy một đầu ra tương tự như bên dưới
Cách sử dụng Python cho bộ dữ liệu Google BigQuery
Chèn tập dữ liệu vào BigQuery bằng Python
Tập dữ liệu trong BigQuery đồng nghĩa với cơ sở dữ liệu trong SQL thông thường. Tập dữ liệu đại diện cho một tập hợp các bảng có quyền liên quan và thời gian hết hạn. Bộ dữ liệu được thêm vào một dự án cụ thể và yêu cầu ID và vị trí. Mã bên dưới tạo tập dữ liệu mới trong dự án đám mây mặc định của Google
from google.cloud import bigquery client = bigquery.Client[] def create_dataset[dataset_id]: dataset_ref = bigquery.DatasetReference.from_string[dataset_id, default_project=client.project] dataset = bigquery.Dataset[dataset_ref] dataset.location = "US" dataset = client.create_dataset[dataset] print["Created dataset {}.{}".format[client.project, dataset.dataset_id]] create_dataset[dataset_id="your-project.your_dataset-id"]
pip install --upgrade google-cloud-BigQuery8 tăng
pip install --upgrade google-cloud-BigQuery9 nếu tập dữ liệu có cùng ID đã tồn tại trong dự án. Nếu kiểm tra bảng điều khiển BigQuery của mình, bạn sẽ thấy tập dữ liệu mới
Liệt kê các bộ dữ liệu trong BigQuery bằng Python
Bạn có thể truy xuất danh sách tất cả các bộ dữ liệu trong một dự án cụ thể bằng phương pháp
export GOOGLE_APPLICATION_CREDENTIALS="/Users/godwinekuma/tutorials/python-bigquery/service-account-file.json"0
def list_datasets[]: datasets = list[client.list_datasets[]] # Make an API request. project = client.project if datasets: print["Datasets in project {}:".format[project]] for dataset in datasets: print["\t{}".format[dataset.dataset_id]] else: print["{} project does not contain any datasets.".format[project]]
Nếu bạn quan tâm đến một tập dữ liệu cụ thể và biết ID của dự án, bạn có thể truy xuất nó bằng phương thức
export GOOGLE_APPLICATION_CREDENTIALS="/Users/godwinekuma/tutorials/python-bigquery/service-account-file.json"1
def get_dataset[dataset_id]: dataset = client.get_dataset[dataset_id] # Make an API request. full_dataset_id = "{}.{}".format[dataset.project, dataset.dataset_id] friendly_name = dataset.friendly_name print[ "Got dataset '{}' with friendly_name '{}'.".format[ full_dataset_id, friendly_name ] ] get_dataset[dataset_id="your-project.your_dataset-id"]
Cập nhật tập dữ liệu trong BigQuery bằng Python
export GOOGLE_APPLICATION_CREDENTIALS="/Users/godwinekuma/tutorials/python-bigquery/service-account-file.json"2 được sử dụng để cập nhật thuộc tính trong siêu dữ liệu của tập dữ liệu hoặc quyền của tập dữ liệu. Đoạn mã dưới đây cập nhật mô tả của tập dữ liệu
source env/bin/activate0
Xóa tập dữ liệu trong BigQuery bằng Python
export GOOGLE_APPLICATION_CREDENTIALS="/Users/godwinekuma/tutorials/python-bigquery/service-account-file.json"3 xóa tập dữ liệu khỏi dự án của bạn
source env/bin/activate1
Tham số
export GOOGLE_APPLICATION_CREDENTIALS="/Users/godwinekuma/tutorials/python-bigquery/service-account-file.json"4 được đặt thành
export GOOGLE_APPLICATION_CREDENTIALS="/Users/godwinekuma/tutorials/python-bigquery/service-account-file.json"5 để xóa tập dữ liệu và nội dung của nó. Ngoài ra,
export GOOGLE_APPLICATION_CREDENTIALS="/Users/godwinekuma/tutorials/python-bigquery/service-account-file.json"6 được đặt thành
export GOOGLE_APPLICATION_CREDENTIALS="/Users/godwinekuma/tutorials/python-bigquery/service-account-file.json"5 để tránh gây ra lỗi nếu tập dữ liệu đã bị xóa hoặc không tìm thấy trong dự án
Ví dụ về Google BigQuery Python. làm việc với các bảng
Tạo bảng trong BigQuery bằng Python
Tạo bảng trong tập dữ liệu yêu cầu ID bảng và lược đồ. Lược đồ là một mảng chứa tên và loại trường của bảng. Đoạn mã dưới đây thêm một bảng có tên hồ sơ
source env/bin/activate2
Các hàng chèn BigQuery Python
Để chèn dữ liệu vào bảng BigQuery, bạn cần bật thanh toán trên tài khoản của mình. Có một số cách chèn dữ liệu vào bảng. Cách đơn giản nhất là sử dụng
export GOOGLE_APPLICATION_CREDENTIALS="/Users/godwinekuma/tutorials/python-bigquery/service-account-file.json"8 để thêm dữ liệu JSON vào bảng của bạn
source env/bin/activate3
Bạn cũng có thể chèn dữ liệu JSON hoặc CSV từ bộ nhớ đám mây của Google bằng cách tải dữ liệu bằng cách sử dụng
export GOOGLE_APPLICATION_CREDENTIALS="/Users/godwinekuma/tutorials/python-bigquery/service-account-file.json"9.
source env/bin/activate4
BigQuery Python xóa một bảng
Phương pháp
from google.cloud import bigquery client = bigquery.Client[]0 được sử dụng để xóa bảng khỏi tập dữ liệu BigQuery. Nếu bảng không tồn tại, thì
from google.cloud import bigquery client = bigquery.Client[]0 tăng
from google.cloud import bigquery client = bigquery.Client[]2 trừ khi
export GOOGLE_APPLICATION_CREDENTIALS="/Users/godwinekuma/tutorials/python-bigquery/service-account-file.json"6 được đặt thành
export GOOGLE_APPLICATION_CREDENTIALS="/Users/godwinekuma/tutorials/python-bigquery/service-account-file.json"5
source env/bin/activate5
Bảng danh sách BigQuery Python
Để liệt kê các bảng trong tập dữ liệu, bạn cần thêm ID của bảng bằng phương pháp
from google.cloud import bigquery client = bigquery.Client[]5
source env/bin/activate6
Kết quả truy vấn BigQuery Python
Phương thức
from google.cloud import bigquery client = bigquery.Client[]6 được sử dụng để truy vấn các bảng trong tập dữ liệu. Bạn có thể viết các truy vấn SQL thông thường
source env/bin/activate7
Xuất dữ liệu BigQuery
Bạn có thể xuất dữ liệu BigQuery dưới dạng CSV sang nhóm đám mây của Google bằng phương pháp
from google.cloud import bigquery client = bigquery.Client[]7
source env/bin/activate8
Giải pháp thay thế không dùng mã cho việc sử dụng Python để xuất dữ liệu BigQuery sang Google Trang tính hoặc Excel
Nếu không muốn lãng phí thời gian viết mã Python để xuất BigQuery sang nhóm đám mây của Google, thay vào đó, bạn có thể sử dụng giải pháp thay thế không cần mã, chẳng hạn như Coupler. io. Nó cho phép bạn nhập dữ liệu BigQuery vào Google Trang tính và Excel. Phần tốt nhất là bạn có thể lên lịch xuất dữ liệu định kỳ. Đây cũng là một giải pháp tốt cho các nhà phân tích kinh doanh có ít hoặc không có kỹ năng mã hóa, những người cần dữ liệu BigQuery để phân tích kinh doanh và ra quyết định
Xem thêm về tích hợp BigQuery có sẵn với Coupler. io
BigQuery Python hoặc Giao diện người dùng BigQuery
BigQuery cung cấp nhiều chức năng hơn những gì chúng tôi đã trình bày ở đây. Bạn có nên sử dụng Giao diện người dùng BigQuery hoặc Python hay bất kỳ ngôn ngữ lập trình nào khác để làm việc với BigQuery không? . Nếu bạn là nhà phân tích đưa ra quyết định với dữ liệu hiện có, giao diện người dùng sẽ là lựa chọn tốt nhất của bạn hoặc thậm chí sử dụng tích hợp không có mã. Nếu bạn là nhà phát triển lưu trữ dữ liệu vào BigQuery và mã của bạn bằng Python thì bạn sẽ cần sử dụng Python.
Chọn phương pháp tốt nhất đáp ứng nhu cầu của bạn để làm cho quy trình thao tác dữ liệu của bạn diễn ra thuận tiện nhất có thể. Chúc may mắn