Google cloud dataflow 使用数据流和查找的最佳实践ETL

Google cloud dataflow 使用数据流和查找的最佳实践ETL,google-cloud-dataflow,apache-beam,Google Cloud Dataflow,Apache Beam,实现标准的流式ETL流程(将事实和一些较小维度的表写入BigQuery)的最佳实践是什么 我试图了解如何处理以下事情: 如何在流式管道中执行简单的维度查找 如果答案是sideInput-如何处理维度中尚不存在的值的查找?如何更新sideInput 当侧输入收到特定窗口上的延迟数据时,将重新计算它们。如果在此之后进行查找,则可以在side输入中看到元素 目前,Beam模型不包括重新触发使用侧输入的ParDo的语义,因此您需要以某种方式确保在计算侧输入后(重新)执行反查找。您能提供更多关于您尝试执

实现标准的流式ETL流程(将事实和一些较小维度的表写入BigQuery)的最佳实践是什么

我试图了解如何处理以下事情:

  • 如何在流式管道中执行简单的维度查找
  • 如果答案是sideInput-如何处理维度中尚不存在的值的查找?如何更新sideInput

当侧输入收到特定窗口上的延迟数据时,将重新计算它们。如果在此之后进行查找,则可以在side输入中看到元素


目前,Beam模型不包括重新触发使用侧输入的ParDo的语义,因此您需要以某种方式确保在计算侧输入后(重新)执行反查找。

您能提供更多关于您尝试执行的操作的信息吗?侧面输入可能是答案;此处提供了更多信息:@danielm使用侧输入时的主要问题是如何使用从主输入流中输入的新值更新流作业中的侧输入。示例:一个事实流式输入一个新的客户id,该id在侧输入中还不存在。我们想把它添加到sideInput中,这样下一个事实就不会认为它仍然丢失了。这是一个有趣的问题。让我检查一下——很抱歉我们花了这么长时间才看到这个。是的,我希望有一些简单的方法可以“触发”侧面输入的重新运行。目前看来,在创建ParDo时,查找管道外的数据并将其作为参数提供似乎是最简单的方法。很高兴您能找到解决方法-我们将研究添加这些语义的可能性。