我有两个来源,我需要将它们结合在一起。假设每个源都有大约1亿行数据,我想将针对这些源运行的两个查询的结果连接起来。因此,从概念上讲,连接查询看起来像这样:
SELECT *
FROM
(query1 against ElasticSearch source -- results are of unknown size)
JOIN
(query2 against BigQuery source -- results are of unknown size)
ON query1.joinkey = query2.joinkey
换句话说,query1的结果可以是0字
我正在使用云数据流将数据从发布/订阅消息导入到BigQuery表中。我使用DynamicDestinations,因为这些消息可以放入不同的表中。
我最近注意到,该进程开始消耗所有资源,并显示以下消息:
Processing stuck in step Write Avros to BigQuery Table/StreamingInserts/StreamingWriteTables/StreamingWrite for at least 26h45m00s without outputting or completing in state finish at sun.misc.Unsafe
基本上,我想在系统的一个非常关键的部分将一些非关键数据流到BigQuery中。
我希望指定大约2秒的最大超时时间,因为如果存在任何连接问题,或者如果BigQuery不可用,我不希望阻塞该进程太长时间(以前已经发生过这种情况,但我不希望经常发生这种情况)。
我使用google/cloud库连接到BigQuery,基本上使用以下代码:
use Google\Cloud\BigQuery\BigQueryClient;
/**
* Stream a row of data into your BigQuery table
* Example:
* ```
* $data = [
*