Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Abfragen einer relationalen Datenbank über Google DataFlow Transformer

Ja, es ist möglich. Sie könnten Ihr Connection-Objekt transient machen, sodass es nicht serialisiert wird, und es einmal pro Bundle über startBundle erstellen Methode. Sobald alle Elemente im Bündel verarbeitet sind, kann die Verbindung durch finishBundle geschlossen werden Methode.

class MyDoFn extends DoFn<X, Y> {
  private transient Connection jdbc;

  @Setup
  public void setup(Context c) {
    jdbc = // Create connection
  }

  @ProcessElement
  public void processElement(ProcessContext c) {
    // query database
  }

  @Teardown
  public void tearDown(Context c) {
    // close connection
  }
}