Flink总结

刘超 15天前 ⋅ 1070 阅读   编辑

分类 描述 备注
设计
明明使用的是010的flink-connector-kafka,为啥还需要09的呢,查看flink1.10.0源码,FlinkKafkaConsumer010会继承FlinkKafkaConsumer09,感觉有点别扭 release-1.7.0、release-1.10.1、 release-1.10.0都有这个问题,release-1.11之后才改为继承FlinkKafkaConsumerBase
使用
开发工具 idea
找不到org.apache.calcite.jdbc.CalciteSchema.createRootSchema(ZZ)Lorg/apache/calcite/jdbc/CalciteSchema,莫名其妙问题;
语法 Flink1.7.0语句不能包含双引号
注解
flink1.10.1使用@Internal,需要导入flink-dist_2.11依赖
日志
如果日志不生效,则检查resource中是否有log4j.properties文件,如果有,那在代码中添加org.apache.log4j.BasicConfigurator.configure();试试
与包有关的解决方法:1、先确定类属于哪个包中;2、然后再确认是否有包的依赖,比如pom.xml或者build.sbt中有该包的依赖吗;3、不同版本的jar可能某方法被重写了,导致的报错,比如这类问题;还有相互依赖问题等,比如010的FlinkKafkaConsumer010依赖09的FlinkKafkaConsumer09;也有可能下载jar有问题,比如这类问题
数据类型 TypeInformation需要import org.apache.flink.streaming.api.scala._或者import org.apache.flink.streaming.api.scala.createTypeInformation(知识点来自于这里);
第三方组件
kafka
flinksql1.7.0向kafka写数据时需要指定别名
安装
docker pull 下来的 flink,按docker run --name flink_jobmanager -d -t -p 8081:8081  flink jobmanager 运行

注意:本文归作者所有,未经作者允许,不得转载

全部评论: 0

    我有话说: