Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.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 cloud dataflow 每当发送特定的发布/订阅消息时,是否可以重新加载删除/重新加载Bigquery表?_Google Cloud Dataflow_Apache Beam - Fatal编程技术网

Google cloud dataflow 每当发送特定的发布/订阅消息时,是否可以重新加载删除/重新加载Bigquery表?

Google cloud dataflow 每当发送特定的发布/订阅消息时,是否可以重新加载删除/重新加载Bigquery表?,google-cloud-dataflow,apache-beam,Google Cloud Dataflow,Apache Beam,我们正在向同一订阅发送多个发布/订阅表的消息。pub/sub属性定义它写入的表。有些表是聚合表,只需截断/重新加载表就可以获得好处 当我尝试将写入配置设置为截断时,会收到一条错误消息 Caused by: java.lang.IllegalArgumentException: WriteDisposition.WRITE_TRUNCATE is not supported for an unbounded PCollection. 当某些消息来自pub/sub时,是否有任何方法可以销毁/重新加

我们正在向同一订阅发送多个发布/订阅表的消息。pub/sub属性定义它写入的表。有些表是聚合表,只需截断/重新加载表就可以获得好处

当我尝试将写入配置设置为截断时,会收到一条错误消息

Caused by: java.lang.IllegalArgumentException: WriteDisposition.WRITE_TRUNCATE is not supported for an unbounded PCollection.

当某些消息来自pub/sub时,是否有任何方法可以销毁/重新加载BigQuery表?

这似乎不太可能。Apache beam不保证消息的接收顺序。那么,你怎么知道什么时候做这件事呢?如果delete和populate消息同时出现,那么首先处理哪一个呢?我会得到一条带有特定属性的pub/sub消息,该属性表示要填充哪个表。根据特定的表名,我将截断表或追加。记录将以小批量的形式出现,作为发布/订阅消息中以行分隔的记录列表。应替换聚合表,而不是追加。因此,问题的原因是未绑定的集合。在插入到BigQuery之前,您是否尝试过使用一个窗口?有一个窗口后面跟着一些转换,但它抛出了上面的错误。我认为写截断会考虑到pCype完成,流水线完成了,在这里,我想无限期地运行这个命令,每次获取带有某个属性的消息时都截断。也许这是不可能的。