Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google bigquery Bigquery已解析与未解析SQL_Google Bigquery - Fatal编程技术网

Google bigquery Bigquery已解析与未解析SQL

Google bigquery Bigquery已解析与未解析SQL,google-bigquery,Google Bigquery,这里提到的已解析和未解析sql之间的区别是什么: 考虑一下这个问题: SELECT * FROM dataset.view1 JOIN dataset.view2 USING (key) 其中view1是: SELECT 1 AS key, 'foo' AS y; SELECT 1 AS key, 'bar' AS z; view2是: SELECT 1 AS key, 'foo' AS y; SELECT 1 AS key, 'bar' AS z; 在本例中,您可以将已解析的查询视为

这里提到的已解析和未解析sql之间的区别是什么:

考虑一下这个问题:

SELECT * FROM dataset.view1 JOIN dataset.view2 USING (key)
其中
view1
是:

SELECT 1 AS key, 'foo' AS y;
SELECT 1 AS key, 'bar' AS z;
view2
是:

SELECT 1 AS key, 'foo' AS y;
SELECT 1 AS key, 'bar' AS z;
在本例中,您可以将已解析的查询视为包含以下内容的JSON对象/原型消息:

{
  "query": "SELECT * FROM dataset.view1 JOIN dataset.view2 USING (key)"
  "views":
  [
    {
      "name": "view1",
      "sql": "SELECT 1 AS key, 'foo' AS y;"
    },
    {
      "name": "view2",
      "sql": "SELECT 1 AS key, 'bar' AS z;"
    }
  ]
}

因此,解析的查询长度是查询长度加上视图的总和。解析的查询长度限制足够高,通常与标准SQL查询无关。不过,对于旧式SQL查询,诸如
TABLE\u DATE\u RANGE
之类的函数就像宏一样,可以将查询扩展到所有匹配表的并集,因此更容易得到较大的解析查询大小。

非常感谢。对于标准SQL,解析查询大小没有限制?它也是12MB,但您必须非常努力才能实现这一点,例如,引用多个大型逻辑视图的1 MB查询。实际上,我正在通过google python客户端库执行参数化的标准sql查询,并传递一个50万个客户ID列表的查询参数,任务正在中断。我的sql:“SELECT*from temp.customers where customer_id in UNNEST(@cust_id))有没有其他更好的方法来执行这种查询,在我的应用程序(python)代码的“in”操作符中包含大量数据?