Class PubsubLiteTableProvider

java.lang.Object
org.apache.beam.sdk.extensions.sql.meta.provider.InMemoryMetaTableProvider
org.apache.beam.sdk.extensions.sql.meta.provider.pubsublite.PubsubLiteTableProvider
All Implemented Interfaces:
TableProvider

@AutoService(TableProvider.class) public class PubsubLiteTableProvider extends InMemoryMetaTableProvider
Pub/Sub Lite table provider.

Pub/Sub Lite tables may be constructed with:


 CREATE EXTERNAL TABLE tableName(
     message_key BYTES [NOT NULL],  // optional, always present on read
     publish_timestamp TIMESTAMP [NOT NULL],  // optional, readable tables only, always present on read
     event_timestamp TIMESTAMP [NOT NULL],  // optional, null if not present in readable table, unset in message if null in writable table. NOT NULL enforces field presence on read
     attributes ARRAY<ROW<key VARCHAR, values ARRAY<BYTES>>>,  // optional, null values never present on reads or handled on writes
     payload BYTES | ROW<[INSERT SCHEMA HERE]>,
 )
 TYPE pubsublite
 // For writable tables
 LOCATION 'projects/[PROJECT]/locations/[CLOUD ZONE]/topics/[TOPIC]'
 // For readable tables
 LOCATION 'projects/[PROJECT]/locations/[CLOUD ZONE]/subscriptions/[SUBSCRIPTION]'
 TBLPROPERTIES '{
     "deadLetterQueue": "[DLQ_KIND]:[DLQ_ID]",  // optional
     "format": "[FORMAT]",  // optional
     // format params
 }'
 
  • Constructor Details

    • PubsubLiteTableProvider

      public PubsubLiteTableProvider()
  • Method Details

    • getTableType

      public String getTableType()
      Description copied from interface: TableProvider
      Gets the table type this provider handles.
    • buildBeamSqlTable

      public BeamSqlTable buildBeamSqlTable(Table table)
      Description copied from interface: TableProvider
      Build a BeamSqlTable using the given table meta info.