Khởi động một Ngăn xếp Dữ liệu Hiện đại trong 5 phút với Terraform
Ngăn xếp dữ liệu hiện đại là gì và bạn triển khai ngăn xếp dữ liệu hiện đại như thế nào? Hướng dẫn này sẽ thúc đẩy bạn bắt đầu hành trình này với hướng dẫn thiết lập cho Airbyte, BigQuery, dbt, Metabase và mọi thứ khác mà bạn cần bằng Terraform.
By Tuấn Nguyễn, CTO & thành viên hội đồng quản trị tại Joon Solutions.
Một kiến trúc ngăn xếp dữ liệu hiện đại (hình ảnh của tác giả).
Ngăn xếp dữ liệu hiện đại là gì
Ngăn xếp dữ liệu hiện đại (MDS) là một hệ thống công nghệ giúp kho dữ liệu hiện đại hoạt động tốt hơn 10–10,000 lần so với kho dữ liệu cũ. Cuối cùng, một MDS tiết kiệm thời gian, tiền bạc và công sức. Bốn trụ cột của MDS là kết nối dữ liệu, Một kho dữ liệu đám mây, Một biến dữ liệuVà BI & thăm dò dữ liệu công cụ.
Dễ dàng hội nhập được thực hiện nhờ các công cụ được quản lý và mã nguồn mở tạo sẵn hàng trăm trình kết nối sẵn sàng sử dụng. Những gì đã từng cần một đội ngũ kỹ sư dữ liệu xây dựng và bảo trì thường xuyên giờ đây có thể được thay thế bằng một công cụ dành cho các trường hợp sử dụng đơn giản. Các giải pháp được quản lý như Stitch và Fivetran, cùng với các giải pháp nguồn mở như máy bay và Meltano, đang làm cho điều này xảy ra.
Sử dụng một kho dữ liệu cột dựa trên đám mây đã là xu hướng gần đây do hiệu suất cao và hiệu quả về chi phí. Thay vì trả 100 nghìn đô la mỗi năm cho cơ sở dữ liệu MPP (xử lý song song hàng loạt) tại chỗ, bạn có thể bắt đầu trả từ 100 đô la (hoặc ít hơn) mỗi tháng. Kho dữ liệu gốc đám mây được cho là nhanh hơn 10–10,000 lần so với OLTP truyền thống. Các tùy chọn phổ biến trong danh mục này là BigQuery, Snowflakevà Redshift.
Ngày xưa, xử lý dữ liệu bên trong kho dữ liệu là nút thắt cổ chai do những hạn chế của công nghệ. Do đó, các công ty phải ưu tiên ETL thay vì ELT để giảm khối lượng công việc của kho dữ liệu. Tuy nhiên, với sự tiến bộ của kho dữ liệu gốc đám mây, nhiều công cụ chuyển đổi trong kho dữ liệu đang trở nên phổ biến. Đáng chú ý nhất trong danh mục này là dbt (công cụ xây dựng dữ liệu) và Dataform.
Công cụ BI cũng được sử dụng để thực hiện một số chuyển đổi để giảm khối lượng công việc trên các kho dữ liệu cũ. Tuy nhiên, với ngăn xếp dữ liệu hiện đại, trọng tâm của các công cụ BI đã được chuyển (theo ý kiến của tôi) sang dân chủ hóa việc truy cập dữ liệu, tự phục vụ và khám phá dữ liệu. Một số công cụ mà tôi nghĩ đang đi đúng hướng là Người nhìn, Siêu dữ liệuvà Superset.
Kiến trúc của chúng tôi
Bắt đầu với Ngăn xếp dữ liệu hiện đại có thể khó khăn vì nhiều công cụ và quy trình khác nhau có liên quan. Bài viết này nhằm mục đích giúp bạn bắt đầu hành trình này một cách suôn sẻ nhất có thể. Có nhiều bước chuẩn bị, nhưng chỉ cần năm phút để sử dụng tất cả các tài nguyên sau khi bạn hoàn thành.
Chúng tôi sẽ sử dụng Terraform, một công cụ nguồn mở dưới dạng cơ sở hạ tầng để cung cấp mọi thứ trong Google Cloud. Nếu bạn làm theo hướng dẫn bên dưới, đây là các tài nguyên sẽ được tạo.
- Dự án Google Cloud với API cần thiết được bật
- Nhập: một phiên bản GCE chạy Airbyte
- Kho hàng: Bộ dữ liệu BigQuery
- Điều phối (tùy chọn): một phiên bản GCE chạy Luồng không khí
- BI & khám phá dữ liệu: một phiên bản GCE chạy Metabase
- Tài khoản dịch vụ cho các dịch vụ khác nhau và ràng buộc quyền IAM của chúng
Bắt Đầu
Tạo tài khoản Google Cloud và kích hoạt thanh toán
Mã Terraform trong dự án này sẽ tương tác với Nền tảng đám mây của Google. Do đó, bước đầu tiên của chúng tôi là tạo một tài khoản Google và kích hoạt thanh toán. Lưu ý ID thanh toán với định dạng sau trong Trang thanh toán: ###### - ###### - ######. Bạn sẽ cần giá trị này trong bước tiếp theo.
Cài đặt Google Cloud CLI
Cài đặt Google Cloud SDK theo hướng dẫn tại đây cho hệ điều hành tương ứng của bạn. Sau khi bạn có gcloud Đã cài đặt CLI, hãy chạy lệnh sau trong cửa sổ đầu cuối và làm theo hướng dẫn. Điều này sẽ cho phép Terraform sử dụng thông tin xác thực mặc định để xác thực.
ứng dụng gcloud auth-đăng nhập mặc định
Cài đặt địa hình
Làm theo chỉ dẫn tại đây để cài đặt Terraform CLI cục bộ. Chạy lệnh sau để kiểm tra cài đặt của bạn:
địa hình -v
Bạn sẽ thấy một cái gì đó như thế này:
Terraform v1.0.0 trên darwin_amd64 + nhà cung cấp registry.terraform.io/hashicorp/google v3.71.0
Fork hoặc sao chép cục bộ repo này
Bạn có thể fork repo này vào tài khoản của bạn hoặc sao chép nó vào máy cục bộ của bạn. Để sao chép repo, hãy chạy như sau:
git clone https://github.com/tuanchris/modern-data-stack cd Modern-data-stack
Tạo ra một địa hình.tfvars hồ sơ
Tạo ra một địa hình.tfvars tập tin có nội dung sau:
# ID thanh toán từ bước đầu tiên billing_id = ###### - ###### - ###### # ID thư mục nơi bạn muốn dự án của mình nằm trong # Để trống phần này nếu bạn sử dụng a private account folder_id = "" # ID tổ chức của nơi bạn muốn đặt dự án của mình # Để trống phần này nếu bạn sử dụng tài khoản cá nhân org_id = "" # Dự án tạo project_id = ""
Cảnh báo: Đây được coi là những giá trị nhạy cảm. Không cam kết tệp này và * .tfstate các tệp vào một repo công khai.
Tùy chỉnh các giá trị trong biến.tf
Các biến trong biến.tf sẽ được sử dụng cho các cấu hình của tài nguyên.
Hình ảnh của tác giả.
Bạn có thể tùy chỉnh loại máy cho các dịch vụ khác nhau bằng cách thay đổi các biến. Nếu bạn không muốn sử dụng bất kỳ dịch vụ nào, hãy bình luận trong phần gce.tf tập tin.
Bạn cũng có thể tạo các bộ dữ liệu khác nhau cho hệ thống nguồn của mình bằng cách thêm chúng vào từ điển bộ dữ liệu nguồn.
Tạo một ngăn xếp dữ liệu hiện đại
Cuối cùng, để cung cấp tất cả các tài nguyên này trên Google Cloud, hãy chạy lệnh sau:
áp dụng địa hình
Hình ảnh của tác giả.
Nghiên cứu đầu ra trong thiết bị đầu cuối để đảm bảo rằng tất cả các cài đặt tài nguyên là những gì bạn muốn. Loại hình Vâng va đanh nhập.
Terraform sẽ tạo một dự án Google Cloud với ngăn xếp dữ liệu hiện đại của chúng tôi. Toàn bộ quá trình sẽ mất khoảng 2-3 phút. Phải mất thêm 2-3 phút để các dịch vụ được cài đặt trên các phiên bản VM. Toàn bộ quá trình sẽ chỉ mất 5 phút hoặc ít hơn.
Sử dụng ngăn xếp dữ liệu hiện đại
Truy xuất tài khoản dịch vụ cho các dịch vụ khác nhau
Hình ảnh của tác giả.
Google khuyên bạn nên sử dụng một tài khoản dịch vụ khác cho các dịch vụ khác nhau. Mã địa hình trong dự án đã tạo ra các tài khoản khác nhau cho các công nghệ khác nhau đã được sử dụng. Để truy xuất tài khoản dịch vụ cho một dịch vụ cụ thể, hãy chạy lệnh sau:
đầu ra terraform [service_name] _sa_key
Quyền mặc định cho tất cả các tài khoản này là role / bigquery.admin. Bạn có thể tùy chỉnh điều này trong iam.tf tập tin.
Giá trị bạn nhận lại được mã hóa base64. Để chuyển giá trị này trở lại định dạng JSON, hãy chạy lệnh sau:
echo "[giá trị từ lệnh trước]" | base64 -d
Bạn có thể sử dụng tài khoản dịch vụ JSON để xác thực quyền truy cập dịch vụ vào tài nguyên dự án của bạn.
Cảnh báo: Bất kỳ ai có tài khoản dịch vụ này đều có thể truy cập dự án của bạn.
Nhập dữ liệu bằng Airbyte
máy bay là một công cụ tích hợp dữ liệu nguồn mở tuyệt vời. Để truy cập giao diện người dùng Airbyte, trước tiên, hãy lấy lệnh gcloud SSH.
Hình ảnh của tác giả.
Bạn sẽ nhận được một lệnh tương tự như sau:
gcloud beta compute ssh --zone "asia-Southeast1-a" "tf-airbyte-demo-airbyte" --project "tf-airbyte-demo"
Tiếp theo, thêm phần sau vào lệnh để chuyển tiếp cục bộ giao diện người dùng Airbyte:
- -L 8000: localhost: 8000 -L 8001: localhost: 8001 -N -f
Lệnh cuối cùng của bạn sẽ giống như sau:
gcloud beta compute ssh --zone "asia-Southeast1-a" "tf-airbyte-demo-airbyte" --project "tf-airbyte-demo" - -L 8000: localhost: 8000 -L 8001: localhost: 8001 - N -f
Lưu ý: Đảm bảo xóa ký tự dòng mới sau khi sao chép từ giao diện người dùng GCP.
Nếu phiên bản Airbyte đã khởi động xong, bạn có thể truy cập nó bằng cách vào trình duyệt của mình và truy cập localhost: 8000. Nếu không, hãy đợi năm phút để phiên bản hoàn tất cài đặt.
Hình ảnh của tác giả.
Giờ đây, bạn có thể tích hợp các nguồn của mình, thêm điểm đến BigQuery bằng cách sử dụng airbyte_sa_keyvà có dữ liệu của bạn trong BigQuery ngay lập tức.
Bạn có thể truy cập cài đặt Airbyte tại / airbyte / bên trong máy ảo.
Dữ liệu mô hình với dbt
DBT (công cụ xây dựng dữ liệu) là một công cụ chuyển đổi dữ liệu nguồn mở mạnh mẽ bằng cách sử dụng SQL. Nó cho phép Nhà phân tích dữ liệu thực hiện công việc trước đây dành cho Kỹ sư dữ liệu. Nó cũng giúp tạo một vị trí hoàn toàn mới được gọi là Kỹ sư phân tích, sự kết hợp giữa Nhà phân tích dữ liệu và Kỹ sư dữ liệu. Bạn có thể đọc thêm về vị trí trong blog của tôi tại đây.
Hình ảnh của tác giả.
Không giống như Airbyte, Airflow và Metabase, bạn không cần máy chủ để chạy dbt. Bạn có thể đăng ký tài khoản 1 chỗ miễn phí (mãi mãi) bằng cách truy cập trang mạng.
Điều chỉnh quy trình làm việc với Luồng không khí
Luồng khí là một công cụ điều phối quy trình làm việc đã được chứng minh bởi Airbnb. Với một ngăn xếp dữ liệu hiện đại, hy vọng rằng bạn sẽ không phải sử dụng Airflow nhiều. Tuy nhiên, trong một số trường hợp cần một số tùy chỉnh, Luồng khí có thể là công cụ cần thiết của bạn.
Để truy cập UI, hãy lấy lệnh SSH tương tự như phần trên với Airbyte. Sử dụng lệnh sau để chuyển tiếp:
gcloud beta compute ssh --zone "asia-Southeast1-a" "tf-airbyte-demo-airflow" --project "tf-airbyte-demo" - -L 8080: localhost: 8080 -N -f
Bây giờ bạn có thể truy cập cài đặt Luồng khí tại localhost: 8080. Tên người dùng và mật khẩu mặc định là quản trị viên và quản trị viên.
Hình ảnh của tác giả.
Bạn có thể truy cập cài đặt luồng gió tại / airflow / bên trong máy ảo.
Trực quan hóa dữ liệu với Metabase
Siêu dữ liệu là một công cụ trực quan hóa và khám phá dữ liệu mã nguồn mở. Nó siêu thân thiện với người dùng và dễ dàng bắt đầu.
Để truy cập Metabase UI, hãy lấy lệnh SSH tương tự như phần trên với Airbyte. Sau đó, sử dụng lệnh sau để chuyển tiếp:
gcloud beta compute ssh --zone "asia-Southeast1-a" "tf-airbyte-demo-metabase" --project "tf-airbyte-demo" - -L 3000: localhost: 3000 -N -f
Hình ảnh của tác giả.
Làm sạch
Để tránh bất kỳ chi phí phát sinh không mong muốn nào, hãy đảm bảo làm sạch các tài nguyên được tạo trong dự án này bằng cách chạy.
phá hủy địa hình
Cảnh báo: Thao tác này sẽ xóa mọi dữ liệu và tài nguyên còn tồn tại trong dự án. Ngoài ra, bạn cũng có thể tắt GCE không sử dụng để tiết kiệm chi phí.
Nguyên. Đăng lại với sự cho phép.
Tiểu sử: Tuấn Nguyễn là CTO của Joon Solutions, một công ty Dịch vụ về Dữ liệu. Kinh nghiệm chuyên môn của anh ấy xoay quanh việc xây dựng và quản lý các nhóm khoa học dữ liệu, cơ sở hạ tầng phân tích và các trường hợp sử dụng phân tích. Anh ấy thích kết hợp niềm đam mê của mình với phân tích dữ liệu và điện toán đám mây để giúp các doanh nghiệp duy trì khả năng cạnh tranh trong thời đại kỹ thuật số này. Anh ấy có nhiều sở thích, bao gồm thiên văn học, đọc sách, âm nhạc và IoT.
Liên quan:
Câu chuyện hàng đầu trong 30 ngày qua | |||
---|---|---|---|
|
Nguồn: https://www.kdnuggets.com/2021/08/bootstrap-modern-data-stack-terraform.html
- "
- &
- truy cập
- Tài khoản
- thêm vào
- Airbnb
- Tất cả
- phân tích
- phân tích
- Apache
- api
- kiến trúc
- xung quanh
- bài viết
- thiên văn học
- Xác thực
- tự động
- beta
- vụ án lớn
- thanh toán
- Blog
- bảng
- thành viên hội đồng quản trị
- biên giới
- trình duyệt
- xây dựng
- Xây dựng
- các doanh nghiệp
- mà
- trường hợp
- đám mây
- điện toán đám mây
- Nền tảng đám mây
- mã
- Các công ty
- công ty
- Tính
- máy tính
- nội dung
- Chi phí
- Tạo
- CTO
- dữ liệu
- truy cập dữ liệu
- Phân tích dữ liệu
- tích hợp dữ liệu
- khoa học dữ liệu
- trực quan hóa dữ liệu
- kho dữ liệu
- Kho dữ liệu
- Cơ sở dữ liệu
- ngày
- học kĩ càng
- phá hủy
- kỹ thuật số
- Giám đốc
- phát hiện
- ky sư
- Kỹ sư
- Kinh nghiệm
- Tên
- Tập trung
- theo
- định dạng
- Miễn phí
- Gói Vàng
- Google Cloud
- GPU
- hướng dẫn
- tại đây
- Cao
- Độ đáng tin của
- HTTPS
- Hàng trăm
- Hỗn hợp
- IAM
- hình ảnh
- Bao gồm
- Cơ sở hạ tầng
- hội nhập
- tham gia
- iốt
- IT
- LEARN
- học tập
- địa phương
- tại địa phương
- học máy
- Làm
- trung bình
- ML
- tiền
- Âm nhạc
- Trực tuyến
- mở
- mã nguồn mở
- Ý kiến
- Các lựa chọn
- Mật khẩu
- hiệu suất
- nền tảng
- Phổ biến
- dự án
- công khai
- phạm vi
- Reading
- giảm
- tài nguyên
- Thông tin
- chạy
- chạy
- Khoa học
- các nhà khoa học
- sdk
- Tự phục vụ
- DỊCH VỤ
- Đơn giản
- Giải pháp
- Quay
- SQL
- Bắt đầu
- bắt đầu
- ở lại
- Những câu chuyện
- hệ thống
- Công nghệ
- thời gian
- hàng đầu
- Chuyển đổi
- biến đổi
- ui
- giá trị
- hình dung
- chờ đợi
- Kho
- Là gì
- Công việc
- quy trình làm việc
- X
- năm