在使用Azure Synapse Analytics(阿萨)的Spark notebook时,我可以使用Scala将CSV文件保存为专用SQL池中的表,只需两个简单的语句:
%%spark
// [1] - https://spark.apache.org/docs/latest/sql-data-sources-load-save-functions.html
// [2] - https://learn.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-introduction-abfs-uri
val testDF = spark.read.format("csv").option("header", "true").load(
"abfss://earytestfs@earytestsa.dfs.core.windows.net/TIOBE-azure-backup.csv"
);
// [3] - https://www.aizoo.info/post/dropping-a-sql-table-in-your-synapse-spark-notebooks
// [4] - https://stackoverflow.com/questions/67907984/write-data-to-sql-dw-from-apache-spark-in-azure-synapse
testDF.write.mode("overwrite").synapsesql("eary_dedicated_test_sql_pool.dbo.TIOBE_test");
字符串
不幸的是,上面的[3]似乎暗示PySpark不存在synapsesql函数。自从达伦上次更新他的帖子以来,这种情况有没有改变?
- 注意:我不想为Apache Spark配置Azure Synapse Dedicated SQL Pool Connector。我的专用SQL池与我的Spark Pool在同一个工作空间中,所以我不觉得我应该为配置一堆身份验证选项而烦恼:*
EDIT:下面的pyspark代码给我
“属性错误:'DataFrameWriter'对象没有属性'synapsesql'“
7号线
%%pyspark
df = spark.read.load('abfss://earytestfs@earytestsa.dfs.core.windows.net/TIOBE-azure-backup.csv', format='csv'
## If header exists uncomment line below
, header=True
)
# [5] - https://stackoverflow.com/questions/69720753/write-dataframe-to-sql-dedicated-database-using-synapse-analytics
df.write.mode("overwrite").synapsesql("eary_dedicated_test_sql_pool.dbo.TIOBE_test")
型
2条答案
按热度按时间luaexgnf1#
Python对
synapsesql
的支持已经有一年了。只需按照docs添加导入即可:字符串
Python Notebook using synapsesql method
7y4bm7vi2#
下面的代码将帮助您将CSV文件保存为专用SQL池中的表:
字符串
定义SQL池连接详情:
型
**将DataFrame写入SQL池:**使用write方法将mapped_df DataFrame写入Azure Synapse Analytics专用SQL池。格式被指定为“jdbc”以指示写入JDBC数据源。
型
输出:
