当前位置: 首页 > 知识库问答 >
问题:

数据流Flex Runner启动时失败

汪玮
2023-03-14

我创建了一个简单的光束管道,如下所示

with beam.Pipeline(options=options) as pipeline: 
   (pipeline | 'readFile' >> ReadFromText(..)
             | 'parseJson' >> beam.Map(json.loads)
             | 'convertToRow' >> beam.Map(lambda x: beam.Row(a=str(x['a'])))
             | 'sql' >> SqlTransform(""" SELECT a FROM PCOLLECTION """)
             | 'print' >> beam.Map(print)
   )

FileNotFoundError: [Error 2] No such file or directory: 'java': 'java'

我(非常有限)的理解是,作为flex模板的一部分创建的docker映像只是在Dataflow上启动作业,所以不太明白它为什么抱怨java目录不存在。任何线索都将不胜感激。

共有1个答案

梁晋鹏
2023-03-14

看起来您需要将java安装到容器映像中,向DockerFile添加类似https://github.com/dockerFile/java/blob/master/openjdk-7-jre/dockerFile#l11的内容。

 类似资料:
  • 我们的公司策略要求启用策略约束“compute.requireshieldevm”。但是,运行云数据流作业时,无法创建工作进程,错误如下: 约束/计算。项目项目违反了RequireshieldVM/************。启动磁盘的“初始化”参数。source_image'字段指定非屏蔽映像:projects/dataflow service producer prod/global/image

  • 从文件夹内部执行“npm start”命令时出现以下错误/ 我在互联网上尝试了多种解决方案,但都无效。

  • 我当前正尝试将Dataflow与pub/sub一起使用,但出现以下错误: 工作流失败。原因:(6E74E8516C0638CA):刷新凭据时出现问题。请检查:1。已为项目启用Dataflow API。2.您的项目有一个机器人服务帐户:service-[project number]@dataflow-service-producer-prod.iam.gserviceAccount.com应该可以

  • 我们的Google Cloud数据流管道程序调用了一些动态链接到*的库。所以要运行它,我需要设置linux环境变量LD_LIBRARY_PATH。有一种方法可以做到这一点:https://groups.google.com/forum/#!主题/综合。java。程序员/LOu18 OWAVM,但我想知道是否有一种方法可以在执行管道之前使用一些运行shell脚本的作业来实现这一点?

  • 我用apache-beam做了几个测试,使用了自动缩放工作人员和1个工作人员,每次我看到启动时间大约为2分钟。是否有可能缩短启动时间,如果有,建议哪些最佳做法来缩短启动时间?

  • Spring Boot版本为1.5.6 使用的数据库是SQL Server2016,它也是在docker(windows容器)上。 问题:每当我重新启动SQL DB容器时,应用程序开始给出这个错误。 任何想法可以做什么来解决这个问题。 多谢了。