Версия WordCount для Python не работает на Flink

В CentOS (CentOS 8.0.1905 (64 бит)) я попытался запустить Python(3.6.8) версию программы WordCount на Flink(1.9), как описано здесь. Я получил ошибку, как показано ниже. Та же среда отлично работает с Java-версией программы WordCount. Что мне здесь не хватает? Любая помощь приветствуется. ошибка

$ ./bin/flink run -py examples/python/table/batch/word_count.py
Starting execution of program
org.apache.flink.client.program.OptimizerPlanEnvironment$ProgramAbortException
    at org.apache.flink.client.python.PythonDriver.main(PythonDriver.java:83)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:576)
    at org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:438)
    at org.apache.flink.client.program.ClusterClient.run(ClusterClient.java:274)
    at org.apache.flink.client.cli.CliFrontend.executeProgram(CliFrontend.java:746)
    at org.apache.flink.client.cli.CliFrontend.runProgram(CliFrontend.java:273)
    at org.apache.flink.client.cli.CliFrontend.run(CliFrontend.java:205)
    at org.apache.flink.client.cli.CliFrontend.parseParameters(CliFrontend.java:1010)
    at org.apache.flink.client.cli.CliFrontend.lambda$main$10(CliFrontend.java:1083)
    at org.apache.flink.runtime.security.NoOpSecurityContext.runSecured(NoOpSecurityContext.java:30)
    at org.apache.flink.client.cli.CliFrontend.main(CliFrontend.java:1083)

3 ответа

Спасибо Jincheng Sun за вашу поддержку и поддержку

Я переместил $FLINK_HOME/opt/python/__MACOSX на один уровень выше. Программа работала без ошибок. Поскольку я работаю в Linux, мне не нужен __MACOSX. Я просто удалю это

Я думаю, что предоставленная вами информация не указывает на основную причину. Вообще говоря, у нас есть два способа запустить пример во Flink 1.9, один - это ответ 1, представленный ранее, который заключается в установке PyFlink из исходного кода, а другой - в загрузке двоичного пакета. следующим образом:

  1. Проверьте Python python --version Лучше использовать Python 2.7.6+ для Flink 1.9.

  2. Загрузите curl -O http://mirrors.gigenet.com/apache/flink/flink-1.9.1/flink-1.9.1-bin-scala_2.11.tgztar -zxvf flink-1.9.1-bin-scala_2.11.tgz

  3. Конфигурация (необязательно) vi flink-1.9.1/conf/flink-conf.yaml -> rest.port: 4000

  4. Запустить кластер cd flink-1.9.1; bin/start-cluster.sh

  5. Запустить пример подсчета слов./bin/flink run -py examples/python/table/batch/word_count.py

Более подробную информацию можно найти здесь: https://enjoyment.cool/2020/01/19/Three-Min-Series-Run-the-Example-of-WordCount-in-PyFlink-1-9/

Надеюсь, это будет вам полезно!

Перед запуском теста вы должны собрать исходный код и установить PyFlink с помощью pip, подробности можно найти здесь: https://ci.apache.org/projects/flink/flink-docs-release-1.9/flinkDev/building.html.

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