I am new at dataflow, and i am trying to write some message to pub/sub when tryin to use the apply method for PubsubIO.writeStrings().to("projects/market-place-sql/topics/emisiones") and it say: []
我是dataflow的新手,我试图在pubsubIO.writeStrings()。(“projects / market-place-sql / topics / emisiones”)中使用apply方法时向pub / sub写一些消息说:[]
1 个解决方案
#1
1
The error is simply a type mismatch. The apply()
method for the Pipeline
class accepts a second parameter of the type PTransform<? super PBegin,OutputT>
.
错误只是类型不匹配。 Pipeline类的apply()方法接受PTransform <?类型的第二个参数。超级PBegin,OutputT>。
PubSubIO.writeStrings().to()
returns a PTransform<PCollection<T>,PDone>
type. Hence, the type mismatch.
PubSubIO.writeStrings()。to()返回PTransform
Based on the screenshot of the error, it looks like p
is a Pipeline
object. You'll need to first apply an input transform to the Pipeline
object, which will return a PCollection
. Then call apply()
on the PCollection
.
根据错误的屏幕截图,看起来p是一个Pipeline对象。您需要首先将输入变换应用于Pipeline对象,该对象将返回PCollection。然后在PCollection上调用apply()。
Example:
例:
p.apply("read from Pub/Sub", PubsubIO.readMessages().fromSubscription("subscription/path"))
.apply("write to Pub/Sub", PubsubIO.writeStrings().to("topic/path"));
p.run();
References: Pipeline.apply(), PCollection.apply()
参考文献:Pipeline.apply(),PCollection.apply()
#1
1
The error is simply a type mismatch. The apply()
method for the Pipeline
class accepts a second parameter of the type PTransform<? super PBegin,OutputT>
.
错误只是类型不匹配。 Pipeline类的apply()方法接受PTransform <?类型的第二个参数。超级PBegin,OutputT>。
PubSubIO.writeStrings().to()
returns a PTransform<PCollection<T>,PDone>
type. Hence, the type mismatch.
PubSubIO.writeStrings()。to()返回PTransform
Based on the screenshot of the error, it looks like p
is a Pipeline
object. You'll need to first apply an input transform to the Pipeline
object, which will return a PCollection
. Then call apply()
on the PCollection
.
根据错误的屏幕截图,看起来p是一个Pipeline对象。您需要首先将输入变换应用于Pipeline对象,该对象将返回PCollection。然后在PCollection上调用apply()。
Example:
例:
p.apply("read from Pub/Sub", PubsubIO.readMessages().fromSubscription("subscription/path"))
.apply("write to Pub/Sub", PubsubIO.writeStrings().to("topic/path"));
p.run();
References: Pipeline.apply(), PCollection.apply()
参考文献:Pipeline.apply(),PCollection.apply()