问题标签 [azure-synapse]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
11608 浏览

azure-sql-database - DROP TABLE IF EXISTS 不适用于 Azure SQL 数据仓库

我使用 SQL Server 管理工作室针对 Azure 数据仓库生成脚本。我选择了版本 Azure 数据仓库,它会在脚本下方生成以删除表(如果存在)并创建表。但是,该脚本无法通过验证。请参阅下面的错误消息。

错误信息:

第 2 行第 12 列的解析错误:“IF”附近的语法不正确。

0 投票
1 回答
452 浏览

azure - 使用 ADF 复制 Azure SQL DW 中的数据(根据文档,使用 Polybase 进行分阶段复制不起作用)

尝试使用 Azure 数据工厂将数据湖 (gen2) 中的 csv 文件加载到 Azure Synapse。源文件具有“(双引号)作为转义字符。这超出了将 polybase 直接连接到 Data Lake 的数据限制。我通过以下文档设置了暂存副本

调试管道后,我仍然得到

我确实看到 ADF 在我在暂存副本中提供的路径中创建了一个临时文件夹,但看起来它没有执行加载数据所需的转换。我错过了什么吗?

链接到 doc使用 Azure 数据工厂复制和转换 Azure SQL 数据仓库中的数据

0 投票
1 回答
1252 浏览

databricks - 从 Databricks 写入 Synapse (Azure DW) 非常慢

我们正在使用 Databricks 及其 SQL DW 连接器将数据加载到 Synapse 中。我有一个包含 10 000 行和 40 列的数据集。需要7分钟!

使用带有 Polybase 和暂存选项的数据工厂加载相同的数据集需要 27 秒。与批量复制相同。

有什么问题?我错过了一些配置吗?还是照常营业?

连接配置:

0 投票
1 回答
467 浏览

azure - 将表数据从 SQL Server 2016 传输到 Microsoft Azure Synapse

我有一个SQL Server 2016三张桌子的承诺。我总共有超过 20,000,000 条记录。我需要将它们转移到Azure Synapse.

我已经创建了ssis包来传输数据,但我正在寻找更便宜的方法来做到这一点。我只转移了 20000 行,花费了我大约 250 美元。

有什么工具或解决方案吗?

在此处输入图像描述

0 投票
0 回答
677 浏览

powershell - 如何解决运行 Invoke-sqlcmd 命令以使用 Invoke-SQLCMD 和 Powershell 6 连接到 Azure Datawarehouse 的错误?

我正在尝试从 Azure Datawarehouse/Synapse 运行简单的选择语句。我正在使用 Azure Active Directory 帐户进行身份验证,在我的情况下我不能使用 sql server 身份验证。

此命令在 Powershell 5.1.16299(非 dotnet 核心版本)中运行良好。

代码

Powershell 版本: 主要小补丁 PreReleaseLabel BuildLabel


6 2 4

SQL Server 模块版本 ModuleType 版本名称 ExportedCommands ---------- -------- ---- ---- 脚本 21.1.18218 SqlServer {Add-SqlAvailabilityDatabase, Add-SqlAvailabilityGroupListen…</p>

错误消息 Invoke-Sqlcmd:不支持关键字:“身份验证”。在 line:1 char:1 + Invoke-Sqlcmd -ConnectionString $ConnectionString -Query $query -Quer ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidResult: ( :) [Invoke-Sqlcmd],ArgumentException + FullyQualifiedErrorId:ExecutionFailed,Microsoft.SqlServer.Management.PowerShell.GetScriptCommand

$Error[0].Exception.ToString() 输出 System.ArgumentException:不支持关键字:“身份验证”。在 System.Data.Common.DbConnectionOptions.ParseInternal(字典2 parsetable, String connectionString, Boolean buildChain, DictionarySystem.Data.Common.DbConnectionOptions..ctor(String connectionString, Dictionary`2 同义词) 在 System.Data.SqlClient.SqlConnectionString..ctor(String connectionString) 在 System.Data.SqlClient.SqlConnectionFactory 的 2 个同义词,布尔 firstKey)。 CreateConnectionOptions(String connectionString, DbConnectionOptions previous) at System.Data.ProviderBase.DbConnectionFactory.GetConnectionPoolGroup(DbConnectionPoolKey key, DbConnectionPoolGroupOptions poolOptions, DbConnectionOptions& userConnectionOptions) at System.Data.SqlClient.SqlConnection.ConnectionString_Set(DbConnectionPoolKey key) at System.Data.SqlClient.SqlConnection Microsoft.SqlServer.Management.PowerShell.ExecutionProcessor 的 System.Data.SqlClient.SqlConnection..ctor(String connectionString) 的 .set_ConnectionString(String value)。CreateSqlConnection() 在 Microsoft.SqlServer.Management.PowerShell.ExecutionProcessor..ctor(GetScriptCommand sqlCmdCmdLet) 在 Microsoft.SqlServer.Management.PowerShell.GetScriptCommand.ProcessRecord()

0 投票
1 回答
1599 浏览

azure-data-factory - 如何使用 azuredatafactory 将多个文件从 azure blob 加载到 azure synapse(Dw)?

我正在尝试使用 azure 数据工厂将多个文件从 azure blob 加载到 azure sql dw。下面是我的代码。我正面临突出显示的错误。任何人都可以建议。我在这里粘贴我的 adf 代码 json。

我在复制活动阶段低于突出显示。

错误:

0 投票
0 回答
158 浏览

azure-synapse - 如何在 Azure Synapse Analytics 中执行并发流式更新插入

我们有一个应用程序,它从消息总线读取数据并插入 Azure Synapse Analytics。应用程序有多个实例,每个实例都是多线程的。每个 upsert 可能有数百个条目,目标表可能有几百万个条目。

Synapse 不支持 MERGE 操作。我们正在寻找比两步删除 - 插入更好的解决方案。我们考虑了涉及表连接的解决方案,然后是这样的表重命名

然而,所有这些解决方案都存在性能和/或并发问题。

您能否推荐一个从并发数据流中插入 Azure Synapse Analytics 的解决方案。

非常感谢!

0 投票
1 回答
1000 浏览

azure-managed-identity - 无法从 Synapse Analytics 访问 ADLS

我有;

  1. 一把万能钥匙。
  2. 数据库范围的凭据。
  3. 外部数据源。
  4. 文件格式。
  5. 用户为 Azure SQL Server 创建了托管标识
  6. 我的 ADLS 存储帐户上该托管标识的RBAC参与者权限。

当我执行代码以创建外部表时,会引发此错误

获取提供的数据库和凭据的凭据密钥失败。数据库名称 = DWShellDb,凭据名称 = devtechnicalpractice1_AdlsManagedIdentity,异常 = System.Data.SqlClient.SqlException (0x80131904):无法获取或解密凭据“devtechnicalpractice1_AdlsManagedIdentity”的机密。

这是代码:

我认为错误不在TSQL 之内,而是安全权限。

0 投票
1 回答
1246 浏览

external-tables - 在 Azure Synapse Analytics(Azure SQL 数据仓库)中创建外部数据源到 Oracle

我正在尝试将 Azure Synapse Analytics(Azure SQL 数据仓库)中的外部数据源创建到 Oracle 外部数据库。我在 SSMS 中使用以下代码来执行此操作:

我收到以下错误:

我从下面了解到 TYPE 不是 Oracle 数据库的必需选项。

https://docs.microsoft.com/en-us/sql/t-sql/statements/create-external-data-source-transact-sql?view=azure-sqldw-latest

不知道问题出在哪里,当 MS SQL Server 2019 中已经提供此功能时,Azure Synapse Analytics (Azure DW) 是否仍不支持此功能?欢迎任何想法。

0 投票
1 回答
1831 浏览

pyspark - Azure Databricks 到 Azure SQL DW:长文本列

我想从 Azure Databricks 笔记本环境填充 Azure SQL DW。我正在使用带有 pyspark 的内置连接器:

这很好用,但是当我包含一个内容足够长的字符串列时出现错误。我收到以下错误:

Py4JJavaError:调用 o1252.save 时出错。:com.databricks.spark.sqldw.SqlDWSideException:SQL DW 无法执行连接器生成的 JDBC 查询。

基础 SQLException(s): - com.microsoft.sqlserver.jdbc.SQLServerException:HdfsBridge::recordReaderFillBuffer - 填充记录读取器缓冲区时遇到意外错误:HadoopSqlException:字符串或二进制数据将被截断。[错误代码 = 107090] [SQLState = S0001]

据我了解,这是因为默认字符串类型是 NVARCHAR(256)。可以配置(参考),但最大 NVARCHAR 长度为 4k 个字符。我的字符串偶尔会达到 10k 个字符。因此,我很好奇如何将某些列导出为文本/长文本。

我猜想以下方法会起作用,如果只有在preActions创建表之后执行。它不是,因此它失败了。

此外,postActions在插入数据后执行,因此这也会失败。

有任何想法吗?