【问题标题】:Databricks Azure database warehouse saving tablesDatabricks Azure 数据库仓库保存表
【发布时间】:2019-11-09 00:57:54
【问题描述】:

我正在使用下面的代码来写一个Azure仓库表

df_execution_config_remain.write
  .format("com.databricks.spark.sqldw")
  .option("user", user) 
  .option("password", pswd)
  .option("url","jdbc:sqlserver://"+sqlserver +":"+port+";database="+database)
  .option("forwardSparkAzureStorageCredentials", "true")
  .option("dbTable", execution_config)
  .option("tempDir", dwtmp)
  .mode("Overwrite")
  .save()    

但 Overwrite 会删除表并重新创建。

问题 1. 我发现新创建的表是循环分配的。我不想要的

  1. 该列的长度与原始表的长度不同,varchar(256)

  2. 我不想使用append,因为我想清除当前表中的行

【问题讨论】:

    标签: databricks azure-sqldw


    【解决方案1】:

    Q1:参考以下链接下的tableOptions参数: https://docs.databricks.com/spark/latest/data-sources/azure/sql-data-warehouse.html#parameters

    Q2:您是否受到同一链接下的 maxStrLength 参数的影响?

    Q3:我认为您的方法是合理的,但另一种方法可能是在同一链接下使用 preActions 参数,并在加载前截断表格。

    【讨论】:

      猜你喜欢
      • 2019-06-18
      • 2017-01-04
      • 2018-06-09
      • 2020-03-15
      • 2016-06-30
      • 2017-12-10
      • 2020-02-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多