1
votes

le streaming d'objets n'est pas membre du package org.apache.flink.test

J'ai clone le code flink de github, et l'ouvre avec Intellij Idea, je n'ai fait aucune configuration dans IJ ou dans le code (j'ai déjà installé le plugin IJ scala et installé scala sdk), je vais directement courir les deux exemples suivants dans Intellij Idea

Je suis capable d'exécuter avec succès l'exemple de Word Count en mode batch (Le code est la classe org.apache.flink.examples.scala.wordcount.WordCount dans flink-examples-batch_2. 11 module).

Mais quand j'essaie d'exécuter l'exemple de streaming Word Count (Le code est la classe org.apache.flink.streaming.scala.examples.wordcount.WordCount dans le module flink-examples-streaming_2.11 ), j'ai eu beaucoup d'erreurs de compilation:

Error:(30, 30) object streaming is not a member of package org.apache.flink.test
import org.apache.flink.test.streaming.runtime.util.TestListResultSink
Error:(46, 36) not found: type TestListResultSink
    val sideOutputResultSink = new TestListResultSink[String]
Error:(47, 26) not found: type TestListResultSink
    val resultSink = new TestListResultSink[Int]
Error:(82, 36) not found: type TestListResultSink
    val sideOutputResultSink = new TestListResultSink[String]
Error:(83, 26) not found: type TestListResultSink
    val resultSink = new TestListResultSink[Int]
Error:(119, 36) not found: type TestListResultSink
    val sideOutputResultSink = new TestListResultSink[String]
Error:(120, 26) not found: type TestListResultSink
    val resultSink = new TestListResultSink[Int]
Error:(152, 26) not found: type TestListResultSink
    val resultSink = new TestListResultSink[String]
Error:(153, 30) not found: type TestListResultSink
    val lateResultSink = new TestListResultSink[(String, Int)]
Error:(196, 26) not found: type TestListResultSink
    val resultSink = new TestListResultSink[String]
Error:(197, 30) not found: type TestListResultSink
    val lateResultSink = new TestListResultSink[(String, Int)]
Error:(242, 26) not found: type TestListResultSink
    val resultSink = new TestListResultSink[String]
Error:(243, 36) not found: type TestListResultSink
    val sideOutputResultSink = new TestListResultSink[String]
Error:(289, 26) not found: type TestListResultSink
    val resultSink = new TestListResultSink[String]
Error:(290, 36) not found: type TestListResultSink
    val sideOutputResultSink = new TestListResultSink[String]


1 commentaires

Quelqu'un pourrait-il aider à jeter un coup d'œil? Merci


3 Réponses :


0
votes

Si je recherche TestListResultSink sur GitHub.com, je le trouve ici . Cela me montre que c'est dans le module flink-tests . L'avez-vous inclus dans votre configuration IntelliJ?


1 commentaires

Merci @kkrugler. Oui, j'ai la classe, quand je clone le dépôt, tout est récupéré dans ma machine locale.



0
votes

J'ai finalement lancé org.apache.flink.examples.scala.wordcount.WordCount dans IntelliJ, mais ce n'était pas facile. J'ai essayé un tas de choses, mais je pense que c'est le chemin qui a conduit au succès:

  1. a vérifié la branche release-1.7 (cela n'a probablement pas d'importance, mais je voulais être sûr que j'étais sur un ensemble de code bien testé)
  2. a construit l'ensemble du projet sur la ligne de commande, via mvn clean package -DskipTests
  3. a fait un Invalidate Caches / Restart dans IntelliJ (j'ai continué à recevoir des erreurs pendant la construction du projet dans IntelliJ jusqu'à ce que je fasse cela)
  4. Créer un projet (dans IntelliJ)
  5. a exécuté org.apache.flink.examples.scala.wordcount.WordCount et org.apache.flink.streaming.scala.examples.wordcount.WordCount

FWIW, les versions binaires Flink sont livrées avec des fichiers jar pour certains des exemples, qui peuvent être exécutés sur un cluster sans avoir à compiler quoi que ce soit. C'est un moyen plus simple de faire fonctionner quelque chose. Les détails sont ici .


2 commentaires

Merci @David. Je suis également capable d'exécuter org.apache.flink.examples.scala.wordcount.WordCount sans aucune configuration spéciale après avoir ouvert le projet dans IJ. Le problème que j'ai mentionné dans la question concerne l'exécution du nombre de mots en mode streaming: org.apache.flink.streaming.scala.examples.wordcount.WordCoun‌ t


Désolé, j'ai croisé mes fils, @Tom, mais je suis également capable d'exécuter org.apache.flink.streaming.scala.examples.wordcount.WordCoun‌ t maintenant que j'ai nettoyé et construit le projet comme décrit ci-dessus.



0
votes

essayez de créer votre projet, puis exécutez l'exemple wordcount!

Paquet propre mvn -DskipTests


0 commentaires