0

私は、Apache BeamがWindows AzureストレージBLOBファイル(wasb)IOをサポートしているのだろうかと思います。まだサポートはありますか?Apache BeamでAzure Blobをサポートしていますか?

Azure Sparkクラスタでジョブを実行するためにApache Beamアプリケーションをデプロイしたので、基本的に、そのスパーククラスタを持つ関連するストレージコンテナからのIO wasbファイルは不可能です。代替ソリューションはありますか?

コンテキスト:Azure Spark ClusterでWordCount exampleを実行しようとしています。既にhereが私を助けると信じているように、いくつかのコンポーネントを設定していました。

final SparkPipelineOptions options = PipelineOptionsFactory.create().as(SparkPipelineOptions.class); 

options.setAppName("WordCountExample"); 
options.setRunner(SparkRunner.class); 
options.setSparkMaster("yarn"); 
JavaSparkContext context = new JavaSparkContext(); 
Configuration conf = context.hadoopConfiguration(); 
conf.set("fs.azure", "org.apache.hadoop.fs.azure.NativeAzureFileSystem"); 
conf.set("fs.azure.account.key.<storage-account>.blob.core.windows.net", 
     "<key>"); 
options.setProvidedSparkContext(context); 
Pipeline pipeline = Pipeline.create(options); 

しかし残念ながら、私は次のエラーで終了しておく::以下は、私はHadoopの構成を設定しています私のコードの一部である

java.lang.IllegalStateException: Failed to validate wasb://<storage-container>@<storage-account>.blob.core.windows.net/user/spark/kinglear.txt 
at org.apache.beam.sdk.io.TextIO$Read$Bound.apply(TextIO.java:288) 
at org.apache.beam.sdk.io.TextIO$Read$Bound.apply(TextIO.java:195) 
at org.apache.beam.sdk.runners.PipelineRunner.apply(PipelineRunner.java:76) 
at org.apache.beam.runners.spark.SparkRunner.apply(SparkRunner.java:129) 
at org.apache.beam.sdk.Pipeline.applyInternal(Pipeline.java:400) 
at org.apache.beam.sdk.Pipeline.applyTransform(Pipeline.java:323) 
at org.apache.beam.sdk.values.PBegin.apply(PBegin.java:58) 
at org.apache.beam.sdk.Pipeline.apply(Pipeline.java:173) 
at spark.example.WordCount.main(WordCount.java:47) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:498) 
at org.apache.spark.deploy.yarn.ApplicationMaster$$anon$2.run(ApplicationMaster.scala:627) 
Caused by: java.io.IOException: Unable to find handler for wasb://<storage-container>@<storage-account>.blob.core.windows.net/user/spark/kinglear.txt 
at org.apache.beam.sdk.util.IOChannelUtils.getFactory(IOChannelUtils.java:187) 
at org.apache.beam.sdk.io.TextIO$Read$Bound.apply(TextIO.java:283) 
... 13 more 

私は、ApacheのためにカスタマイズされたIOの実装を考えていましたAzureストレージBLOBの場合、この場合のビームの場合は、解決策として、それに来て、私は別の解決策だ場合、コミュニティに確認したいと思います。

答えて

2

Apache BeamにはWindows Azure Storage Blob(WASB)の組み込みコネクタがありません

HadoopFileSystemのサポートを追加するために、Apache Beamプロジェクトに積極的に取り組んでいます。私はWASBがhadoop-azure moduleHadoopFileSystemのコネクタを持っていると信じています。これにより、間接的にWASBをBeamで利用できるようになります。これは、最も簡単な経路である可能性が高く、すぐに準備する必要があります。

ここで、BeamのWASBをネイティブサポートすることは素晴らしいことです。これは、別のレベルのパフォーマンスを可能にし、実装するのが比較的簡単であるはずです。私が知っている限り、誰もそれに積極的に取り組んでいるわけではありませんが、これはプロジェクトにとってすばらしい貢献です! (あなたが貢献で個人的に興味がある場合は、お問い合わせください!)

+2

は(https://beam.apache.org/get-started/support/)さんは、Apacheビームの[開発者メーリングリスト]を使用してみましょう。そして、私が求めることができる場合は、上記のあなたのコメントから、私のメールアドレスを削除してください - あなたが知っている、クローラと、そのような;-)感謝を。 –

関連する問題