Google cloud dataflow 在谷歌云数据流服务上执行作业需要什么访问谷歌云存储?

Google cloud dataflow 在谷歌云数据流服务上执行作业需要什么访问谷歌云存储?,google-cloud-dataflow,Google Cloud Dataflow,下面的答案包括对以下常见问题的回答 为什么在数据流上执行作业需要云存储 服务 我可以以只读方式访问云存储来执行作业吗 每个数据流作业都将云存储用于两个目的: 暂存位置是Dataflow SDK上载执行作业所需的JAR的位置。数据流服务需要对暂存位置进行读取访问 SDK需要写入登台访问权限才能上载包含作业代码的JAR。但是,如果所有JAR都已以当前形式暂存,SDK可以使用只读访问执行作业 请注意,暂存文件在作业之间保持不变 临时位置由数据流服务在作业执行期间用于临时存储。该服务需要对临时位置进行

下面的答案包括对以下常见问题的回答

  • 为什么在数据流上执行作业需要云存储 服务
  • 我可以以只读方式访问云存储来执行作业吗

每个数据流作业都将云存储用于两个目的:

  • 暂存位置是Dataflow SDK上载执行作业所需的JAR的位置。数据流服务需要对暂存位置进行读取访问

    SDK需要写入登台访问权限才能上载包含作业代码的JAR。但是,如果所有JAR都已以当前形式暂存,SDK可以使用只读访问执行作业

    请注意,暂存文件在作业之间保持不变

  • 临时位置由数据流服务在作业执行期间用于临时存储。该服务需要对临时位置进行写入访问

    作业成功时删除临时存储

  • 暂存位置临时位置均通过以下方式控制:。注意,如果只指定了这两个位置中的一个,那么数据流将为这两个位置使用相同的路径

    现在,假设您之前已将所有JAR上载到暂存位置,对暂存位置具有只读访问权限的用户应该能够执行作业,只要她指定了一个单独的、可写的临时位置。以下示例命令将运行WordCount:

    java -cp your_bundled_jar com.google.cloud.dataflow.examples.WordCount 
        --project=PROJECT --runner=BlockingDataflowPipelineRunner
        --stagingLocation=gs://READONLY-BUCKET/staging
        --tempLocation=gs:/WRITABLE-BUCKET/temp
        --output=gs://WRITABLE-BUCKET/output
    
    那么,你想把数据保存在哪里?