[
https://issues.apache.org/jira/browse/FLINK-22853?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Raypon Wang updated FLINK-22853:
--------------------------------
Description:
mysql data:
id offset
1 1
1 3
1 2
flinksql code:(I used flink-connector-jdbc_2.12:1.12.1)
object FlinkSqlOnJdbcForMysql {
def main(args: Array[String]): Unit = {
val settings =
EnvironmentSettings.newInstance().useBlinkPlanner().inBatchMode().build()
val tableEnvironment = TableEnvironment.create(settings)
tableEnvironment.executeSql("" +
"CREATE TABLE test (" +
" id BIGINT," +
" `offset` INT," +
" PRIMARY KEY (id) NOT ENFORCED" +
") WITH (" +
" 'connector' = 'jdbc'," +
" 'driver' = 'com.mysql.cj.jdbc.Driver'," +
" 'url' = 'jdbc:mysql://127.0.0.1:3306/test?&serverTimezone=Asia/Shanghai'," +
" 'username' = 'root'," +
" 'password' = 'Project.03'," +
" 'table-name' = 'test'," +
" 'scan.fetch-size' = '1000'," +
" 'scan.auto-commit' = 'true'" +
")")
tableEnvironment.executeSql(
"select id,max(`offset`) from test group by id").print()
}
}
result:
+-----------------------+------------+
|id|EXPR$1|
+-----------------------+------------+
|1|1|
|1|3|
|1|2|
+-----------------------+------------+
Result of max/min/sum is duplicated,
but avg/count/last_value/first_value is ok.
was:
mysql数据如下:
id offset
1 1
1 3
1 2
flinksql code:
val settings =
EnvironmentSettings.newInstance().useBlinkPlanner().inBatchMode().build()
val tableEnvironment = TableEnvironment.create(settings)
tableEnvironment.executeSql("select id,max(`offset`) from table group by id"
).print()
result:
+----------------------+-------------+
| id | EXPR$1 |
+----------------------+-------------+
| 1 | 1 |
| 1 | 3 |
| 1 | 2 |
+----------------------+-------------+
max/min/sum都有这个问题;
但是 avg/count/last_value/first_value 没有这个问题
> FLinkSql聚合函数max/min/sum返回结果重复
> -----------------------------
>
> Key: FLINK-22853
> URL: https://issues.apache.org/jira/browse/FLINK-22853
> Project: Flink
> Issue Type: Bug
> Components: Table SQL / API
> Affects Versions: 1.12.1
> Reporter: Raypon Wang
> Priority: Blocker
>
> mysql data:
> id offset
> 1 1
> 1 3
> 1 2
> flinksql code:(I used flink-connector-jdbc_2.12:1.12.1)
>
>
> object FlinkSqlOnJdbcForMysql {
> def main(args: Array[String]): Unit = {
> val settings =
> EnvironmentSettings.newInstance().useBlinkPlanner().inBatchMode().build()
> val tableEnvironment = TableEnvironment.create(settings)
> tableEnvironment.executeSql("" +
> "CREATE TABLE test (" +
> " id BIGINT," +
> " `offset` INT," +
> " PRIMARY KEY (id) NOT ENFORCED" +
> ") WITH (" +
> " 'connector' = 'jdbc'," +
> " 'driver' = 'com.mysql.cj.jdbc.Driver'," +
> " 'url' = 'jdbc:mysql://127.0.0.1:3306/test?&serverTimezone=Asia/Shanghai',"
> +
> " 'username' = 'root'," +
> " 'password' = 'Project.03'," +
> " 'table-name' = 'test'," +
> " 'scan.fetch-size' = '1000'," +
> " 'scan.auto-commit' = 'true'" +
> ")")
> tableEnvironment.executeSql(
> "select id,max(`offset`) from test group by id").print()
> }
> }
>
> result:
> +-----------------------+------------+
> |id|EXPR$1|
> +-----------------------+------------+
> |1|1|
> |1|3|
> |1|2|
> +-----------------------+------------+
> Result of max/min/sum is duplicated,
> but avg/count/last_value/first_value is ok.
>
>
>
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)