2016-03-08 37 views
4

我试图在BigQuery UI(不是API)中嵌套一个字段,并在试图输出到一个没有展平的表格时不断遇到错误:BigQuery NEST()返回'错误:发生内部错误'

Error: An internal error occurred and the request could not be completed.

我使用的NEST()功能,我已经试过这对公众莎士比亚数据集,并继续得到同样的错误。

SELECT corpus, NEST(word) FROM [publicdata:samples.shakespeare] GROUP BY 1 

我的工作ID是:realself-主:bquijob_1bfb8310_153583ecbc2

回答

4

有上SO相关吨问题如何BigQuery中 产生重复的Fileds /记录,还有许多不同的答案 - 为

来自:NEST是不unflatten结果兼容 - 在
Internal error on NEST when not flattening results

到:一些解决方案来解决这个问题问题使用JS UDF如
Nest multiple repeated fields in BigQuery;
Create a table with Record type column;
create a table with a column type RECORD

有更多的 - 你可以搜索

But surprisingly enough - recently, I found how to make NEST() work almost as it supposed to work!

尝试下面看到的伎俩

SELECT corpus, words 
FROM (
    SELECT corpus, NEST(word) AS words 
    FROM [publicdata:samples.shakespeare] 
    GROUP BY 1 
) AS a 
CROSS JOIN (SELECT 1) AS b 

注意,你必须写结果到表Allow Large ResultsFlatten Results关闭

+0

这个技巧非常棒!我已经使用了其他几次交叉连接来欺骗BQ,没想到在这里尝试了它。 – pkrengel

+0

我在nest()的相当繁重的实验中发现它,因为它是最弱但尚未被要求的特性之一 –