Tối ưu bảng Delta Lake

Biến đổi và Phân tích Dữ liệu với Microsoft Fabric

Luis Silva

Solution Architect - Data & AI

Delta Lake là gì?

  • Lớp lưu trữ mã nguồn mở cho lakehouse
  • Giao dịch ACID, xử lý siêu dữ liệu và quản lý phiên bản
  • Fabric dùng định dạng bảng Delta Lake (Parquet) làm chuẩn
  • Tương tác liên thông giữa các trải nghiệm Fabric

Sơ đồ kiến trúc Fabric cho thấy dữ liệu được nạp và lưu dưới dạng bảng Delta Lake rồi truy vấn bằng Power BI

Biến đổi và Phân tích Dữ liệu với Microsoft Fabric

Bảo trì bảng

  • Duy trì bảng Delta gọn nhẹ
  • Các thao tác bảo trì bảng:
    • Optimize
    • V-Order
    • Vacuum
Biến đổi và Phân tích Dữ liệu với Microsoft Fabric

Optimize

  • Gộp nhiều tệp Parquet nhỏ thành tệp lớn
    • Kích thước lý tưởng: 128MB–1GB
    • Cải thiện nén và phân phối, đọc hiệu quả hơn
    • Nên tối ưu sau khi nạp bảng lớn

Sơ đồ minh họa một bảng lakehouse gồm nhiều tệp parquet nhỏ được tối ưu thành hai tệp lớn. Các tệp gốc chuyển sang không hoạt động

Biến đổi và Phân tích Dữ liệu với Microsoft Fabric

Optimize

  • Gộp nhiều tệp Parquet nhỏ thành tệp lớn
    • Kích thước lý tưởng: 128MB–1GB
    • Cải thiện nén và phân phối, đọc hiệu quả hơn
    • Nên tối ưu sau khi nạp bảng lớn

Sơ đồ minh họa một bảng lakehouse gồm nhiều tệp parquet nhỏ được tối ưu thành hai tệp lớn. Các tệp gốc chuyển sang không hoạt động

Biến đổi và Phân tích Dữ liệu với Microsoft Fabric

Chạy lệnh Optimize từ Lakehouse explorer

Ảnh chụp lệnh Maintenance trong Lakehouse explorer, làm nổi bật tùy chọn Run OPTIMIZE command

Biến đổi và Phân tích Dữ liệu với Microsoft Fabric

Chạy lệnh Optimize trong Spark SQL

%%sql
OPTIMIZE <lakehouse>.<table>;
Biến đổi và Phân tích Dữ liệu với Microsoft Fabric

Chạy lệnh Optimize trong PySpark

from delta.tables import DeltaTable

dt = DeltaTable.forPath( spark, "Tables/<table>" )
dt.optimize().executeCompaction()
Biến đổi và Phân tích Dữ liệu với Microsoft Fabric

V-Order

  • Tối ưu đặc biệt khi ghi tệp Parquet
  • Bật mặc định
Biến đổi và Phân tích Dữ liệu với Microsoft Fabric

Áp dụng V-Order từ Lakehouse explorer

Ảnh chụp lệnh Maintenance trong Lakehouse explorer, làm nổi bật tùy chọn Apply V-ORDER

Biến đổi và Phân tích Dữ liệu với Microsoft Fabric

Kiểm soát ghi V-Order trong phiên Apache Spark

  • Bật V-Order cho phiên

    %%sql 
    SET spark.sql.parquet.vorder.enabled=TRUE
    

     

  • Tắt V-Order cho phiên

    %%sql 
    SET spark.sql.parquet.vorder.enabled=FALSE
    
Biến đổi và Phân tích Dữ liệu với Microsoft Fabric

Áp dụng V-Order khi tối ưu bảng

%%sql 
OPTIMIZE <table|fileOrFolderPath> VORDER;
Biến đổi và Phân tích Dữ liệu với Microsoft Fabric

Vacuum

  • Xóa các tệp cũ không còn cần và vượt ngưỡng lưu giữ
  • Giảm chi phí lưu trữ đám mây

Sơ đồ minh họa một bảng lakehouse gồm hai tệp parquet lớn đang hoạt động và nhiều tệp nhỏ không còn hoạt động nhưng vẫn còn trong lưu trữ. Sau khi chạy vacuum, các tệp cũ bị xóa khỏi lưu trữ

Biến đổi và Phân tích Dữ liệu với Microsoft Fabric

Vacuum

  • Xóa các tệp cũ không còn cần và vượt ngưỡng lưu giữ
  • Giảm chi phí lưu trữ đám mây

Sơ đồ minh họa một bảng lakehouse gồm hai tệp parquet lớn đang hoạt động và nhiều tệp nhỏ không còn hoạt động nhưng vẫn còn trong lưu trữ. Sau khi chạy vacuum, các tệp cũ bị xóa khỏi lưu trữ

Biến đổi và Phân tích Dữ liệu với Microsoft Fabric

Chạy Vacuum từ Lakehouse explorer

Ảnh chụp lệnh Maintenance trong Lakehouse explorer, làm nổi bật tùy chọn Run VACUUM

Biến đổi và Phân tích Dữ liệu với Microsoft Fabric

Ayo berlatih!

Biến đổi và Phân tích Dữ liệu với Microsoft Fabric

Preparing Video For Download...