Flink 1.12 Could not find any factory for identifier ‘kafka‘ that implements ‘org.apache.flink.table

java配置flinksql表连接kafka。

例如:

tableEnv.executeSql("CREATE TABLE invalidCtp (\n" +
                "    sys_name STRING,\n" +
                "    broker_id STRING,\n" +
                "    investor_id STRING\n," +
                "    row_rank BIGINT" +
                ") WITH (\n" +
                "    'connector' = 'kafka',\n" +
                "    'topic'     = 'invalidCtpDetail',\n" +
                "    'properties.bootstrap.servers' = '47.104.234.54:9092',\n" +
//                "    'connector.startup-mode' = 'latest-offset',\n" +
                "    'scan.startup.mode' = 'earliest-offset',\n" +
//                "    'kafka.auto.offset.reset' = 'latest',\n" +
                "    'format'    = 'json'\n" +
                ")");

本地可运行,服务器报错:Flink 1.12 Could not find any factory for identifier 'kafka' that implements 'org.apache.flink.table.factories.DynamicTableFactory' in the classpath

解决办法:

pom.xml文件中加入依赖(也可去如下网站下载对应版本)

https://mvnrepository.com/artifact/org.apache.flink/flink-sql-connector-kafka_2.11/1.12.1

        <dependency>
            <groupId>org.apache.flink</groupId>
            <artifactId>flink-sql-connector-kafka_${scala.binary.version}</artifactId>
            <version>${flink.version}</version>
            <!--<scope>provided</scope>-->
        </dependency>

然后把该依赖包(flink-sql-connector-kafka_${scala.binary.version})放到flink安装目录的lib目录下:

加入该依赖包后,可能会导致如下报错:flink提交任务报错:java.lang.ClassCastException LinkedMap cannot be cast to LinkedMap exceptions

解决办法:

在conf/flink-conf.yaml添加如下内容并重启flink:

classloader.resolve-order: parent-first

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wangan094

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值