Thanks guys.

I missed the runtime dependencies. After adding below into
https://github.com/apache/flink-playgrounds/blob/master/table-walkthrough/Dockerfile.
The original issue of "Could not find any factory for identifier" is gone.

wget -P /opt/flink/lib/
https://repo1.maven.org/maven2/org/apache/flink/flink-avro/1.11.0/flink-avro-1.11.0.jar;
\
wget -P /opt/flink/lib/
https://repo1.maven.org/maven2/org/apache/avro/avro/1.8.2/avro-1.8.2.jar;
\
wget -P /opt/flink/lib/
https://repo1.maven.org/maven2/org/codehaus/jackson/jackson-core-asl/1.9.13/jackson-core-asl-1.9.13.jar;
\
wget -P /opt/flink/lib/
https://repo1.maven.org/maven2/org/codehaus/jackson/jackson-mapper-asl/1.9.13/jackson-mapper-asl-1.9.13.jar;
\
wget -P /opt/flink/lib/
https://repo1.maven.org/maven2/com/thoughtworks/paranamer/paranamer/2.3/paranamer-2.3.jar;


However, I got various NoSuchMethodException related to
JsonNode/JsonNull/GenricRecord/...  The most recent exception is:

 java.lang.RuntimeException: java.lang.NoSuchMethodException:
org.apache.avro.generic.GenericRecord.<init>()
jobmanager_1      |     at
org.apache.avro.specific.SpecificData.newInstance(SpecificData.java:353)
~[avro-1.8.2.jar:1.8.2]
jobmanager_1      |     at
org.apache.avro.specific.SpecificData.newRecord(SpecificData.java:369)
~[avro-1.8.2.jar:1.8.2]
jobmanager_1      |     at
org.apache.avro.reflect.ReflectData.newRecord(ReflectData.java:901)
~[avro-1.8.2.jar:1.8.2]
jobmanager_1      |     at
org.apache.avro.generic.GenericDatumReader.readRecord(GenericDatumReader.java:212)
~[avro-1.8.2.jar:1.8.2]
jobmanager_1      |     at
org.apache.avro.generic.GenericDatumReader.readWithoutConversion(GenericDatumReader.java:175)
~[avro-1.8.2.jar:1.8.2]
jobmanager_1      |     at
org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:153)
~[avro-1.8.2.jar:1.8.2]
jobmanager_1      |     at
org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:145)
~[avro-1.8.2.jar:1.8.2]
jobmanager_1      |     at
org.apache.avro.file.DataFileStream.next(DataFileStream.java:233)
~[avro-1.8.2.jar:1.8.2]
jobmanager_1      |     at
org.apache.flink.formats.avro.AvroInputFormat.nextRecord(AvroInputFormat.java:165)
~[flink-avro-1.11.0.jar:1.11.0]
jobmanager_1      |     at
org.apache.flink.formats.avro.AvroFileSystemFormatFactory$RowDataAvroInputFormat.nextRecord(AvroFileSystemFormatFactory.java:200)
~[flink-avro-1.11.0.jar:1.11.0]
jobmanager_1      |     at
org.apache.flink.streaming.api.functions.source.InputFormatSourceFunction.run(InputFormatSourceFunction.java:91)
~[flink-dist_2.11-1.11.0.jar:1.11.0]
jobmanager_1      |     at
org.apache.flink.streaming.api.operators.StreamSource.run(StreamSource.java:100)
~[flink-dist_2.11-1.11.0.jar:1.11.0]
jobmanager_1      |     at
org.apache.flink.streaming.api.operators.StreamSource.run(StreamSource.java:63)
~[flink-dist_2.11-1.11.0.jar:1.11.0]
jobmanager_1      |     at
org.apache.flink.streaming.runtime.tasks.SourceStreamTask$LegacySourceFunctionThread.run(SourceStreamTask.java:201)
~[flink-dist_2.11-1.11.0.jar:1.11.0]

Is there a uber jar or a list of runtime dependencies so that
developers can easily make the above example of Flink SQL for avro
work? Thanks.





On Sat, Jul 11, 2020 at 11:39 PM Leonard Xu <xbjt...@gmail.com> wrote:

> Hi, Jiang
>
>
> jobmanager_1      | Available factory identifiers are:
> jobmanager_1      |
> jobmanager_1      | csv
> jobmanager_1      | json
> jobmanager_1      | parquet
>
>
> After added the flink-avro dependency, did you restart your
> cluster/sql-client? It looks flink-avro dependency did not load properly
> from the log.
>
>
> Best,
> Leonard Xu
>


-- 

Create your own email signature
<https://www.wisestamp.com/signature-in-email/?utm_source=promotion&utm_medium=signature&utm_campaign=create_your_own&srcid=5234462839406592>

Reply via email to