【问题标题】:CETAS times out for large tables in Synapse Serverless SQLSynapse Serverless SQL 中的大型表的 CETAS 超时
【发布时间】:2022-01-01 16:50:01
【问题描述】:

我正在尝试使用 CETAS (CREATE EXTERNAL TABLE AS SELECT * FROM <table>) 语句从 Azure Synapse Serverless SQL 池中现有的外部表创建一个新的外部表。我选择的表是一个非常大的外部表,它建立在大约 30 GB 的镶木地板格式的数据上,存储在 ADLS Gen 2 存储中,但查询总是在大约 30 分钟后超时。我已经尝试使用高级存储,并且还尝试了大多数(如果不是所有)here 提出的建议,但它没有帮助,查询仍然超时。 我在 Synapse Studio 中遇到的错误是:-

Statement ID: {550AF4B4-0F2F-474C-A502-6D29BAC1C558} | Query hash: 0x2FA8C2EFADC713D | Distributed request ID: {CC78C7FD-ED10-4CEF-ABB6-56A3D4212A5E}. Total size of data scanned is 0 megabytes, total size of data moved is 0 megabytes, total size of data written is 0 megabytes. Query timeout expired.

核心用例是假设我只有外部表名,我想创建一个数据副本,在 Azure 存储本身中创建该外部表。

有没有办法解决这个超时问题或更好的方法来解决这个问题?

【问题讨论】:

  • 您使用什么工具来运行查询?超时需要多长时间?错误信息到底是什么?
  • 我尝试过使用 Synapse Studio 和 DBeaver (JDBC)。查询总是在 30 分钟后超时。我得到的错误信息是Statement ID: {550AF4B4-0F2F-474C-A502-6D29BAC1C558} | Query hash: 0x2FA8C2EFADC713D | Distributed request ID: {CC78C7FD-ED10-4CEF-ABB6-56A3D4212A5E}. Total size of data scanned is 0 megabytes, total size of data moved is 0 megabytes, total size of data written is 0 megabytes. Query timeout expired.

标签: sql azure azure-sql-database azure-synapse


【解决方案1】:

这是无服务器的限制。

查询超时

如果查询执行多则返回错误Query timeout expired 在无服务器 SQL 池上超过 30 分钟。这是无服务器的限制 无法更改的 SQL 池。尝试通过以下方式优化您的查询 应用最佳实践,或尝试具体化您的部分查询 使用 CETAS。检查是否有并发工作负载在运行 无服务器池,因为其他查询可能会占用资源。在 在这种情况下,您可能会将工作负载拆分到多个工作区。

Self-help for serverless SQL pool - Query Timeout Expired

核心用例是假设我只有外部表名,我想创建一个数据副本,在 Azure 存储本身中创建该外部表。

在数据工厂复制作业、Spark 作业或 AzCopy 中执行此操作很简单。

【讨论】:

    猜你喜欢
    • 2021-06-07
    • 2022-11-06
    • 2021-08-09
    • 2021-03-21
    • 2023-02-01
    • 2023-03-26
    • 2021-04-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多