【问题标题】:How to set Standard SQL BigQuery in ReDash如何在 ReDash 中设置标准 SQL BigQuery
【发布时间】:2016-09-16 23:53:44
【问题描述】:

我想知道如何设置 ReDash 以使用新的标准 SQL Bigquery 的查询。

我知道这可以在 BigQuery 中通过删除“旧版 SQL”中的勾号来完成。但是,此选项在 ReDash 中似乎不可用或不可见。

根据 BigQuery 的文档,我应该添加一个标志来禁用 Legacy SQL,如下所示:

bq 查询 --use_legacy_sql=false "SELECT word FROM publicdata.samples.shakespeare"

所以,我假设我需要更改 ReDash 源代码的某些部分。

有人知道 ReDash 源代码的哪些部分需要修改吗?或者,这可以用不同的方式完成?

我在 Debian 上使用 Re:dash 0.11.1+b2095。

感谢您的帮助。

【问题讨论】:

    标签: google-bigquery


    【解决方案1】:

    对标准 SQL 的支持是下一个 (0.12) 版本的一部分。您已经可以升级到 0.12RC 版本,或者如果您希望等待最终版本,您可以将 BigQuery 查询运行器实现替换为新版本:

    1. big_query.py 从 master 复制到您服务器上的 /opt/redash/current/redash/query_runner/big_query.py(您的服务器上的路径可能不同)。
    2. 重新启动所有 Redash 服务。
    3. 更新您的数据源配置以使用标准 SQL。

    顺便说一句,以后最好在我们的论坛上问这样的问题。偶然发现这个问题……

    【讨论】:

      【解决方案2】:

      来自document: 您可以将 useLegacySQL 设置为 false。在同一页面上有关于java、python和php的示例代码。

      您可能可以从 ReDash 的代码库中搜索并找到他们在哪里使用此 API。

      【讨论】:

        【解决方案3】:

        还可以在大多数应用程序中强制使用标准 SQL,而无需更改代码。只需确保查询的第一行是

        #StandardSQL
        

        并且 BigQuery 会将查询的其余部分视为标准 SQL,即以下内容将起作用:

        #StandardSQL
        SELECT [1,2,3]
        

        【讨论】:

          猜你喜欢
          • 2018-09-05
          • 2019-07-18
          • 2016-11-23
          • 2018-09-10
          • 1970-01-01
          • 1970-01-01
          • 2016-12-17
          • 2019-07-05
          • 2017-02-20
          相关资源
          最近更新 更多