0

我正在尝试row_number使用带有以下代码的 Apache Beam SQL 生成:

PCollection<Row> rwrtg =
        PCollectionTuple.of(new TupleTag<>("trrtg"), rrtg)
                        .apply(SqlTransform.query("select appId, row_number() over (partition by appId order by rating asc) as issue_rank from trrtg"));

但是出现以下错误:

java.lang.RuntimeException: cannot translate call ROW_NUMBER() OVER (PARTITION BY $t0 ORDER BY $t1 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)

你能建议如何解决这个问题吗?

4

1 回答 1

2

Beam SQL 支持两种方言:-

  1. Beam Calcite - 可以在此处找到有关支持的运算符的详细信息。
  2. ZetaSQL - 可以在此处找到有关支持的运算符的详细信息

今天这两种方言都不支持 row_number() 分析功能。因此你得到了错误。

于 2020-04-20T15:26:04.390 回答