Forum Discussion
Spark reading writing to SQL Database
The following blog post illustrates reading/writing to Fabric Warehouse from Spark notebook.
@https://community.fabric.microsoft.com/t5/Data-Engineering-Community-Blog/Spark-Connector-for-Fabric-Warehouse-Unified-Analytics/ba-p/4611309
Are there examples to read and write to SQL Database(preview) using Spark within Fabric notebook? Say even this (currently failing):
df.write.jdbc(...)
Hi P_work ,
Thanks for reaching out to the Microsoft fabric community forum.
Thanks for your prompt response
P_work , I have attached the official document and relevant solved threads related to your use case. I hope you find them helpful
Spark connector for Microsoft Fabric Data Warehouse - Microsoft Fabric | Microsoft Learn
Solved: Re: Fabric Notebook Outputs to Azure SQL Database ... - Microsoft Fabric Community
Solved: Re: Write df to DataWarehouse tables - Microsoft Fabric Community
If this post helped resolve your issue, please consider giving it Kudos and marking it as the Accepted Solution. This not only acknowledges the support provided but also helps other community members find relevant solutions more easily.
We appreciate your engagement and thank you for being an active part of the community.
Best regards,
LakshmiNarayana.Here is how you connect to SQL DB from Fabric Notebook using SPN credentials
host = ''database = ''sql_query = ''jdbc_url = f'jdbc:sqlserver://{host};database={database};authentication=ActiveDirectoryServicePrincipal;encrypt=true;trustServerCertificate=true;'db_properties = {"user": f"{client_id}","password": f"{client_secret}","driver": "com.microsoft.sqlserver.jdbc.SQLServerDriver"}#For Readingspark.read.jdbc(url=jdbc_url, table=f"({sql_query}) AS query_alias", properties=db_properties)
#For Writing datadf.write.jdbc(url=jdbc_url, table=table_name, mode=mode, properties=db_properties)
7 Replies
- nilendraFabricSuper User
Hi P_work
try this
df.write.mode("append").option("mergeSchema", "true").synapsesql("DW1.Core.CustomerData")
- P_workHelper I
I believe the main issue was this:
notebookutils.credentials.getToken("pbi")The examples provided were of little use.Also, ensuring using runtime 1.3 appeared to help.
- v-lgarikapatCommunity Support
Hi P_work ,
Thanks for reaching out to the Microsoft fabric community forum.
Thanks for your prompt response
P_work , I have attached the official document and relevant solved threads related to your use case. I hope you find them helpful
Spark connector for Microsoft Fabric Data Warehouse - Microsoft Fabric | Microsoft Learn
Solved: Re: Fabric Notebook Outputs to Azure SQL Database ... - Microsoft Fabric Community
Solved: Re: Write df to DataWarehouse tables - Microsoft Fabric Community
If this post helped resolve your issue, please consider giving it Kudos and marking it as the Accepted Solution. This not only acknowledges the support provided but also helps other community members find relevant solutions more easily.
We appreciate your engagement and thank you for being an active part of the community.
Best regards,
LakshmiNarayana.- v-lgarikapatCommunity Support
Hi P_work ,
If your issue has been resolved, please consider marking the most helpful reply as the accepted solution. This helps other community members who may encounter the same issue to find answers more efficiently.
If you're still facing challenges, feel free to let us know we’ll be glad to assist you further.
Looking forward to your response.
Best regards,
LakshmiNarayana.- v-lgarikapatCommunity Support
Hi P_work ,
If your issue has been resolved, please consider marking the most helpful reply as the accepted solution. This helps other community members who may encounter the same issue to find answers more efficiently.
If you're still facing challenges, feel free to let us know we’ll be glad to assist you further.
Looking forward to your response.
Best regards,
LakshmiNarayana.
- g3kuserHelper II
Here is how you connect to SQL DB from Fabric Notebook using SPN credentials
host = ''database = ''sql_query = ''jdbc_url = f'jdbc:sqlserver://{host};database={database};authentication=ActiveDirectoryServicePrincipal;encrypt=true;trustServerCertificate=true;'db_properties = {"user": f"{client_id}","password": f"{client_secret}","driver": "com.microsoft.sqlserver.jdbc.SQLServerDriver"}#For Readingspark.read.jdbc(url=jdbc_url, table=f"({sql_query}) AS query_alias", properties=db_properties)
#For Writing datadf.write.jdbc(url=jdbc_url, table=table_name, mode=mode, properties=db_properties)