当前位置: 首页 > 面试题库 >

使用Apache Beam将插入式广告扩展到BigQuery时如何指定insertId

齐夕
2023-03-14
问题内容

BigQuery支持重复数据删除以进行流插入。如何通过Apache Beam使用此功能?

https://cloud.google.com/bigquery/streaming-data-into-
bigquery#dataconsistency

为了帮助确保数据一致性,可以为每个插入的行提供insertId。BigQuery会记住此ID至少一分钟。如果您尝试在该时间段内流传输相同的行集,并且设置了insertId属性,则BigQuery将使用insertId属性来尽最大努力消除重复数据。您可能必须重试插入,因为在某些错误情况下(例如系统与BigQuery之间的网络错误或BigQuery中的内部错误),无法确定流插入的状态。如果您重试插入,请对相同的行集使用相同的insertId,以便BigQuery可以尝试对您的数据进行重复数据删除。有关更多信息,请参见对流插入进行故障排除。

我在Java文档中找不到此类功能
https://beam.apache.org/releases/javadoc/2.9.0/org/apache/beam/sdk/io/gcp/bigquery/BigQueryIO.Write.html

在此问题中,他建议在TableRow中设置insertId。这样对吗?

https://developers.google.com/resources/api-
libraries/documentation/bigquery/v2/java/latest/com/google/api/services/bigquery/model/TableRow.html?is-
external=true

BigQuery客户端库具有此功能。

https://googleapis.github.io/google-cloud-java/google-cloud-
clients/apidocs/index.html?com/google/cloud/bigquery/package-summary.html

https://github.com/googleapis /google-cloud-java/blob/master/google-cloud-
clients/google-cloud-
bigquery/src/main/java/com/google/cloud/bigquery/InsertAllRequest.java#L134


问题答案:

正如Felipe在评论中提到的那样,似乎Dataflow已经在使用insertId本身来实现“恰好一次”。因此我们无法手动指定insertId。



 类似资料:
  • 我希望在iOS上创建一个BLE广告,我可以在字节级别上控制广告。 一个用例是模仿iBeacon广告。什么是iBeacon蓝牙配置文件(我想做广告,而我的应用程序是在后台,这就是为什么我不使用核心位置) 我看不到用核心蓝牙应用编程接口做到这一点的方法。这样做正确吗?是否有使用私有API或越狱的替代方案?

  • 1. 简介 指定广告跟踪将提供您各种其它媒介推广为您网站带来的流量情况。通过对各种媒介推广给您网站带来的流量对比,您可以了解哪种媒介推广能够给您网站带来较多的流量,哪种媒介推广给您网站带来的流量质量较高。基于各种媒介推广带来的不同流量及流量质量,您可以进一步比较分析在各种媒介上的关键词和创意,了解哪些关键词和创意更能够吸引访客,哪些关键词和创意还需要进一步优化以及如何优化等等。通过不断地比较分析各

  • 当使用指定的bean注入点时,如何扩展命名bean? 我的项目1由3个spring Bean组成: 这个项目被捆绑到一个jar中,并作为我的第二个项目的依赖项包含在内: 我想发生的是将bean注入到的setter方法中。不幸的是,我收到了一个错误。 组织。springframework。上下文注释。冲突BeanDefinitionException:bean类[Bean1Child]的注释指定的b

  • 我在Play商店有一个普通的(非游戏)应用程序,它有一些高级功能,我目前已经实施了一个系统,在用户(非高级)同意观看广告后临时解锁上述功能。目前广告由AppLovin提供,但我的目标是切换到Facebook受众网络。 就我对FAN的理解而言;奖励视频广告格式仅适用于游戏应用程序,因此我在为我的应用程序创建位置时无法将其视为一种选择。 在政策上,为此目的使用间隙放置是否合适? 我已经阅读了https

  • 问题内容: 我正在Flask中构建应用程序,并且定义了几个SQLAlchemy模型。我有一个字典,其中包含每种模型类型的键/值对。 我想使用字典进行广义插入…这是否需要映射器?我知道wtforms.ext.sqlalchemy.orm.model_form()会使用populate_obj(model)生成一个对象,因此这是可能的。我已经仔细阅读了文档,但找不到它。我可以稍后执行提交,但是现在需要

  • 使用指南 - 数据报告 - 来源分析 - 指定广告跟踪的用途与使用 1、指定广告跟踪的用途 指定广告跟踪将提供您各种其它媒介推广为您网站带来的流量情况。通过对各种媒介推广给您网站带来的流量对比,您可以了解哪种媒介推广能够给您网站带来较多的流量,哪种媒介推广给您网站带来的流量质量较高。基于各种媒介推广带来的不同流量及流量质量,您可以进一步比较分析在各种媒介上的关键词和创意,了解哪些关键词和创意更能够