ノートブックを使用してレイクハウスにデータを読み込む

このチュートリアルでは、ノートブックを使用してレイクハウスにデータを読み書きする方法について説明します。この目標を達成するために、Spark API と Pandas API がサポートされています。

Apache Spark API を使用してデータを読み込む

ノートブックの [コード] セルで、次のコード例を使用してソースからデータを読み取り、レイクハウスの [ファイル][テーブル]、または両方のセクションに読み込みます。

読み取る場所は、データが現在のノートブックの既定のレイクハウスからの場合は相対パスを使用して指定できます。また、データが他のレイクハウスからの場合は絶対 ABFS パスを使用して指定できます。 このパスは、データのコンテキスト メニューからコピーできます

Screenshot showing menu option of copy action.

[Copy ABFS path] (ABFS パスのコピー): ファイルの絶対パスが返されます

[Copy relative path for Spark] (Spark の相対パスのコピー): 既定のレイクハウス内のファイルの相対パスが返されます

df = spark.read.parquet("location to read from") 

# Keep it if you want to save dataframe as CSV files to Files section of the default Lakehouse

df.write.mode("overwrite").format("csv").save("Files/ " + csv_table_name)

# Keep it if you want to save dataframe as Parquet files to Files section of the default Lakehouse

df.write.mode("overwrite").format("parquet").save("Files/" + parquet_table_name)

# Keep it if you want to save dataframe as a delta lake, parquet table to Tables section of the default Lakehouse

df.write.mode("overwrite").format("delta").saveAsTable(delta_table_name)

# Keep it if you want to save the dataframe as a delta lake, appending the data to an existing table

df.write.mode("append").format("delta").saveAsTable(delta_table_name)

Pandas API を使用してデータを読み込む

Pandas API をサポートするために、既定のレイクハウスがノートブックに自動的にマウントされます。 マウント ポイントは "/lakehouse/default/" です。 このマウント ポイントを使用して、既定のレイクハウスとの間でデータの読み取り/書き込みを行うことができます。 コンテキスト メニューの [Copy File API Path] (ファイル API パスのコピー) オプションは、そのマウント ポイントからファイル API パスを返します。 [Copy ABFS path] (ABFS パスのコピー) オプションから返されるパスは、Pandas API でも機能します。

Screenshot showing menu option of copy File API path.

[Copy File API Path] (ファイル API パスのコピー) : 既定のレイクハウスのマウント ポイントの下のパスが返されます

# Keep it if you want to read parquet file with Pandas from the default lakehouse mount point 

import pandas as pd
df = pd.read_parquet("/lakehouse/default/Files/sample.parquet")

# Keep it if you want to read parquet file with Pandas from the absolute abfss path 

import pandas as pd
df = pd.read_parquet("abfss://DevExpBuildDemo@msit-onelake.dfs.fabric.microsoft.com/Marketing_LH.Lakehouse/Files/sample.parquet")

ヒント

Spark API の場合は、[Copy ABFS path] (ABFS パスのコピー) または [Copy relative path for Spark] (Spark の相対パスのコピー) オプションを使用してファイルのパスを取得してください。 Pandas API の場合は、[Copy ABFS path] (ABFS パスのコピー) または [Copy File API path] (ファイル API パスのコピー) オプションを使用してファイルのパスを取得してください。

Spark API または Pandas API を操作するコードを使用する最も簡単な方法は、[データの読み込み] オプションを使用し、使用する API を選択することです。 コードは、ノートブックの新しいコード セルに自動的に生成されます。

Screenshot showing where to select load data option.