2017-10-08 1 views
1

Ich versuche eine sehr einfache Beam-Pipeline zu erstellen, die eine PubSub-Nachricht aufnimmt und in BigQuery schreibt. Die Nachricht kommt als String und ich muss sie in eine TableRow konvertieren, um sie in BigQuery zu schreiben. Ich, für das Leben von mir, kann keinen einfachen Weg finden, das zu tun. Mein Tisch ist an dieser Stelle nur eine Spalte. Irgendwelche Empfehlungen?Wie konvertiert man PCollection von Strings zu TableRows?

+0

Sie Schwierigkeiten haben, eine Funktion mit dem Schreiben eines einzelnen String zu einem TableRow, oder mit der Anwendung dieser Funktion auf einen PCollection zu konvertieren PCollection zu erhalten ? – jkff

+0

Das ehemalige. Ich habe herausgefunden, wie man die Funktion benutzt, um die Transformation anzuwenden ... Ich kann die Funktion selbst nicht herausfinden. –

+0

Haben Sie sich das Beispiel im Javadoc von BigQueryIO.write() angeschaut? Https://github.com/apache/beam/blob/master/sdks/java/io/google-cloud-platform/src/main/java/ org/apache/beam/sdk/io/gcp/bigquery/BigQueryIO.java # L946? Es ist im Grunde nur "new TableRow(). Set (" columnName ", Wert) .set (" otherColumn ", Wert)" usw. – jkff

Antwort

2

Werfen Sie einen Blick auf das Beispiel in javadoc of BigQueryIO.write().

Die Syntax ist: new TableRow().set("columnName", value).set("otherColumn", value) usw.

Verwandte Themen