Delta Lake テーブルの最適化

Microsoft Fabricでデータを変換して分析する

Luis Silva

Solution Architect - Data & AI

Delta Lake とは?

  • レイクハウス向けオープンソースのストレージ層
  • ACID トランザクション、メタデータ管理、バージョニング
  • Fabric は標準として Delta Lake テーブル形式(Parquet)を使用
  • Fabric エクスペリエンス間で相互運用可能

データを Delta Lake テーブルとして取り込み・保存し、Power BI でクエリする Fabric アーキテクチャ図

Microsoft Fabricでデータを変換して分析する

テーブル保守

  • Delta テーブルを良好に保つ
  • テーブル保守の操作:
    • Optimize
    • V-Order
    • Vacuum
Microsoft Fabricでデータを変換して分析する

Optimize

  • 複数の小さな Parquet を大きなファイルに集約
    • 理想サイズは 128MB~1GB
    • 圧縮と分散が向上し、読み取り効率化
    • 大規模テーブル読み込み後の最適化を推奨

多数の小さな Parquet を 2 つの大きな Parquet に最適化する図。元ファイルは非アクティブのまま

Microsoft Fabricでデータを変換して分析する

Optimize

  • 複数の小さな Parquet を大きなファイルに集約
    • 理想サイズは 128MB~1GB
    • 圧縮と分散が向上し、読み取り効率化
    • 大規模テーブル読み込み後の最適化を推奨

多数の小さな Parquet を 2 つの大きな Parquet に最適化する図。元ファイルは非アクティブのまま

Microsoft Fabricでデータを変換して分析する

Lakehouse エクスプローラーから Optimize を実行

Lakehouse エクスプローラーの Maintenance コマンド画面。Run OPTIMIZE command オプションを強調表示

Microsoft Fabricでデータを変換して分析する

Spark SQL で Optimize コマンドを実行

%%sql
OPTIMIZE <lakehouse>.<table>;
Microsoft Fabricでデータを変換して分析する

PySpark で Optimize コマンドを実行

from delta.tables import DeltaTable

dt = DeltaTable.forPath( spark, "Tables/<table>" )
dt.optimize().executeCompaction()
Microsoft Fabricでデータを変換して分析する

V-Order

  • Parquet 書き込み時の特殊最適化
  • 既定で有効
Microsoft Fabricでデータを変換して分析する

Lakehouse エクスプローラーで V-Order を適用

Lakehouse エクスプローラーの Maintenance コマンド画面。Apply V-ORDER オプションを強調表示

Microsoft Fabricでデータを変換して分析する

Apache Spark セッションでの V-Order 書き込み制御

  • セッションで V-Order を有効化

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

     

  • セッションで V-Order を無効化

    %%sql 
    SET spark.sql.parquet.vorder.enabled=FALSE
    
Microsoft Fabricでデータを変換して分析する

最適化時に V-Order を適用

%%sql 
OPTIMIZE <table|fileOrFolderPath> VORDER;
Microsoft Fabricでデータを変換して分析する

Vacuum

  • 保持期間を過ぎ不要になった古いファイルを削除
  • クラウドストレージ費用を削減

レイクハウス表が、アクティブな大きな Parquet 2 件と、非アクティブだが保存中の小さな Parquet 複数から成る図。VACUUM 後に古いファイルが削除される

Microsoft Fabricでデータを変換して分析する

Vacuum

  • 保持期間を過ぎ不要になった古いファイルを削除
  • クラウドストレージ費用を削減

レイクハウス表が、アクティブな大きな Parquet 2 件と、非アクティブだが保存中の小さな Parquet 複数から成る図。VACUUM 後に古いファイルが削除される

Microsoft Fabricでデータを変換して分析する

Lakehouse エクスプローラーから Vacuum を実行

Lakehouse エクスプローラーの Maintenance コマンド画面。Run VACUUM オプションを強調表示

Microsoft Fabricでデータを変換して分析する

¡Vamos a practicar!

Microsoft Fabricでデータを変換して分析する

Preparing Video For Download...