0

PubsubソースのSDK 1.9.1にはPubsubIO.Read.maxReadTimePubsubIO.Read.maxNumRecordsのメソッドがあります。これらのメソッドは、pubsubメッセージからバインドされたコレクションを作成することを許可し、バッチモードでDataflowパイプラインを開始することができました。バッチを使用してDataFlowでPubSubから読み取る方法

Dataflow SDK 2.1を使用して、どのようにsimillarのことを達成できましたか?バッチモードを使用してデータフローパイプラインのPubsubからどのように読み込むことができますか?

+0

あなたはこれをチェックしていますか? https://beam.apache.org/documentation/sdks/javadoc/2.1.0/index.html?org/apache/beam/sdk/io/Read.Unbounded.html私は最近Scioを使用していますが、 "純粋な"ビームでよく覚えていますが、それはあなたが探しているものに似ているようです。しかし、それはPubsubIO.Read – MaC

+0

の後に置かなければならないようです。確かにそれはhigillly simillarに見えますが、これはパイプラインにどのように適用できますか?これを使用する唯一の方法は、SDKに深く埋め込まれているソースにアクセスすることです。また、適用後に失われてしまいます。 PubsubIO.Readを提供している開発者が使用していた可能性がありますが、PubsubIO.Read APIを使用している開発者がどのように使用できるのでしょうか? –

答えて

0

残念ながら、私はSDKの新しいバージョンではそれをサポートしていませんでした。私がしたのは、のmaxReadTimeまたはmaxNumRecordsのPubSubから読み込んだDoFnを実装してメッセージを返すことでした。

これは、SDKの以前のバージョンで行ったことでした。 PubsubReaderクラスを確認できます。あなたはこのようにそれを呼び出す必要があります

pipeline.begin() 
      .apply(Create.of((Void) null)).setCoder(VoidCoder.of()) 
      .apply(ParDo. of(new MyPubsubReader(maxNumRecords, maxReadTime)); 
      .setCoder(coder); 
関連する問題