擅长:python、mysql、java
<ol>
<li><p>代码看起来不错。然而,既然<code>mappingTable</code>是一个映射,<code>beam.pvalue.AsDict</code>不更适合您的用例吗?</p></li>
<li><p>您的<code>mappingTable</code>足够小,所以side input是一个很好的用例。
假定<code>mappingTable</code>也是静态的,您可以从<code>DoFn</code>函数的<code>start_bundle</code>中的GCS加载它。有关详细信息,请参阅<a href="https://stackoverflow.com/questions/43958372/large-numpy-matrix-as-dataflow-side-input?rq=1">this</a>帖子的答案。如果<code>mappingTable</code>将来变得非常大,您还可以考虑将您的<code>map_logentries</code>和{<cd1>}转换为<code>PCollection</code>的键值对,并使用<a href="https://beam.apache.org/documentation/programming-guide/#cogroupbykey" rel="nofollow noreferrer">^{<cd11>}</a>将它们连接起来。</p></li>
</ol>