Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google云数据流使用什么java运行时?java8还是java11_Java_Runtime_Google Cloud Dataflow_Apache Beam - Fatal编程技术网

Google云数据流使用什么java运行时?java8还是java11

Google云数据流使用什么java运行时?java8还是java11,java,runtime,google-cloud-dataflow,apache-beam,Java,Runtime,Google Cloud Dataflow,Apache Beam,谷歌云数据流是基于ApacheBeam的,而beam并不正式支持java11。 但是当我在GCP上运行一个数据流作业并检查该作业作为工作线程使用的vm实例时。 我发现容器映像是“gcr.io/cloud dataflow/v1beta3/beam-java11-batch:beam-2.23.0”。 那么,在运行数据流时,数据流是否使用java11作为java运行时? 为什么不使用java8呢? 有虫子会有风险吗 “规格”:{ “容器”:[{ “args”:[“--physmem_limit_p

谷歌云数据流是基于ApacheBeam的,而beam并不正式支持java11。 但是当我在GCP上运行一个数据流作业并检查该作业作为工作线程使用的vm实例时。 我发现容器映像是“gcr.io/cloud dataflow/v1beta3/beam-java11-batch:beam-2.23.0”。 那么,在运行数据流时,数据流是否使用java11作为java运行时? 为什么不使用java8呢? 有虫子会有风险吗

“规格”:{ “容器”:[{ “args”:[“--physmem_limit_pct=70”、“--log_file=/var/log/dataflow/boot json.log”、“--log_dir=/var/log/dataflow”、“--work_dir=/var/opt/google/dataflow”、“--tmp_dir=/var/opt/google/tmp”、“--endpoint=https://dataflow.googleapis.com/" ], “图像”:“gcr.io/cloud dataflow/v1beta3/beam-java11-batch:beam-2.23.0”,

“Dataflow Runner”(Apache Beam的一部分,它将Beam管道转换为Dataflow的表示并提交作业)检测您用于提交作业的Java版本,并尝试匹配它。因此,如果您使用Java 11启动管道,则选择的工作程序将是Java 11


您可以通过传递
--workerHarnessContainerImage
标志来手动选择容器。这是不受“支持”的,因为它很容易导致作业以数据流无法控制的方式失败。

我认为您应该问Google这个问题。如果您(真的)是这样的话关注并想要一个实用的解决方案,请查看早期版本。从2.17.0 SDK开始的任何版本…从现在开始。尽管一些版本将在2021年初被弃用。来源:FWIW-软件总是有漏洞的风险。官方支持并不意味着“没有漏洞”"。谢谢。我创建了一个数据流模板,并在云函数中启动了它。云函数的运行时是java11,不能选择java8。因此,如果不使用不受支持的workerHarnessContainerImage标志,就无法将数据流的运行时更改为java8。对吗?没错。您可以在此处浏览代码:还有环境将由创建模板时使用的JDK决定。