问题标签 [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 - 如何使用 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 查询:
azure - 在不知道列顺序的情况下通过 Polybase 摄取 CSV 文件
我正在尝试使用 Polybase 将一些 CSV 文件从 Azure Data Lake 摄取到 Azure Synapse。每个 CSV 文件中有一组固定的列,列名在第一行给出。但是,这些列可以以不同的顺序出现。
在 Polybase 中,我需要声明外部表,我需要在设计时知道列的确切顺序,因此我无法创建外部表。还有其他方法可以摄取 CSV 文件吗?
sql - Azure Synapse - 检索插入的行标识值
我们有一个 ETL 作业,它需要在 中插入一行Table X
,然后检索插入的行的IDENTITY
值以Table X
供以后的转换使用。
IDENTITY
用作代理键,例如这里。
在 SQL Server 中,可以使用SCOPE_IDENTITY,但这在 Azure Synapse(以前称为 Azure SQL 数据仓库)中不可用。
简单的例子
该作业将插入值“hij”。
作业应该知道 Id 值 = 3。
注意:执行 MAX(Id) 将不起作用,因为 IDENTITY 列不保证增量值,同时其他插入可能会进入表中。
有人对此有建议的解决方案吗?
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查询
azure - Azure SQL DW 超大规模和 Azure Synapse 的路线图
我正在尝试了解 Azure SQL 的路线图德国之声DB Hyperscale 现在 Microsoft 已将 Azure SQL DW 命名为 Synapse。
Synapse 是否在后台使用超大规模?
推荐的 Azure SQL 是什么
德国之声与 Synapse 一起使用的数据库?通用/超大规模/业务关键?可以选择其中任何一个吗?将 Azure SQL
德国之声DB Hyperscale,仍然可用,还是会消失?
提前致谢!
** 阅读答案后编辑的问题:编辑以将 Azure SQL DW Hyperscale 更改为 Azure SQL DB Hyperscale **
azure - 外键约束 Synapse Azure
我目前在 Azure Synapse 中创建一个数据仓库,但是 Synapse 不允许创建外键。这对于事实表和维度表之间的引用完整性至关重要。有没有人对突触中强制执行 PK FK 关系的替代方案有什么建议?
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。真的吗?
external-tables - Azure Synapse 分析:访问外部表时出错
无法执行查询。错误:文件“ https://track2gen2storage.blob.core.windows.net/\sourcedata\sample.csv ”无法打开,因为它不存在或被另一个进程使用。
我们执行了这些步骤:-
azure - 错误 - Azure 数据仓库中的“赋予类型 'VarChar' 的大小 (12000) 超过允许的最大值 (8000)”
我正在尝试在 Azure Dataware house 中执行 T-SQL,它不允许我的数据类型大于 varchar(8000),任何人都可以建议一些替代方法。(同样的问题也发生在表创建上,即使使用批量加载或多基加载,它也不支持 blob 或 LOB 数据类型,所以我最终加载了修剪后的数据。)
azure-synapse - 如何按需在 Azure 突触中安排查询
如何在 Azure Synapse On-demand 中安排查询并将结果每 1 小时保存到 Azure 存储
我的想法是将结果具体化到单独的存储中并使用 PowerBI 访问结果