0

Trino SQL Bài học 5: Kết nối Trino với DBeaver và các công cụ BI

Mục tiêu bài học:

  • Nắm được phương thức giao tiếp chuẩn (JDBC) giữa Trino và các ứng dụng bên ngoài.

  • Thiết lập thành công kết nối từ DBeaver đến cụm Trino local.

  • Hiểu cách cấu hình chuỗi kết nối cho các hệ thống Business Intelligence (BI) như Metabase hoặc Apache Superset.

1. Tại sao cần DBeaver thay vì các công cụ khác?

Trino giao tiếp với thế giới bên ngoài chủ yếu thông qua REST API và JDBC Driver. Dù các công cụ quản trị CSDL truyền thống như Navicat thao tác rất mượt mà khi bạn thiết kế query cho MySQL hay PostgreSQL, chúng thường thiếu hỗ trợ nguyên bản cho các hệ thống phân tán đa nguồn.

DBeaver (bản Community) là công cụ mã nguồn mở dựa trên Java, hỗ trợ hoàn hảo hệ sinh thái JDBC. Điều này giúp DBeaver tự động lấy được cấu trúc phân cấp 3 tầng (Catalog > Schema > Table) của Trino và hiển thị trực quan dưới dạng cây thư mục.

2. Các bước kết nối DBeaver với Trino

Bước 1: Tải và cài đặt DBeaver Nếu chưa có, bạn có thể tải bản DBeaver Community miễn phí tại trang chủ dbeaver.io.

Bước 2: Khởi tạo kết nối mới

  1. Mở DBeaver, nhấn vào biểu tượng phích cắm (New Database Connection) ở góc trên bên trái.

  2. Tại ô tìm kiếm, gõ Trino và chọn biểu tượng hình chú thỏ (logo của Trino), sau đó nhấn Next.

Bước 3: Điền thông số kết nối Cấu hình theo cụm Trino Docker đang chạy ở Bài 2:

  • Host: localhost

  • Port: 8080

  • Database: (Để trống nếu bạn muốn xem tất cả Catalog, hoặc điền tpch để giới hạn).

  • Username: admin (Dùng tên bất kỳ vì môi trường local chưa bật xác thực).

  • Password: (Để trống).

Bước 4: Tải JDBC Driver Khi bạn nhấn Test Connection lần đầu, DBeaver sẽ phát hiện chưa có JDBC Driver của Trino. Một hộp thoại sẽ hiện ra yêu cầu tải xuống (Download). Bạn chỉ cần nhấn Download, DBeaver sẽ tự động kéo file .jar tương ứng từ Maven Repository về máy.

Khi có thông báo Connected, nhấn Finish để lưu lại.

3. Khám phá không gian dữ liệu trên DBeaver

Sau khi kết nối thành công, ở thanh điều hướng bên trái (Database Navigator):

  • Bạn sẽ thấy các biểu tượng cơ sở dữ liệu đại diện cho từng Catalog (ví dụ: tpch, memory, system).

  • Mở rộng tpch, bạn sẽ thấy các Schema như tiny, sf1, sf10.

  • Mở rộng tiếp tiny, bạn sẽ thấy các Table như customer, orders, lineitem.

Hãy mở SQL Editor (F3) trên DBeaver và chạy thử truy vấn:

SQL

SELECT 
    orderstatus, 
    COUNT(*) as total_orders, 
    SUM(totalprice) as revenue
FROM tpch.tiny.orders
GROUP BY orderstatus;

Nhờ kết nối JDBC, DBeaver cũng hỗ trợ gợi ý code (autocomplete) cho tên Catalog và Schema, giúp việc viết câu lệnh dài nhàn hơn rất nhiều so với CLI.

4. Tích hợp Trino với các công cụ BI (Tổng quan)

Sức mạnh thực sự của Trino bùng nổ khi được nối với các hệ thống BI để làm Dashboard báo cáo tự động hóa. Cách tiếp cận cũng tương tự như DBeaver, sử dụng chuỗi kết nối chuẩn.

Chuỗi kết nối (Connection URI) tiêu chuẩn của Trino:

Plaintext

trino://[username]:[password]@[host]:[port]/[catalog]/[schema]

  • Với Metabase: Metabase có plugin chính thức cho Trino. Bạn chỉ cần nhập Host localhost, Port 8080, Username admin, và chọn Catalog muốn trực quan hóa.

  • Với Apache Superset (Python): Superset sử dụng SQLAlchemy. Bạn sẽ cài thư viện trino[sqlalchemy] qua pip, sau đó cấu hình URI dạng: trino://admin@localhost:8080/tpch.

Bằng cách này, một nhân viên Data Analyst có thể kéo thả biểu đồ trên Metabase, Metabase sẽ sinh ra câu lệnh SQL đẩy xuống Trino. Trino phân tích yêu cầu, gọi Worker sang MySQL và Kafka lấy dữ liệu, tính toán gom nhóm in-memory rồi trả lại kết quả để Metabase vẽ chart.


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí