Исключение flink-quickstart-java в потоке "main" java.lang.RuntimeException: приемники данных еще не созданы

Я только что создал новый проект Flink, используя архетип maven (т.е. шаблон) (Глядя на статью это)

mvn archetype:generate                               \
      -DarchetypeGroupId=org.apache.flink              \
      -DarchetypeArtifactId=flink-quickstart-java

1.14.4 — текущая версия. Проект может компилироваться. Но при беге либо BatchJob, либо StreamingJob

public class BatchJob {

    public static void main(String[] args) throws Exception {
        // set up the batch execution environment
        final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();

Первое исключение NoClassDefFoundError: org/apache/flink/streaming/api/environment/StreamExecutionEnvironment можно решить как в java.lang.NoClassDefFoundError: org/apache/flink/streaming/api/scala/StreamExecutionEnvironment

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/flink/streaming/api/environment/StreamExecutionEnvironment
    at com.example.flink.StreamingJob.main(StreamingJob.java:39)
Caused by: java.lang.ClassNotFoundException: org.apache.flink.streaming.api.environment.StreamExecutionEnvironment
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    ... 1 more

Но потом я получаю Exception in thread "main" java.lang.RuntimeException: No data sinks have been created yet.

P.S. Все ссылки на документацию https://flink.apache.org/docs/latest из этих двух классов Java имеют ошибку 404 Not Found,
поэтому я предполагаю, что этот архетип maven был фактически заброшен и не обновлялся в течение некоторого времени.

         * Have a look at the programming guide for the Java API:
         *
         * https://flink.apache.org/docs/latest/apis/batch/index.html
         *
         * and the examples
         *
         * https://flink.apache.org/docs/latest/apis/batch/examples.html

Если вы будете следовать этим инструкциям -- nightlies.apache.org/flink/flink-docs-release-1.14/docs/dev/‌​… -- это должно сработать.

David Anderson 23.04.2022 14:14

Спасибо, что указали на документ Конфигурация проекта — раздел Maven Quickstart. И это именно проблема, и этот проект, который идет с использованием архетипа maven flink-quickstart-java, на самом деле не запускается. Я использовал обнаружение мошенничества с примером API DataStream nightlies.apache.org/flink/flink-docs-release-1.14/docs/…, используя flink-walkthrough-datastream-java, и это просто сработало. См. P.S. в вопросе сейчас.

Paul Verest 23.04.2022 17:41
Основы программирования на Java
Основы программирования на Java
Java - это высокоуровневый объектно-ориентированный язык программирования, основанный на классах.
Концепции JavaScript, которые вы должны знать как JS программист!
Концепции JavaScript, которые вы должны знать как JS программист!
JavaScript (Js) - это язык программирования, объединяющий HTML и CSS с одной из основных технологий Всемирной паутины. Более 97% веб-сайтов используют...
0
2
38
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Быстрый запуск maven обеспечивает правильно настроенный каркасный проект. Однако поставляемые приложения не являются полными и не работают сразу после установки, поскольку в них отсутствуют источники и приемники.

Если вы определяете простой конвейер, такой как

env.fromElements(1, 2, 3).print();

тогда они будут работать.

Эта минимальная строка работала как для ExecutionEnvironment, так и для StreamExecutionEnvironment.

Paul Verest 25.04.2022 16:26

Другие вопросы по теме