Ich weiß, dass es möglich ist, zu Beginn zwei Abfragen mit PCollections, KVs und CoGbkResult zu erstellen, aber Sie müssen Ihre DatastoreIO.Reads außerhalb von ParDos/DoFns angeben. Ist es möglich, so etwas zu tun:Ist es möglich, eine andere DatastoreV1.Read in einem aktuell ausgeführten Pipeline zu schaffen?
Pipeline pipeline = Pipeline.create(options);
PubsubIO.Read.Bound<String> pubsub = PubsubIO.Read.named("ReadFromPubsub")
.subscription(subscriptionPath);
pipeline.apply(pubsub).apply("Query DB with UserId" , ParDo.of(new DoFn<String, String>() {
@Override
public void processElement(ProcessContext c) throws Exception {
String userId = c.element().toString();
//Query database using userId....
}
}));
pipeline.run();
Können Sie ein Beispiel für die Abfrage der Datenbank innerhalb des ParDo bereitstellen? –
Ich weiß nicht, was genau Sie mit der Abfrage tun möchten. Aber es ist einfach. Verwenden Sie einfach die Client-Bibliothek und rufen Sie die API auf. https://cloud.google.com/datastore/docs/datastore-api-tutorial –
Habe hier einen Blick, wo ich die Natural Language API aus meinem 'ParDo' nennen. Es ist das gleiche Prinzip. https://shinesolutions.com/2016/12/20/analysing-stack-overflow-comment-sentiment-using-google-cloud-platform/ –