问题一:Flink sql查询NULL值错误
Select id, name, if(type=1,2,null) From user ; 当我执行上面的sql的时候提示我 [ERROR] Could not execute SQL statement. Reason: org.apache.calcite.sql.validate.SqlValidatorException: Illegal use of ‘NULL’ 是无法将null展示吗?*来自志愿者整理的flink邮件归档
参考答案:
需要将 null cast 成某个具体的值,比如: if(type=1,2,cast(null as int))*来自志愿者整理的flink邮件归档
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/371530?spm=a2c6h.13066369.question.51.6ad26382SK2fNp
问题二:1.11版本的yarn-session如何指定taskmanager数量
我发现1.11版本的yarn-session.sh废弃了-n参数,那如何指定taskmanager数量?*来自志愿者整理的flink邮件归档
参考答案:
根据你 Job 的并发和指定的 TM 的规格来计算出 TM 的数量。*来自志愿者整理的flink邮件归档
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/371532?spm=a2c6h.13066369.question.54.6ad26382509Gze
问题三:请问有哪些功能,是 stream api 可以做到,而 table api 无法做到的呢?
如题,望各位老师指点*来自志愿者整理的flink邮件归档
参考答案:
这个可能不好对比,最好结合你的需求。 你可以理解为 Table API 为 我们内置了很多标准的算子,比如说 join,unionall 等,简化了我们自己实现的成本。 而 DataStream API 比较灵活,但处理逻辑都需要自己定义。 如果你的需求需要用到 state 或者 timer 的能力的,那么就需要使用 DataStream API。 希望这些对比有帮助。*来自志愿者整理的flink邮件归档
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/371535?spm=a2c6h.13066369.question.53.6ad26382hGdMxH
问题四:UDTAGG在SQL中可以使用么,语法是什么
Hi,像TableAggregateFunction可以在SQL中使用么?*来自志愿者整理的flink邮件归档
参考答案:
目前 SQL 中不支持 UDTAF。
你使用 UDTAF 的场景是什么呢?*来自志愿者整理的flink邮件归档
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/371537?spm=a2c6h.13066369.question.56.6ad26382yFtMwG
问题五:Flink sql cdc 锁超时
当我使用flink cdc 对多张表进行关联查询时其中的一张表总是会有锁超时的情况,导致任务无法正常启动, 请问这种情况应该如何处理? org.apache.kafka.connect.errors.ConnectException: Lock wait timeout exceeded; try restarting transaction Error code: 1205; SQLSTATE: 40001. at io.debezium.connector.mysql.AbstractReader.wrap(AbstractReader.java:230) at io.debezium.connector.mysql.AbstractReader.failed(AbstractReader.java:207) at io.debezium.connector.mysql.SnapshotReader.execute(SnapshotReader.java:831) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:123) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) at com.mysql.cj.jdbc.StatementImpl.executeInternal(StatementImpl.java:782) at com.mysql.cj.jdbc.StatementImpl.execute(StatementImpl.java:666) at io.debezium.jdbc.JdbcConnection.executeWithoutCommitting(JdbcConnection.java:1201) at io.debezium.connector.mysql.SnapshotReader.execute(SnapshotReader.java:465) ... 3 more*来自志愿者整理的flink邮件归档
参考答案:
有更完整的堆栈不?不够完整*来自志愿者整理的flink邮件归档
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/371558?spm=a2c6h.13066369.question.55.6ad26382oMyyad