Shout out: Tác giả của Efficient Data Processing in SQL - Josephmachado
Chào mừng bạn đến với dự án học SQL phân tích trên hệ cơ sở dữ liệu OLAP sử dụng Trino và bộ dữ liệu TPC-H. Hướng dẫn này sẽ giúp bạn cài đặt và khởi chạy môi trường làm việc chỉ trong vài bước đơn giản.
- Cài WSL + Ubuntu theo hướng dẫn này hoặc xem repo sau (có video hướng dẫn)
- Cài Docker bên trong Ubuntu (nếu chưa có thì xem bài viết này hoặc repo sau)
- Cài thêm
makebằng lệnh:
sudo apt install make -ygit clone https://github.com/tunguyenn99/distributed-data-processing.git
cd distributed-data-processing💻 Người dùng Macbook M1 nên xem thêm lưu ý này
# Kiểm tra Docker đang chạy
docker ps
# Khởi chạy toàn bộ container
make up
# Nếu có lỗi, xóa toàn bộ container bằng:
# docker rm -f $(docker ps -a -q)
# Chờ khoảng 60 giây để hệ thống sẵn sàng
sleep 60
# Mở giao diện dòng lệnh Trino
make trino-- Gõ trong CLI của Trino:
USE tpch.tiny;
SHOW tables;
SELECT * FROM orders LIMIT 5;
exit;📦 Trino có sẵn nhiều bộ dữ liệu mẫu theo các mức độ lớn nhỏ: tiny, sf1, sf100, v.v.
- Giao diện Trino: http://localhost:8080 (username gõ gì cũng được)
- Giao diện MinIO (giả lập S3): http://localhost:9001
- Tài khoản:
minio - Mật khẩu:
minio123
- Tài khoản:
- Tải DBeaver tại đây
- Vào
Database→New Database Connection - Chọn
Trino→ Next - Để nguyên cấu hình mặc định → Nhập user là
user - Test connection → Finish
Bộ dữ liệu TPC-H mô phỏng một doanh nghiệp bán linh kiện xe hơi gồm:
- Đơn hàng (orders)
- Sản phẩm trong đơn (lineitem)
- Khách hàng
- Nhà cung cấp
- Khu vực, quốc gia, sản phẩm...
📌 Bạn nên giữ sơ đồ này bên cạnh khi học và làm bài tập.
Dự án này sử dụng:

