新手正在寻找BigQuery Standard SQL教程,示例,书籍,

时间:2018-08-07 20:32:00

标签: google-bigquery

我使用SQL已有很多年了。我刚刚启动了一个项目,该项目使用Google Firebase和BigQuery探索用户在我们网站上的活动。

BigQuery中的原始数据(Firebase事件)非常复杂。

看来BigQuery正在使用SQL2011。我不确定这与SQL-99或SQL-2009有何不同。我还没有找到很好的概述或教程。

我正在努力解决的一些挑战包括将活动分组到会话中并确定具有某些特征的组

我想知道是否需要学习开窗的工作方式而不是使用GROUP BY

任何有关加快学习速度的建议将不胜感激。

安迪

2 个答案:

答案 0 :(得分:4)

主要区别在于,最有效的架构不再是具有关系的多个平面表。相反,它是在一个大表中嵌套数据。

我称它们为子表,但实际上它们只是包含结构的数组。其中可能包含包含结构的数组。可能...等等。

要学习的最重要的事情是如何使用这些数组。基本上有两个用例:

  • 您需要一个子表中的字段作为结果中的维度:您必须使用交叉联接将表展平。将子表与其父表交叉连接是一个怪异的概念,但效果很好。
  • 您希望从子表中获得一些汇总信息:在数组上使用子查询并获取它

可以通过进行以下所有练习来学习这两个概念:https://cloud.google.com/bigquery/docs/reference/standard-sql/arrays

但是GCP也有一些关于BigQuery的课程。不过,我不确定它们能深入多少。

答案 1 :(得分:0)

如您在问题BigQuery符合SQL 2011 [1]所述。

在BigQuery中,analytic functionsaggregate analytic functions用于窗口化。

作为参考,您可以看一下官方的BigQuery标准SQL document,而对于BigQuery的更深入的了解可以看一本书Google BigQuery Analytics