【问题标题】:Impala query with LIMIT 0LIMIT 0 的 Impala 查询
【发布时间】:2021-12-31 19:02:03
【问题描述】:

作为生产支持团队成员,我调查了各种 Impala 查询的问题,在研究某个问题时,我看到一个团队提交了一个带有 LIMIT 0 的 Impala 查询,显然不返回任何行,然后又没有 LIMIT 0 给他们结果。我猜他们从 IBM Datastage 提交这些查询。在我质疑他们为什么这样做之前..想检查某人使用 LIMIT 0 运行的原因可能是什么。是否只是检查语法或与 Impala 的连接?我看到这里在 SQL 的上下文中讨论了一个类似的问题,但无论如何都想从 Impala 的角度提出问题。谢谢尼尔

【问题讨论】:

  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: hadoop cloudera impala


【解决方案1】:

我认为你是部分正确的。 请注意,limit 将处理所有数据,然后应用 limit 子句。 LIMIT 0 主要用于-

  1. 检查 SQL 的语法是否正确。但是 impala 在应用限制之前会获取所有记录。所以 SQL 是完全验证的。某些系统可能会使用它来检查它们在实际应用到服务器之前自动生成的 sql。
  2. 限制每次运行 SQL 时从巨大的表或数据集中获取大量行。
  3. 有时您想使用其他一些表的结构创建一个空表,但不想复制存储格式、配置等。
  4. 不想给与 impala 交互的色调/任何界面带来负担。所有数据都将被处理,但不会返回。
  5. 性能测试 - 这会让您对 SQL 的运行时间有所了解。我之所以使用这个词,是因为它不是完成的实际时间,而是完成 SQL 的估计时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-21
    • 1970-01-01
    • 2011-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-21
    • 1970-01-01
    相关资源
    最近更新 更多