首页 > 解决方案 > 在数据块上使用数据框对象的写入方法时出错

问题描述

我正在尝试使用 Azure Databricks 和 Python 将一些数据写入 Azure SQL 数据仓库。我正在使用的代码如下:

salesdf.write\
   .format('com.databricks.spark.sqldw')\
   .option('url', sqlDwUrlSmall)\
   .option('dbtable', 'StgSales')\
   .option( 'forward_spark_azure_storage_credentials','True')\
   .option('tempdir', tempDir)\
   .mode('overwrite')\
   .save()

此方法失败,没有特定的错误消息。追溯也没有任何意义。我很确定我已经正确说明了所有选项和格式,但它仍然无法正常工作。

标签: pythondatabrickssql-data-warehouse

解决方案


不确定,但我认为问题出在语法上。这是我在官方文档中找到的。

df.write \
  .format("com.databricks.spark.sqldw") \
  .option("url", "jdbc:sqlserver://<the-rest-of-the-connection-string>") \
  .option("forwardSparkAzureStorageCredentials", "true") \
  .option("dbTable", "my_table_in_dw_copy") \
  .option("tempDir", "wasbs://<your-container-name>@<your-storage-account-name>.blob.core.windows.net/<your-directory-name>") \
  .save()

检查您的代码中的.option("forwardSparkAzureStorageCredentials", "true"),您似乎已将 (_) 下划线。


推荐阅读