Forum Discussion
Loading CSV table from notebook resources to a delta table in a lakehouse using code snippet
- 1 year ago
Hi Anonymous,
Replace the notebookutils.lakehouse.loadTable block with standard PySpark code using .read() and .saveAsTable() — this is the official, stable, and Fabric-supported approach for loading data from a CSV file to a Lakehouse table.
Microsoft recommends using PySpark APIs in Fabric Notebooks for reading/writing data to Lakehouse tables. The method notebookutils.lakehouse.loadTable() is not part of the documented, supported APIs and is likely either an internal or deprecated utility.
You can use PySpark to load data from CSV, Parquet, JSON, and other file formats into a lakehouse. You can also create tables directly from these DataFrames.
ex:
df = spark.read.option("header", True).csv("Files/YourFolder/yourfile.csv")
df.write.mode("overwrite").saveAsTable("lakehouse_name.table_name")Thanks,
Prashanth Are
MS Fabric community support
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly and give Kudos if helped you resolve your query
Hi Anonymous ,
There is no such method available.
As per the article, You can use relative paths like builtin/YourData.txt for quick exploration. The notebookutils.nbResPath method helps you compose the full path. You can spark to read from the relative path and write to table.
Refer - https://learn.microsoft.com/en-us/fabric/data-engineering/how-to-use-notebook#notebook-resources
Regards,
Srisakthi
If this response helps you, please "Accept as solution" and give "Kudos". It can helps others.
Hi Srisakthi,
I don't understand why you say that there is no such method. The method does exit as shown in the attached image. It is part of the lakehouse help.
And not only that, it is also used in a built-in code snippet called "Load table" that "starts a load table operation in a Lakehouse artifact".
Do you suggest another solution to copy a csv file from the notebook resources to a table in a lakehouse?
Best regards,
Juan