针对于使用 SQL查询,select current_timestamp,creaetTime from sourceTable ;其中 createTime 注册成 SQL_TIMESTMAP 类型
问题描述: 无论是流中的原有数据 createTime,还是 current_time 函数 打印的结果都出现格式的问题 2019-11-06T11:01:24.047,2019-11-06T18:53:54 请问: 如何避免格式中 T 的出现 针对于上封邮件进行补充: 做了类型检测:flink 1.9.1 对于执行完SQL之后的类型,date 使用 java.time.LocalDate;timestamp 使用 java.time.LocalDateTime 而1.7.2版本是 date 使用 java.sql.date;timestamp 使用 java.sql.timestamp 请问: 是出于什么考虑改变这个策略的? 再次补充,实在抱歉: 1. 经过测试发现是 blink_planner 的问题,flink以及采用 date 使用 java.sql.date;timestamp 使用 java.sql.timestamp 的形式; 2.对于blink_planner 的另一个问题 inner join 之后的 on 表达式过滤 (1) inner join table2 on columnOne+ColumnTwo<= 2019 flink在 DataStream<Row> dataStream = streamTableEnvironment.toAppendStream(table, Row.class);会有报错处理,无法生成执行计划 blink会执行通过 (2) inner join table2 on columnOne = 2019 and columnTwoe+ColumnThree<= 2019 flink会执行通过 blink也会执行通过, 但是对于 inner join table2 on columnOne = 2019 and columnTwoe<= 2019,执行报错 java.lang.AssertionError at org.apache.calcite.sql2rel.SqlToRelConverter$Blackboard.getRootField(SqlToRelConverter.java:4433) at org.apache.calcite.sql2rel.SqlToRelConverter.adjustInputRef(SqlToRelConverter.java:3750) at org.apache.calcite.sql2rel.SqlToRelConverter.convertIdentifier(SqlToRelConverter.java:3722) at org.apache.calcite.sql2rel.SqlToRelConverter.access$2200(SqlToRelConverter.java:217) at org.apache.calcite.sql2rel.SqlToRelConverter$Blackboard.visit(SqlToRelConverter.java:4781) at org.apache.calcite.sql2rel.SqlToRelConverter$Blackboard.visit(SqlToRelConverter.java:4077) at org.apache.calcite.sql.SqlIdentifier.accept(SqlIdentifier.java:317) at org.apache.calcite.sql2rel.SqlToRelConverter$Blackboard.convertExpression(SqlToRelConverter.java:4641) at org.apache.calcite.sql2rel.SqlToRelConverter.convertSelectList(SqlToRelConverter.java:3924) at org.apache.calcite.sql2rel.SqlToRelConverter.convertSelectImpl(SqlToRelConverter.java:670) at org.apache.calcite.sql2rel.SqlToRelConverter.convertSelect(SqlToRelConverter.java:627) at org.apache.calcite.sql2rel.SqlToRelConverter.convertQueryRecursive(SqlToRelConverter.java:3166) at org.apache.calcite.sql2rel.SqlToRelConverter.convertQuery(SqlToRelConverter.java:563) at org.apache.flink.table.planner.calcite.FlinkPlannerImpl.rel(FlinkPlannerImpl.scala:139) at org.apache.flink.table.planner.operations.SqlToOperationConverter.toQueryOperation(SqlToOperationConverter.java:212) at org.apache.flink.table.planner.operations.SqlToOperationConverter.convertSqlQuery(SqlToOperationConverter.java:161) at org.apache.flink.table.planner.operations.SqlToOperationConverter.convert(SqlToOperationConverter.java:91) at org.apache.flink.table.planner.delegation.PlannerBase.parse(PlannerBase.scala:132) at org.apache.flink.table.api.internal.TableEnvironmentImpl.sqlQuery(TableEnvironmentImpl.java:298) (3) blink对于 join 之后 on 过滤的支持,具有非常大的迷惑性,一下报错,报错信息同上 1. like 报错 2. not like 不报错 3. is null /is not null 均报错 4. <>/ </ >/ </ <=/ >= 对于单个字段报错,多个字段不报错 请问一下,这个是 blink 自身的bug,还是出于什么考虑做的这么有迷惑性 |
Free forum by Nabble | Edit this page |