DirectRunner経由でApache Beamを使用してWindowsでWordCountプログラムを実行しています。出力ファイルが一時フォルダ(src/main/resources /の下)に作成されています。出力ファイルが失敗しています。以下 は、コードスニペットです:Apache Beamのファイルに書き込む
p.apply("ReadMyFile", TextIO.read().from("src/main/resources/input.txt"))
.apply(Regex.split(" "))
.apply(Count.<String>perElement())
.apply(ToString.elements())
.apply(TextIO.write().to("src/main/resources/output.txt"));
私は、出力ディレクトリ/ファイルのためにそれが期待する形式を教えてください おかげで、事前に
以下のエラーです: は、例外を追加します。java:によって発生します。 lang.IllegalStateException:org.apache.beam.sdk.io.FileSystems.getFileSystemInternal(FileSystems.java:447)で のレジストラを見つけることができません。 at org.apache.beam.sdk.io.FileSystems.match(FileSystems。 java:111) at org.apache.beam.sdk.io.FileSystems.matchResources(FileSystems.java:174) at org.apache.beam.sdk.io.FileSystems.delete(FileSystems.java:321) at org.apache.beam.sdk.io.FileBasedSink $ Writer.cleanup(FileBasedSink.java:905) at org。 apache.beam.sdk.io.WriteFiles $ WriteShardedBundles.processElement(WriteFiles.java:376)
プログラムが失敗したと言うときは、必ずエラーの競合印刷出力を含めてください。あなたのプログラムがうまくいかなかったことを知っているだけでは、あなたがそれを解決するのに十分ではありません。 – jkff
追加例外:java.lang.IllegalStateException:によって引き起こさorg.apache.beamでorg.apache.beam.sdk.io.FileSystems.getFileSystemInternalにおけるI \t(FileSystems.java:447) \tためのレジストラを見つけることができません.sdk.io.FileSystems.match(FileSystems.java:111) \t org.apache.beam.sdk.io.FileSystems.matchResources(FileSystems.java:174) \t at org.apache.beam.sdk.io .FileSystems.delete(FileSystems.java:321) \t(org.apache.beam.sdk.io.FileBasedSink)$ Writer.cleanup(FileBasedSink.java:905) \t at org.apache.beam.sdk.io.WriteFiles $ WriteShardedBundles.processElement(WriteFiles.java:376) –
私は質問を更新しましたエラーからプリントアウトされています。ありがとう –