bigQuery-Join

bigQuery-Join,join,google-bigquery,Join,Google Bigquery,我正在尝试连接ID上的两个数据库。第一个关于报价的数据库没有网站上的数据,因此我想从日志数据库连接它。然而,在日志数据库中,ID不是唯一的,而是ID的第一个按时间顺序排列的外观-这是正确的网站。 当我运行下面的查询时,我得到: 查询执行期间超出了资源 因此,我不知道问题是代码还是其他什么 谢谢 SELECT ID, user,busWeek, count(*) as num FROM [datastore.quotes] Join ( select objectID, first(websi

我正在尝试连接ID上的两个数据库。第一个关于报价的数据库没有网站上的数据,因此我想从日志数据库连接它。然而,在日志数据库中,ID不是唯一的,而是ID的第一个按时间顺序排列的外观-这是正确的网站。 当我运行下面的查询时,我得到:

查询执行期间超出了资源

因此,我不知道问题是代码还是其他什么

谢谢

SELECT ID, user,busWeek, count(*) as num FROM [datastore.quotes] 

Join (
select objectID, first(website) from (
select objectID, website, date from [datastore.allLogs] 
order by date) group by objectID)
as Logs

on ID = objectID

group by ID,user,busWeek
你能试试吗

SELECT ID, user,busWeek, count(*) as num FROM [datastore.quotes] 

Join EACH (
select objectID, first(website) from (
select objectID, website, date from [datastore.allLogs] 
order by date) group EACH by objectID)
as Logs

on ID = objectID

group by ID,user,busWeek
请注意“EACH”-该关键字在将来不再需要,但在今天仍然很有用。

您可以试试:

SELECT ID, user,busWeek, count(*) as num FROM [datastore.quotes] 

Join EACH (
select objectID, first(website) from (
select objectID, website, date from [datastore.allLogs] 
order by date) group EACH by objectID)
as Logs

on ID = objectID

group by ID,user,busWeek

请注意“EACH”-该关键字在将来不再需要,但在今天仍然很有用。

我认为这个问题已按顺序解决。这会将所有计算带到一个节点,从而导致“资源已超出”消息。我知道您需要它为每个对象带来第一个(按日期)网站。
尝试重写要分区的选择(内部联接)。 例如,使用带有OVER(分区依据…顺序依据)的窗口函数 在这种情况下,我认为,你有机会同时做到这一点

请参见下面的参考资料

我认为这个问题已经解决了。这会将所有计算带到一个节点,从而导致“资源已超出”消息。我知道您需要它为每个对象带来第一个(按日期)网站。
尝试重写要分区的选择(内部联接)。 例如,使用带有OVER(分区依据…顺序依据)的窗口函数 在这种情况下,我认为,你有机会同时做到这一点

请参见下面的参考资料

这很奇怪,因为查询返回的是相同的“查询执行期间超出的资源”。即使我将查询限制为50,它也会返回该值。该限制不会改变查询的运行方式。它只是改变返回的内容。如果没有足够的资源来执行查询,那么限制将没有帮助,因为限制是在查询完全运行后应用的。你能把你的连接表放在一个实际的表中并在那里进行连接吗?这很奇怪,因为查询返回的是相同的“查询执行期间超出的资源”。即使我将查询限制为50,它也会返回它。限制不会改变查询的运行方式。它只是改变返回的内容。如果没有足够的资源来执行查询,那么限制将没有帮助,因为限制是在查询完全运行后应用的。你能把你的联接表放在一个实际的表中,然后在那里进行联接吗?你能把你的double select推到另一个临时表中,然后在那个临时表上进行联接吗?虽然这将是两个查询,但第一部分不必与外部select同时运行这一事实可能会有所帮助。能否将double select推到另一个临时表中,然后对该表进行联接?虽然这将是两个查询,但第一部分不必与外部select同时运行这一事实可能会有所帮助。