问题标签 [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.
azure-sql-database - DROP TABLE IF EXISTS 不适用于 Azure SQL 数据仓库
我使用 SQL Server 管理工作室针对 Azure 数据仓库生成脚本。我选择了版本 Azure 数据仓库,它会在脚本下方生成以删除表(如果存在)并创建表。但是,该脚本无法通过验证。请参阅下面的错误消息。
错误信息:
第 2 行第 12 列的解析错误:“IF”附近的语法不正确。
azure - 使用 ADF 复制 Azure SQL DW 中的数据(根据文档,使用 Polybase 进行分阶段复制不起作用)
尝试使用 Azure 数据工厂将数据湖 (gen2) 中的 csv 文件加载到 Azure Synapse。源文件具有“(双引号)作为转义字符。这超出了将 polybase 直接连接到 Data Lake 的数据限制。我通过以下文档设置了暂存副本
调试管道后,我仍然得到
我确实看到 ADF 在我在暂存副本中提供的路径中创建了一个临时文件夹,但看起来它没有执行加载数据所需的转换。我错过了什么吗?
databricks - 从 Databricks 写入 Synapse (Azure DW) 非常慢
我们正在使用 Databricks 及其 SQL DW 连接器将数据加载到 Synapse 中。我有一个包含 10 000 行和 40 列的数据集。需要7分钟!
使用带有 Polybase 和暂存选项的数据工厂加载相同的数据集需要 27 秒。与批量复制相同。
有什么问题?我错过了一些配置吗?还是照常营业?
连接配置:
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, Dictionary
System.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()
azure-data-factory - 如何使用 azuredatafactory 将多个文件从 azure blob 加载到 azure synapse(Dw)?
我正在尝试使用 azure 数据工厂将多个文件从 azure blob 加载到 azure sql dw。下面是我的代码。我正面临突出显示的错误。任何人都可以建议。我在这里粘贴我的 adf 代码 json。
我在复制活动阶段低于突出显示。
错误:
azure-synapse - 如何在 Azure Synapse Analytics 中执行并发流式更新插入
我们有一个应用程序,它从消息总线读取数据并插入 Azure Synapse Analytics。应用程序有多个实例,每个实例都是多线程的。每个 upsert 可能有数百个条目,目标表可能有几百万个条目。
Synapse 不支持 MERGE 操作。我们正在寻找比两步删除 - 插入更好的解决方案。我们考虑了涉及表连接的解决方案,然后是这样的表重命名。
然而,所有这些解决方案都存在性能和/或并发问题。
您能否推荐一个从并发数据流中插入 Azure Synapse Analytics 的解决方案。
非常感谢!
azure-managed-identity - 无法从 Synapse Analytics 访问 ADLS
我有;
- 一把万能钥匙。
- 数据库范围的凭据。
- 外部数据源。
- 文件格式。
- 用户为 Azure SQL Server 创建了托管标识。
- 我的 ADLS 存储帐户上该托管标识的RBAC参与者权限。
当我执行代码以创建外部表时,会引发此错误:
获取提供的数据库和凭据的凭据密钥失败。数据库名称 = DWShellDb,凭据名称 = devtechnicalpractice1_AdlsManagedIdentity,异常 = System.Data.SqlClient.SqlException (0x80131904):无法获取或解密凭据“devtechnicalpractice1_AdlsManagedIdentity”的机密。
这是代码:
我认为错误不在TSQL 之内,而是安全权限。
external-tables - 在 Azure Synapse Analytics(Azure SQL 数据仓库)中创建外部数据源到 Oracle
我正在尝试将 Azure Synapse Analytics(Azure SQL 数据仓库)中的外部数据源创建到 Oracle 外部数据库。我在 SSMS 中使用以下代码来执行此操作:
我收到以下错误:
我从下面了解到 TYPE 不是 Oracle 数据库的必需选项。
不知道问题出在哪里,当 MS SQL Server 2019 中已经提供此功能时,Azure Synapse Analytics (Azure DW) 是否仍不支持此功能?欢迎任何想法。
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
在插入数据后执行,因此这也会失败。
有任何想法吗?