Class JdbcIO.ReadRows

  • All Implemented Interfaces:
    java.io.Serializable, org.apache.beam.sdk.transforms.display.HasDisplayData
    Enclosing class:
    JdbcIO

    public abstract static class JdbcIO.ReadRows
    extends org.apache.beam.sdk.transforms.PTransform<org.apache.beam.sdk.values.PBegin,​org.apache.beam.sdk.values.PCollection<org.apache.beam.sdk.values.Row>>
    Implementation of JdbcIO.readRows().
    See Also:
    Serialized Form
    • Constructor Detail

      • ReadRows

        public ReadRows()
    • Method Detail

      • withDataSourceProviderFn

        public JdbcIO.ReadRows withDataSourceProviderFn​(org.apache.beam.sdk.transforms.SerializableFunction<java.lang.Void,​javax.sql.DataSource> dataSourceProviderFn)
      • withQuery

        public JdbcIO.ReadRows withQuery​(org.apache.beam.sdk.options.ValueProvider<java.lang.String> query)
      • withFetchSize

        public JdbcIO.ReadRows withFetchSize​(int fetchSize)
        This method is used to set the size of the data that is going to be fetched and loaded in memory per every database call. Please refer to: Statement.setFetchSize(int) It should ONLY be used if the default value throws memory errors.
      • withOutputParallelization

        public JdbcIO.ReadRows withOutputParallelization​(boolean outputParallelization)
        Whether to reshuffle the resulting PCollection so results are distributed to all workers. The default is to parallelize and should only be changed if this is known to be unnecessary.
      • withDisableAutoCommit

        public JdbcIO.ReadRows withDisableAutoCommit​(boolean disableAutoCommit)
        Whether to disable auto commit on read. Defaults to true if not provided. The need for this config varies depending on the database platform. Informix requires this to be set to false while Postgres requires this to be set to true.
      • expand

        public org.apache.beam.sdk.values.PCollection<org.apache.beam.sdk.values.Row> expand​(org.apache.beam.sdk.values.PBegin input)
        Specified by:
        expand in class org.apache.beam.sdk.transforms.PTransform<org.apache.beam.sdk.values.PBegin,​org.apache.beam.sdk.values.PCollection<org.apache.beam.sdk.values.Row>>
      • inferBeamSchema

        public static org.apache.beam.sdk.schemas.Schema inferBeamSchema​(javax.sql.DataSource ds,
                                                                         java.lang.String query)
      • populateDisplayData

        public void populateDisplayData​(org.apache.beam.sdk.transforms.display.DisplayData.Builder builder)
        Specified by:
        populateDisplayData in interface org.apache.beam.sdk.transforms.display.HasDisplayData
        Overrides:
        populateDisplayData in class org.apache.beam.sdk.transforms.PTransform<org.apache.beam.sdk.values.PBegin,​org.apache.beam.sdk.values.PCollection<org.apache.beam.sdk.values.Row>>