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

在google云平台中运行数据流时,“没有为方案gs找到文件系统”

边健
2023-03-14

我正在谷歌云平台(GCP)上运行我的谷歌数据流工作。当我在本地运行此作业时,它工作得很好,但在GCP上运行时,我得到了错误“java.lang.IllegalArgumentException:没有为scheme gs找到文件系统”。我可以访问那个google云URI,我可以将我的jar文件上传到那个URI,我还可以看到一些本地工作的临时文件。

我在GCP的工作id:

2019-08-08_21_47_27-162804342585245230(光束版本:2.12.0)

2019-08-09_16_41_15-117286978208900062(梁版本:2.14.0)

我试过2.12.0和2.14.0的beam版本,两个版本都有同样的错误。


java.lang.IllegalArgumentException: No filesystem found for scheme gs
    at org.apache.beam.sdk.io.FileSystems.getFileSystemInternal(FileSystems.java:456)
    at org.apache.beam.sdk.io.FileSystems.matchNewResource(FileSystems.java:526)
    at org.apache.beam.sdk.io.gcp.bigquery.BigQueryHelpers.resolveTempLocation(BigQueryHelpers.java:689)
    at org.apache.beam.sdk.io.gcp.bigquery.BigQuerySourceBase.extractFiles(BigQuerySourceBase.java:125)
    at org.apache.beam.sdk.io.gcp.bigquery.BigQuerySourceBase.split(BigQuerySourceBase.java:148)
    at org.apache.beam.runners.dataflow.worker.WorkerCustomSources.splitAndValidate(WorkerCustomSources.java:284)
    at org.apache.beam.runners.dataflow.worker.WorkerCustomSources.performSplitTyped(WorkerCustomSources.java:206)
    at org.apache.beam.runners.dataflow.worker.WorkerCustomSources.performSplitWithApiLimit(WorkerCustomSources.java:190)
    at org.apache.beam.runners.dataflow.worker.WorkerCustomSources.performSplit(WorkerCustomSources.java:169)
    at org.apache.beam.runners.dataflow.worker.WorkerCustomSourceOperationExecutor.execute(WorkerCustomSourceOperationExecutor.java:78)
    at org.apache.beam.runners.dataflow.worker.BatchDataflowWorker.executeWork(BatchDataflowWorker.java:412)
    at org.apache.beam.runners.dataflow.worker.BatchDataflowWorker.doWork(BatchDataflowWorker.java:381)
    at org.apache.beam.runners.dataflow.worker.BatchDataflowWorker.getAndPerformWork(BatchDataflowWorker.java:306)
    at org.apache.beam.runners.dataflow.worker.DataflowBatchWorkerHarness$WorkerThread.doWork(DataflowBatchWorkerHarness.java:135)
    at org.apache.beam.runners.dataflow.worker.DataflowBatchWorkerHarness$WorkerThread.call(DataflowBatchWorkerHarness.java:115)
    at org.apache.beam.runners.dataflow.worker.DataflowBatchWorkerHarness$WorkerThread.call(DataflowBatchWorkerHarness.java:102)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

共有3个答案

白丁雨
2023-03-14

[GOLANG]在我的案例中,它是通过应用以下导入的副作用来解决的

import (
_ "github.com/apache/beam/sdks/go/pkg/beam/io/filesystem/gcs"
_ "github.com/apache/beam/sdks/go/pkg/beam/io/filesystem/local"
_ "github.com/apache/beam/sdks/go/pkg/beam/io/filesystem/memfs"
)
寇鸿
2023-03-14

此例外还有一个原因。在尝试访问文件之前,请确保创建管道(例如流水线.create(选项))

鄢英哲
2023-03-14

这可能是由几个问题引起的,如果你构建一个捆绑所有依赖项的“胖罐子”。

  1. 您必须包含依赖关系组织 apache.beam:谷歌云平台核心才能拥有光束 GCS 文件系统。
  2. 在你的远罐中,你必须保留元- INF /服务/组织.apache.beam.sdk.io.文件系统注册ar文件与一个线组织.apache.beam.sdk.extensions.gcp.storage.GcsFileSystemRegistrar.您可以在步骤 1 的 jar 中找到此文件。您的依赖项中可能有许多同名的文件,注册不同的 Beam 文件系统。您需要配置 maven 或 gradle 以将这些内容合并为构建的一部分,否则它们将相互覆盖且无法正常工作。
 类似资料:
  • 主题中的Kafka数据可以被流式传输、消费和吸收到BigQuery/云存储中,有哪些可能的选项。 按照,是否可以将Kafka与Google cloud Dataflow一起使用 GCP自带Dataflow,它建立在Apache Beam编程模型之上。KafkaIO与Beam Pipeline一起使用是对传入数据执行实时转换的推荐方式吗? https://beam.apache.org/releas

  • 我有一个flask应用程序,它同时运行flask和flask-socketioendpoint。当我在google App engine上部署时,我意识到App engine不支持websockets。这意味着我需要为我的flask-socketio使用compute engine,并为我假设的常规flaskendpoint使用app engine。我将如何创建这两个实例,并在相互连接的同时并行运

  • 在我的新公司,我是一名数据工程师,负责构建google cloud platform(GCP)批处理ETL管道。我的团队的数据科学家最近给了我一个数据模型(用Python3.6编写的.py文件)。 数据模型有一个主函数,我可以调用它并获得一个dataframe作为输出,我打算将这个dataframe附加到一个bigquery表中。我是否可以只导入这个主函数,并使用apache beam(Dataf

  • 我试图弄清楚GCP上是否有一项服务,允许使用发布/订阅的流,并将累积的数据转储/批处理到云存储中的文件中(例如,每X分钟一次)。我知道这可以通过Dataflow实现,但如果有现成的解决方案,我会寻找更多的解决方案。 例如,这是可以使用AWS Kinesis Firehose进行的操作—纯粹在配置级别—可以告诉AWS定期或在累积数据达到一定大小时将流中累积的任何内容转储到S3上的文件。 这样做的原因

  • 我在谷歌云平台上托管了一个基本的网络应用程序,我注意到在过去的几个月里,我的成本在慢慢上升。在过去的30天里,它真的加速了(幸运的是,在一个很小的基础上--我仍然在每天不到2美元的水平上滴答作响)。我已经几个月没有添加任何新的功能或客户端了,所以这有点令人惊讶。 我的第一直觉是交通增加了。我在App Engine仪表板上看不到类似的内容,但我放入了一堆优化,并大幅降低了QPS以防万一。没有变化。

  • 与Firebase console中的Firebase Firestore一样,谷歌云平台中的Firestore中也有相同的数据,同样的,Firebase Realtime Database(json文件)在谷歌云平台中也有