Class ReadSpannerSchema

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

    public class ReadSpannerSchema
    extends org.apache.beam.sdk.transforms.DoFn<java.lang.Void,​SpannerSchema>
    This DoFn reads Cloud Spanner 'information_schema.*' tables to build the SpannerSchema.
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.apache.beam.sdk.transforms.DoFn

        org.apache.beam.sdk.transforms.DoFn.AlwaysFetched, org.apache.beam.sdk.transforms.DoFn.BoundedPerElement, org.apache.beam.sdk.transforms.DoFn.BundleFinalizer, org.apache.beam.sdk.transforms.DoFn.Element, org.apache.beam.sdk.transforms.DoFn.FieldAccess, org.apache.beam.sdk.transforms.DoFn.FinishBundle, org.apache.beam.sdk.transforms.DoFn.FinishBundleContext, org.apache.beam.sdk.transforms.DoFn.GetInitialRestriction, org.apache.beam.sdk.transforms.DoFn.GetInitialWatermarkEstimatorState, org.apache.beam.sdk.transforms.DoFn.GetRestrictionCoder, org.apache.beam.sdk.transforms.DoFn.GetSize, org.apache.beam.sdk.transforms.DoFn.GetWatermarkEstimatorStateCoder, org.apache.beam.sdk.transforms.DoFn.Key, org.apache.beam.sdk.transforms.DoFn.MultiOutputReceiver, org.apache.beam.sdk.transforms.DoFn.NewTracker, org.apache.beam.sdk.transforms.DoFn.NewWatermarkEstimator, org.apache.beam.sdk.transforms.DoFn.OnTimer, org.apache.beam.sdk.transforms.DoFn.OnTimerContext, org.apache.beam.sdk.transforms.DoFn.OnTimerFamily, org.apache.beam.sdk.transforms.DoFn.OnWindowExpiration, org.apache.beam.sdk.transforms.DoFn.OnWindowExpirationContext, org.apache.beam.sdk.transforms.DoFn.OutputReceiver<T extends java.lang.Object>, org.apache.beam.sdk.transforms.DoFn.ProcessContext, org.apache.beam.sdk.transforms.DoFn.ProcessContinuation, org.apache.beam.sdk.transforms.DoFn.ProcessElement, org.apache.beam.sdk.transforms.DoFn.RequiresStableInput, org.apache.beam.sdk.transforms.DoFn.RequiresTimeSortedInput, org.apache.beam.sdk.transforms.DoFn.Restriction, org.apache.beam.sdk.transforms.DoFn.Setup, org.apache.beam.sdk.transforms.DoFn.SideInput, org.apache.beam.sdk.transforms.DoFn.SplitRestriction, org.apache.beam.sdk.transforms.DoFn.StartBundle, org.apache.beam.sdk.transforms.DoFn.StartBundleContext, org.apache.beam.sdk.transforms.DoFn.StateId, org.apache.beam.sdk.transforms.DoFn.Teardown, org.apache.beam.sdk.transforms.DoFn.TimerFamily, org.apache.beam.sdk.transforms.DoFn.TimerId, org.apache.beam.sdk.transforms.DoFn.Timestamp, org.apache.beam.sdk.transforms.DoFn.TruncateRestriction, org.apache.beam.sdk.transforms.DoFn.UnboundedPerElement, org.apache.beam.sdk.transforms.DoFn.WatermarkEstimatorState, org.apache.beam.sdk.transforms.DoFn.WindowedContext
    • Constructor Summary

      Constructors 
      Constructor Description
      ReadSpannerSchema​(SpannerConfig config, org.apache.beam.sdk.values.PCollectionView<com.google.cloud.spanner.Dialect> dialectView)
      Constructor for creating an instance of the ReadSpannerSchema class.
      ReadSpannerSchema​(SpannerConfig config, org.apache.beam.sdk.values.PCollectionView<com.google.cloud.spanner.Dialect> dialectView, java.util.Set<java.lang.String> allowedTableNames)
      Constructor for creating an instance of the ReadSpannerSchema class.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void processElement​(org.apache.beam.sdk.transforms.DoFn.ProcessContext c)  
      void setup()  
      void teardown()  
      • Methods inherited from class org.apache.beam.sdk.transforms.DoFn

        getAllowedTimestampSkew, getInputTypeDescriptor, getOutputTypeDescriptor, populateDisplayData, prepareForProcessing
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ReadSpannerSchema

        public ReadSpannerSchema​(SpannerConfig config,
                                 org.apache.beam.sdk.values.PCollectionView<com.google.cloud.spanner.Dialect> dialectView)
        Constructor for creating an instance of the ReadSpannerSchema class. If no {@param allowedTableNames} is passed, every single table is allowed.
        Parameters:
        config - The SpannerConfig object that contains the configuration for accessing the Spanner database.
        dialectView - A PCollectionView object that holds a Dialect object for the database dialect to use for reading the Spanner schema.
      • ReadSpannerSchema

        public ReadSpannerSchema​(SpannerConfig config,
                                 org.apache.beam.sdk.values.PCollectionView<com.google.cloud.spanner.Dialect> dialectView,
                                 java.util.Set<java.lang.String> allowedTableNames)
        Constructor for creating an instance of the ReadSpannerSchema class.
        Parameters:
        config - The SpannerConfig object that contains the configuration for accessing the Spanner database.
        dialectView - A PCollectionView object that holds a Dialect object for the database dialect to use for reading the Spanner schema.
        allowedTableNames - A set of allowed table names to be used when reading the Spanner schema.
    • Method Detail

      • setup

        @Setup
        public void setup()
                   throws java.lang.Exception
        Throws:
        java.lang.Exception
      • teardown

        @Teardown
        public void teardown()
                      throws java.lang.Exception
        Throws:
        java.lang.Exception
      • processElement

        @ProcessElement
        public void processElement​(org.apache.beam.sdk.transforms.DoFn.ProcessContext c)
                            throws java.lang.Exception
        Throws:
        java.lang.Exception