问题标签 [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 投票
2 回答
878 浏览

azure - 如何使用 pyodbc 将 pandas 数据帧的多行插入 Azure Synapse SQL DW?

我正在使用 pyodbc 与 Azure Synapse SQL DW 建立连接。连接已成功建立。但是,在将 pandas 数据框插入数据库时​​,当我尝试将多行作为值插入时出现错误。但是,如果我一一插入行,它就会起作用。将多行作为值插入到一起,在 AWS Redshift 和 MS SQL 中可以正常工作,但在 Azure Synapse SQL DW 中失败。我认为 Azure Synapse SQL 是 T-SQL 而不是 MS-SQL。尽管如此,我也找不到任何相关文件。

我有一个名为“df”的熊猫 df,如下所示:

下面的代码工作正常

如您所见,它仅插入 1 行“df”。所以,是的,我可以循环并一一插入,但是当涉及到更大尺寸的数据帧时,它会花费很多时间

当我尝试将所有行一起插入时,下面的代码不起作用 import pandas as pd import pyodbc

我在下面得到这个错误:

ProgrammingError: ('42000', "[42000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]第 1 行第 74 列解析错误:',' 附近的语法不正确。(103010) (SQLExecDirectW) ")

这是失败的 2 行的示例 SQL 查询:

0 投票
1 回答
100 浏览

azure - 在不知道列顺序的情况下通过 Polybase 摄取 CSV 文件

我正在尝试使用 Polybase 将一些 CSV 文件从 Azure Data Lake 摄取到 Azure Synapse。每个 CSV 文件中有一组固定的列,列名在第一行给出。但是,这些列可以以不同的顺序出现。

在 Polybase 中,我需要声明外部表,我需要在设计时知道列的确切顺序,因此我无法创建外部表。还有其他方法可以摄取 CSV 文件吗?

0 投票
0 回答
743 浏览

sql - Azure Synapse - 检索插入的行标识值

我们有一个 ETL 作业,它需要在 中插入一行Table X,然后检索插入的行的IDENTITY值以Table X供以后的转换使用。 IDENTITY用作代理键,例如这里

在 SQL Server 中,可以使用SCOPE_IDENTITY,但这在 Azure Synapse(以前称为 Azure SQL 数据仓库)中不可用。

简单的例子

该作业将插入值“hij”。

作业应该知道 Id 值 = 3。

注意:执行 MAX(Id) 将不起作用,因为 IDENTITY 列不保证增量值,同时其他插入可能会进入表中。

有人对此有建议的解决方案吗?

0 投票
2 回答
2028 浏览

sql-server - 将 ADLS Gen 2 中的数据加载到 Azure Synapse

我正在尝试使用 polybase 外部表功能将 Parquet 文件从 ADLS Gen2 加载到 Synapse。

下面是代码,但是在运行 create external table 命令时,查询永远不会完成。在取消查询执行时,我看到了这个错误 -

由于内部错误,外部文件访问失败:“访问 HDFS 时发生错误:调用 HdfsBridge_IsDirExist 时引发 Java 异常。Java 异常消息:HdfsBridge::isDirExist - 检查目录是否存在时遇到意外错误:UnknownHostException: ''.azuredatalakestore.dfs.core.windows.net'

SQL查询

0 投票
2 回答
1075 浏览

azure - Azure SQL DW 超大规模和 Azure Synapse 的路线图

我正在尝试了解 Azure SQL 的路线图德国之声DB Hyperscale 现在 Microsoft 已将 Azure SQL DW 命名为 Synapse。

  1. Synapse 是否在后台使用超大规模?

  2. 推荐的 Azure SQL 是什么德国之声与 Synapse 一起使用的数据库?通用/超大规模/业务关键?可以选择其中任何一个吗?

  3. 将 Azure SQL德国之声DB Hyperscale,仍然可用,还是会消失?

提前致谢!

** 阅读答案后编辑的问题:编辑以将 Azure SQL DW Hyperscale 更改为 Azure SQL DB Hyperscale **

0 投票
2 回答
2053 浏览

azure - 外键约束 Synapse Azure

我目前在 Azure Synapse 中创建一个数据仓库,但是 Synapse 不允许创建外键。这对于事实表和维度表之间的引用完整性至关重要。有没有人对突触中强制执行 PK FK 关系的替代方案有什么建议?

0 投票
1 回答
1116 浏览

azure - azure blob 存储可以使用 abfss 协议吗?还是只使用wasbs?

我有一种情况,我正在处理一些数据摄取代码,其中环境设置如下:azure blob storage (not adls) 被用作临时存储,并且代码应该从文件创建一个外部表在临时存储中,数据将从那里复制到 azure synapse analytics。现在,blob 存储和 sql server 在虚拟网络中。现有代码没有考虑 vnet。所以创建外部数据源的语句已经修改为

来自以前的 wasbs uri,并使用托管服务标识。

外部表语句为:

起初我得到一个“请在此服务器上启用托管服务标识”,这需要很长时间才能修复,最后使用了 azure powershell 命令。现在它是一个

访问 HDFS 时出错:调用 HdfsBridge_IsDirExist 时引发 Java 异常。Java 异常消息:HdfsBridge::isDirExist - 检查目录是否存在时遇到意外错误:AbfsRestOperationException:操作失败:“此请求无权使用此权限执行此操作。”,403,HEAD

起初我以为我需要为 sql server 实例设置身份验证,以便它可以访问 vnet 内的 blob 存储。现在我在某处读到 abfss 仅由 adls gen2 使用,而 blob 存储专门使用 wasbs。真的吗?

0 投票
1 回答
1561 浏览

external-tables - Azure Synapse 分析:访问外部表时出错

无法执行查询。错误:文件“ https://track2gen2storage.blob.core.windows.net/\sourcedata\sample.csv ”无法打开,因为它不存在或被另一个进程使用。

我们执行了这些步骤:-

0 投票
1 回答
227 浏览

azure - 错误 - Azure 数据仓库中的“赋予类型 'VarChar' 的大小 (12000) 超过允许的最大值 (8000)”

我正在尝试在 Azure Dataware house 中执行 T-SQL,它不允许我的数据类型大于 varchar(8000),任何人都可以建议一些替代方法。(同样的问题也发生在表创建上,即使使用批量加载或多基加载,它也不支持 blob 或 LOB 数据类型,所以我最终加载了修剪后的数据。)

0 投票
1 回答
764 浏览

azure-synapse - 如何按需在 Azure 突触中安排查询

如何在 Azure Synapse On-demand 中安排查询并将结果每 1 小时保存到 Azure 存储

我的想法是将结果具体化到单独的存储中并使用 PowerBI 访问结果