错误:bulkcopytosqldb不是org.apache.spark.sql.dataframewriter的成员

inb24sb2  于 2021-05-24  发布在  Spark
关注(0)|答案(1)|浏览(566)

使用以下链接将数据从databricks加载到sql db,我得到以下错误: command-3227900948916301:23: error: value bulkCopyToSqlDB is not a member of org.apache.spark.sql.DataFrameWriter[org.apache.spark.sql.Row] df.write.mode(SaveMode.Overwrite).bulkCopyToSqlDB(bulkCopyConfig) https://github.com/azure/azure-sqldb-spark/blob/fa1cf19ed797648a20d9b7f474d7c2cd88829ada/samples/scripts/bulkcopysample.scala
我的代码如下:

  1. val bulkCopyConfig = Config(Map(
  2. "url" -> url,
  3. "databaseName" -> databaseName,
  4. "dbTable" -> "dbo.xxxx",
  5. "user" -> user,
  6. "password" -> password,
  7. "connectTimeout" -> "120",
  8. "bulkCopyBatchSize" -> "100000",
  9. "bulkCopyTableLock" -> "true",
  10. "bulkCopyTimeout" -> "0",
  11. "truncate" -> "true"
  12. // "queryTimeout" -> "5"
  13. ))
  14. //~
  15. df. write.mode(SaveMode.Overwrite).bulkCopyToSqlDB(bulkCopyConfig)
  16. Any thoughts on why I'm getting the error?
pbpqsu0x

pbpqsu0x1#

您需要有正确的导入,才能使用其他函数扩展Dataframe:

  1. import com.microsoft.azure.sqldb.spark.connect._

下面是我得到的(它失败了,因为我没有活动的sql db,但它找到了函数):

  1. scala> import com.microsoft.azure.sqldb.spark.config.Config
  2. import com.microsoft.azure.sqldb.spark.config.Config
  3. scala> import com.microsoft.azure.sqldb.spark.connect._
  4. import com.microsoft.azure.sqldb.spark.connect._
  5. scala> val bulkCopyConfig = Config(Map(
  6. | "url" -> "mysqlserver.database.windows.net",
  7. | "databaseName" -> "MyDatabase",
  8. | "user" -> "username",
  9. | "password" -> "*********",
  10. | "databaseName" -> "MyDatabase",
  11. | "dbTable" -> "dbo.Clients",
  12. | "bulkCopyBatchSize" -> "2500",
  13. | "bulkCopyTableLock" -> "true",
  14. | "bulkCopyTimeout" -> "600"
  15. | ))
  16. bulkCopyConfig: com.microsoft.azure.sqldb.spark.config.Config = com.microsoft.azure.sqldb.spark.config.ConfigBuilder$$anon$1@754443e1
  17. scala> val df = spark.range(1,10)
  18. df: org.apache.spark.sql.Dataset[Long] = [id: bigint]
  19. scala> df.bulkCopyToSqlDB(bulkCopyConfig)
  20. 20/10/06 16:24:38 ERROR DataFrameFunctions: Connection cannot be established to the database
  21. com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'username'. ClientConnectionId:b35aa6bb-24ec-4727-98b6-074cae4e6a32
  22. ...
展开查看全部

相关问题