-26 15:47
收件人: Aljoscha Krettek
抄送: user
主题: Re: java.lang.AbstractMethodError when implementing KafkaSerializationSchema
Hi,wanglei
I think Aljoscha is wright. Could you post your denpendency list?
Dependency flink-connector-kafka is used in dataStream Application which you
should use, dependency
Hi,wanglei
I think Aljoscha is wright. Could you post your denpendency list?
Dependency flink-connector-kafka is used in dataStream Application which you
should use, dependency flink-sql-connector-kafka is used in Table API & SQL
Application. We should only add one of them because the two
I think what might be happening is that you're mixing dependencies from
the flink-sql-connector-kafka and the proper flink-connector-kafka that
should be used with the DataStream API. Could that be the case?
Best,
Aljoscha
On 25.05.20 19:18, Piotr Nowojski wrote:
Hi,
It would be helpful if
Hi,
It would be helpful if you could provide full stack trace, what Flink version
and which Kafka connector version are you using?
It sounds like either a dependency convergence error (mixing Kafka
dependencies/various versions of flink-connector-kafka inside a single job/jar)
or some shading
public class MyKafkaSerializationSchema implements
KafkaSerializationSchema> {
@Override
public ProducerRecord serialize(Tuple2 o,
@Nullable Long aLong) {
ProducerRecord record = new ProducerRecord<>(o.f0,
o.f1.getBytes(StandardCharsets.UTF_8));
return
Hi Steve,
I just noticed some inconsistency: Your class correctly contains the bridge
method (last method in javap).
Your stacktrace however mentions
*org/apache/**flink/kafka/shaded*/org/apache/kafka/clients/producer/ProducerRecord
instead of org.apache.kafka.clients.producer.ProducerRecord.
Hi Arvid,
Interestingly, my job runs successfully in a docker container (image*
flink:1.9.0-scala_2.11*) but is failing with the
*java.lang.AbstractMethodError* on AWS EMR (non-docker). I am compiling
with java version OpenJDK 1.8.0_242, which is the same version my EMR
cluster is running. Though
Hi Steve,
for some reason, it seems as if the Java compiler is not generating the
bridge method [1].
Could you double-check that the Java version of your build process and your
cluster match?
Could you run javap on your generated class file and report back?
[1]
Hi,
I am attempting to create a Key/Value serializer for the Kafka table
connector. I forked `KafkaTableSourceSinkFactoryBase`[1] and other relevant
classes, updating the serializer.
First, I created `JsonRowKeyedSerializationSchema` which implements
`KeyedSerializationSchema`[2], which is