带有BeamIOError

时间:2019-05-09 00:23:53

标签: python apache-flink apache-beam

我正在尝试使用PortableRunner通过Docker通过SDK线束/作业服务器在Apache的Flink上运行Apache Beam Python单词计数示例。

  1. 使用./gradlew -p sdks/python/container docker构建SDK线束容器。但是当泊坞窗拉取创建的图像时,会出现以下错误:

      

    使用默认标签:最新   来自守护程序的错误响应:获取https:// $ userId-docker-   apache.bintray.io/v2/:   x509:证书对* .bintray.io,bintray.io有效,而不对$ userId-docker-有效   apache.bintray.io

  2. 使用./gradlew beam-runners-flink_2.11-job-server:runShadow成功启动了Flink便携式Jobservice端点。

但是当尝试通过PortableRunner使用以下命令运行wordcount示例时,

python -m apache_beam.examples.wordcount --input=local_input_file --output=local_output_file --job_endpoint=localhost:8099 --experiments beam_fn_api --runner=PortableRunner

它显示以下错误:

  

IOError如“ RuntimeError:IOError:[Errno 2]”   目录:   '/beam-temp-output-b6d55cb671ef11e9be2f025000000001/3ce015aa-78ee-4bfa-be17-120de259e690.output'   [在运行'write / Write / WriteImpl / FinalizeWrite'时]”

使用DirectRunner而不是PortableRunner可以正常运行! 关于我如何通过Docker使单词计数与PortableRunner一起使用的任何提示均表示赞赏。

2 个答案:

答案 0 :(得分:0)

您是否尝试指定存储库名称并从那里拉出? (通过使用-Pdocker-repository-root)

类似这样的东西:

“。/gradlew -Pdocker-repository-root = gcr.io / SOME_NAME_HERE -p sdks / go / container docker”

答案 1 :(得分:0)

我刚刚遇到了同样的问题。试试这个:

./gradlew docker

相关文档here