Synapse Analytics sql 按需同步与火花池的查询速度非常慢

Posted

技术标签:

【中文标题】Synapse Analytics sql 按需同步与火花池的查询速度非常慢【英文标题】:Synapse Analytics sql on-demand sync with spark pool is very slow to query 【发布时间】:2021-08-25 00:49:51 【问题描述】:

我已将文件加载到 azure 存储帐户 gen2 中,并且正在使用 Azure Synapse Analytics 来查询它们。按照此处的文档:https://docs.microsoft.com/en-us/azure/synapse-analytics/sql/develop-storage-files-spark-tables,我应该能够创建一个 spark sql 表来查询分区数据,因此随后在我的 sql on demand 查询中使用 spark sql 的元数据来给定文档中的行:@987654329 @

我的数据在 ADLS gen2 中被分区为:

在 Synapse Analytics 中的 spark notebook 中运行查询只需 4 秒多一点即可返回,因为它应该给出分区:

但是,现在在 sql on demand sql 端脚本中运行相同的查询永远不会完成:

与火花池相比,这个结果和性能的极端下降与文档中的说明完全相反。查询中是否缺少某些内容以使 sql-on demand 使用分区?

【问题讨论】:

您是否已经尝试在 where 子句中使用文件名/文件路径属性? docs.microsoft.com/en-us/azure/synapse-analytics/sql/… 我正在使用同步功能突触分析,所以这不是必需的,对吗? 老兄,这是票,漂亮!谢谢! 【参考方案1】:

Filepath() 和 filename() 函数可以在 WHERE 子句中用于过滤要读取的文件。你可以实现你一直在寻找的修剪。

【讨论】:

以上是关于Synapse Analytics sql 按需同步与火花池的查询速度非常慢的主要内容,如果未能解决你的问题,请参考以下文章

Azure Synapse Analytics 专用 SQL 池 - IIF 语句不起作用

Azure SQL 数据仓库 (Synapse Analytics) 使用 ORC 表的 Polybase 性能

从 Azure Synapse Analytics Spark Pool 连接到 Azure SQL 数据库

将流分析作业中的输出数据流式传输到 Azure Synapse Analytics sql 池表?

Azure 数据资源管理器与 Azure Synapse Analytics(又名 SQL DW)

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