pub/sub 每天 table

pub/sub on daily table

我希望实现从我的 AppEngine 到 Bigquery 的 pub/sub&Dataflow 连接 因为我试图了解如何准确定义它

我的问题是我每天 table 一个新的 table 在 Bigquery 上每天打开一次, 当我尝试设置数据流时,它只给我一个选择 table

的选项

根据你在评论区说的,可以用Daily Sharded tables or Time/day Partitioned tables

根据 documentation,您可以在两种类型中进行流式传输。但是,我必须指出一些差异,您必须考虑。

Time/Day 分区表:

  • 这些table在内部分为segments/partitions,更易于管理和提高查询性能。您可以获得更多关于它的信息 here

  • quotas,例如每个table的最大分区数,您必须检查它们是否满足您的需求。

  • 查询 Day/Time 分区 tables 时,您可以使用伪列 _PARTITIONTIME 或 _PARTITIONDATE,每个都有自己的格式,您可以阅读更多内容 here.

  • 您可以使用 insertAll 请求流式传输单个行。

  • 根据 documentation,分区的 tables 比分片的 tables 表现更好,因为您不需要元数据的副本和验证权限对于每个 table.

每日分片table:

  • 没有可用于 manage/query 您的数据库的伪列。

  • 您可以创建的 table 数量没有限制,您可以阅读有关配额的更多信息 here.

  • create daily tables using templates,比如<targeted_table_name> + <templateSuffix>,都是schema .

如果您选择分区 table,您可以创建一个日期分区 table 并将其流式传输到其中。不过,如果您更喜欢 Sharded table,则可以使用模板来创建 table。

此外,我鼓励您阅读更多关于每个 here 的差异和特征的信息。