Join us for an expert-led overview of the tools and concepts you'll need to pass exam PL-300. The first session starts on June 11th. See you there!
Get registeredJoin us at FabCon Vienna from September 15-18, 2025, for the ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM. Get registered
Hi All,
I want to convert Lakehouse files to Lakehouse tables using Notebooks but without mounting Lakehouse in notebook.
I dont want to mount the Lakehouse, as i am trying to create a generic notebook which is capable of converting any file of any Lakehouse into table in that particular lakehouse.
Things which i tried-
I am able to read the file providing the absolute path and store data in df but while trying to saveAsTable i am getting following error since Lakehouse is not mounted:
df = spark.read.parquet("abfss://WorkspaceName@onelake.dfs.fabric.microsoft.com/LakehouseName.Lakehouse/Files/POC/FileName.parquet")
df.count()
df.write.format("delta").mode("overwrite").saveAsTable("TableName")
I tried mounting the Lakehouse via code and then use saveAsTable, but it is failing with syntax error:
import os
import pandas as pd
workspaceID = ""
lakehouseID = ""
mount_name = "/temp_mnt"
base_path = f"abfss://{workspaceID}@onelake.dfs.fabric.microsoft.com/{lakehouseID}/"
mssparkutils.fs.mount(base_path, mount_name)
df = spark.read.parquet(base_path+"/Files/FileName.parquet")
df.count()
table_path = base_path+"Tables/TableName"
df.write.format("delta").mode("overwrite").saveAsTable(table_path)
I think, i am performing some coding error and not able to provide table path correctly.
Kindly suggest some ways to acheive this scenario.
Solved! Go to Solution.
Hi @PriyaJha ,
To achieve the goal without mounting Lakehouse, use the Save method instead of saveAsTable:
df = spark.read.csv(“abfss://daisyTest1@onelake.dfs.fabric.microsoft.com/daisyTest2.Lakehouse/Files/ProductsTest.csv”, header=True, inferSchema=True)
df.count()
table_path = “abfss://daisyTest1@onelake.dfs.fabric.microsoft.com/daisyTest2.Lakehouse/Tables/ProductsTest”
df.write.format(“delta”).mode(“overwrite”).save(table_path)
Replace the workspaceName, lakehouseName, and csv file in it with your own to use.
You can see that it works fine.
You can see the table being loaded after hitting refresh at the Tables in lakehouse.
If you have any other questions please feel free to contact me.
Best Regards,
Yang
Community Support Team
If there is any post helps, then please consider Accept it as the solution to help the other members find it more quickly.
If I misunderstand your needs or you still have problems on it, please feel free to let us know. Thanks a lot!
Hi @PriyaJha ,
To achieve the goal without mounting Lakehouse, use the Save method instead of saveAsTable:
df = spark.read.csv(“abfss://daisyTest1@onelake.dfs.fabric.microsoft.com/daisyTest2.Lakehouse/Files/ProductsTest.csv”, header=True, inferSchema=True)
df.count()
table_path = “abfss://daisyTest1@onelake.dfs.fabric.microsoft.com/daisyTest2.Lakehouse/Tables/ProductsTest”
df.write.format(“delta”).mode(“overwrite”).save(table_path)
Replace the workspaceName, lakehouseName, and csv file in it with your own to use.
You can see that it works fine.
You can see the table being loaded after hitting refresh at the Tables in lakehouse.
If you have any other questions please feel free to contact me.
Best Regards,
Yang
Community Support Team
If there is any post helps, then please consider Accept it as the solution to help the other members find it more quickly.
If I misunderstand your needs or you still have problems on it, please feel free to let us know. Thanks a lot!
User | Count |
---|---|
13 | |
4 | |
3 | |
3 | |
3 |
User | Count |
---|---|
8 | |
8 | |
7 | |
6 | |
5 |