0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Microsoft FabricAdvent Calendar 2024

Day 4

Microsoft Fabric で Delta Lake Clone を使う際の注意点

Posted at

はじめに

DeltaLake の機能として Cloneコマンド がありますが、Fabric Lakehouse で使用できるかを確認しました。

結論としては、ノートブック以外での利用は不可でした。

Cloneコマンドについて

OSS Delta Lake では SHALLOW CLONE がサポートされています。

SHALLOW CLONEは、メタデータのみを複製するだけなので、非常に高速にテーブルの複製ができる DeltaLake のテーブルユーティリティコマンドです。

ソーステーブルと同じデータファイルから開始されますが、更新は別の独立した DeltaLogとデータファイルが追加されていくことになるのでソーステーブルに影響なく処理することが可能です。

Databricks ではデータの実体もコピーして新しいテーブルを作成する DEEP CLONEもサポートされています。

image.png

手順

準備

レイクハウスに適当なテーブルを作成しておきます。

pyspark

from pyspark.sql import Row

# サンプルデータの作成
data = [Row(id=1, name="Alice", age=30),
        Row(id=2, name="Bob", age=25),
        Row(id=3, name="Charlie", age=35),
        Row(id=4, name="David", age=40),
        Row(id=5, name="Eva", age=22)]

# DataFrameの作成
df = spark.createDataFrame(data)
display(df)

df.write.mode("overwrite").saveAsTable("source_people")

image.png

Clone コマンドの実行

  1. 名前かURLでソーステーブルを指定できます。以下のコマンドを実行します。

    sql
    
    %%sql
    
    create or replace table clone_people_by_name
    shallow clone source_people;
    
    

    または、別の場所にあるテーブルなどパスで指定する場合は、abfssパスで参照可能です。

    sql
    
    %%sql
    
    create or replace table clone_people_by_name
    shallow clone delta.`abfss パス`;
    
    

    image.png

  2. レイクハウスのファイルを確認すると、DeltaLog だけが作成されたテーブルが確認できます。
    image.png
    image.png

クエリの確認

成功するエンジン

  • ノートブック
    問題なくクエリできます。

    sql
    
    %%sql
    select * from clone_people_by_name;
    
    

    image.png

失敗するエンジン

  • SQL分析エンドポイント
    System.NotSupportedException が表示されてしまいました。メタデータの同期処理がうまくいかないようです。
    image.png

    image.png

  • データパイプライン
    こちらも NotFound のエラー
    image.png

  • データフローGen2
    データフローGen2 は SQL 分析エンドポイントを使用するようですので、表示されず。
    image.png

  • Direct Lake セマンティックモデル
    こちらも表示されず。
    image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?