【问题标题】:How to use Beam SQL to perform Lookups如何使用 Beam SQL 执行查找
【发布时间】:2018-08-10 01:56:09
【问题描述】:

是否可以使用 Beam SQL 执行基于列的查找?我遇到了一个班级BeamJoinTransforms.JoinAsLookup,但找不到任何工作的sn-p。 目前,为了在 Apache Beam 代码中执行查找,我正在遵循使用 CoGroupByKey/SideInput 执行“左连接”的做法,并通过在我的代码中维护列映射来生成过滤后的 TableRows。 我相信这也可以使用 Beam SQL 来实现,但要遵循一种更有效的方式来处理查找。有没有人为此有任何工作的sn-p?寻找可以将 PCollection<TableRow> 转换为 Pcollection<Row> 并使用 Beam SQL 库执行字段查找的示例。

【问题讨论】:

    标签: google-cloud-dataflow apache-beam


    【解决方案1】:

    我不相信 Beam SDK 捆绑了这个逻辑的任何具体版本。它应该在连接中的一个表是BeamSeekableTable 的实例时触发,参见源代码的this part。有关更多上下文,您可以阅读引入此功能的原始拉取请求:PR-4196

    目前,BeamSeekableTable 在 Beam SDK 中还没有任何可行的实现。您可能可以实现自己的TableProvider,它返回一个BeamSqlTable,也实现了BeamSeekableTable。例如,请参阅 here 如何为 text tables(CSV,行)实现 TableProvider

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-26
      • 2011-07-29
      • 2020-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-07
      相关资源
      最近更新 更多