如何编辑BigQuery Connector for Excel .iqy文件以使其中已包含SQL语句而不是依赖于Excel单元格的输入?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何编辑BigQuery Connector for Excel .iqy文件以使其中已包含SQL语句而不是依赖于Excel单元格的输入?相关的知识,希望对你有一定的参考价值。

我有类似bigquery excel connector - query larger than 256 char的问题

但是,我引用了一个单元格区域并获得了结果:

"WARNING Request failed: Error. Unable to execute query. 400 { code : 400, errors : [ { domain : global, location : query, locationType : other, message : 1.593 - 1.593: No query found., reason : invalidQuery } ], message : 1.593 - 1.593: No query found. }"

也许我正在“错误地”拆分查询?我假设每个单元只需要少于256个字符,它只会将指定范围内的后续单元连接到前面单元格中字符串的末尾。

我发现的每个帮助文档都显示简单的SQL语句,我可以运行简单的SQL语句,但我真正需要工作的查询在字段的where子句中有一个select语句。我已经尝试加入where子句中引用的表来查看是否使语句更简单,更容易识别为查询,但没有运气。

我已经尝试在NotePad中打开.iqy文件(BigQuery最初让我下载),看看我是否可以在那里输入查询,但是我找不到任何关于这些类型文件的语法文档,所以当我将它加载到Excel中时它仍然显示输入查询的提示。

最终结果不需要从单元格引用中读取查询,事实上,如果它只能在.iqy文件中,那么这将是最可取的:用户将数据丢弃的可能性更小。

答案
  1. 确保在query文件中对参数(projectkey.iqy)进行URL编码。使用像https://meyerweb.com/eric/tools/dencoder这样的在线工具
  2. 如果在进行上述更改之前已在Excel中加载了.iqy,则必须删除查询定义。进入Properties并取消选中Save query definition,然后再次连接到.iqy

不确定q(查询)的最大大小是针对https://bigquery-connector.appspot.com的,但我建议使用BigQuery VIEW。

  • 它隐藏了SQL管道,因此减少了传递给API的SQL的大小。编码查询的URL可以像用spaces替换+一样简单
  • 您可以在BigQuery中调整/更改视图定义,而无需向用户推出新的.iqy
  • 使用CURRENT_USER()实现某种行级安全性...

但这是另一个话题!

最后,回到.iqy,您可以在查询中组合和嵌入参数,如下所示:

q=select+*+from+mydataset.myview+where+FiscalYear=["Year", "Enter a year:"]&p=myproject&k=myURLencodedKey

以上是关于如何编辑BigQuery Connector for Excel .iqy文件以使其中已包含SQL语句而不是依赖于Excel单元格的输入?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Spark-BigQuery_connector 用于现有的 spark 环境(不使用 google dataproc)

在Apache Spark中使用Bigquery Connector时如何设置分区数?

如何在 BigQuery 中执行线性回归?

描述如何在 SQL 中内联定义 Javascript UDF 函数的 BigQuery 文档在哪里(不是在 UDF 编辑器或单独的文件中)?

使用 scala 从 spark 中删除 bigquery 表

有免费的 XSL-FO 编辑器吗? [关闭]